JPP: Added some flags and todo list for cheese odeur number refactoring
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 48s
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 48s
This commit is contained in:
parent
36a6929aee
commit
9f023a7855
14 changed files with 168 additions and 19 deletions
|
|
@ -47,7 +47,8 @@ import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ᣗᐤᣖᓫ.RopeLadder
|
||||||
/// @version ©Δ∞ 仙上主天
|
/// @version ©Δ∞ 仙上主天
|
||||||
public class ArrayLadderOpen<E> implements LadderOpen<E>,RopeIterable<E> {
|
public class ArrayLadderOpen<E> implements LadderOpen<E>,RopeIterable<E> {
|
||||||
|
|
||||||
// TODO: Rewrite to Arena based array
|
// TODO: Rewrite to Arena based array see;
|
||||||
|
// https://builds.shipilev.net/patch-openjdk-babylon-code-reflection/hat/optkl/src/main/java/optkl/ifacemapper/
|
||||||
private final List<E> data;
|
private final List<E> data;
|
||||||
|
|
||||||
public ArrayLadderOpen() {
|
public ArrayLadderOpen() {
|
||||||
|
|
|
||||||
|
|
@ -29,13 +29,17 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
||||||
|
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagCarry;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagOne;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagOne;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||||
|
|
||||||
/// Cheese odeur number smell.
|
/// Cheese odeur number smell.
|
||||||
///
|
///
|
||||||
|
/// A true IBM number specification has the smell of a cheese cutter.
|
||||||
|
///
|
||||||
/// @author للَّٰهِilLצسُو
|
/// @author للَّٰهِilLצسُو
|
||||||
/// @version ©Δ∞ 仙上主天s
|
/// @version ©Δ∞ 仙上主天s
|
||||||
/// @param <T> The bone to eat.
|
/// @param <T> The bone to eat.
|
||||||
|
|
@ -44,9 +48,11 @@ public sealed interface KaasOdeur<T extends KaasOdeur<T, N>, N>
|
||||||
KaasTBone<T>,
|
KaasTBone<T>,
|
||||||
KaasTBoneMaterializer<T, N>
|
KaasTBoneMaterializer<T, N>
|
||||||
permits
|
permits
|
||||||
|
KaasOdeurFlagCarry,
|
||||||
KaasOdeurFlagInfinity,
|
KaasOdeurFlagInfinity,
|
||||||
KaasOdeurFlagNaN,
|
KaasOdeurFlagNaN,
|
||||||
KaasOdeurFlagOne,
|
KaasOdeurFlagOne,
|
||||||
|
KaasOdeurFlagSign,
|
||||||
KaasOdeurFlagZero,
|
KaasOdeurFlagZero,
|
||||||
KaasOdeurBineral,
|
KaasOdeurBineral,
|
||||||
KaasOdeurZahlenial,
|
KaasOdeurZahlenial,
|
||||||
|
|
@ -61,33 +67,49 @@ public sealed interface KaasOdeur<T extends KaasOdeur<T, N>, N>
|
||||||
/*
|
/*
|
||||||
CODENAME | MATHNAME | BLACKBOARD
|
CODENAME | MATHNAME | BLACKBOARD
|
||||||
|
|
||||||
|
TODO: redo nameing again as a "KaasOdeurRealPos2D" is a 1D inf number ....
|
||||||
|
TODO: split numbers "bounded" like "KaasOdeurZahlenBoundedTennery"
|
||||||
|
TODO: add identity interfaces for all numbers
|
||||||
|
TODO: add all math operations (in indentity "noise" stub only !!)
|
||||||
|
TODO: change numberXXX to return T not N
|
||||||
|
TODO: change numberXXX to noise stub
|
||||||
|
TODO: add full blackboard syntax "name" of number definition
|
||||||
|
TODO: split range? from base to support BigZahlen and BigReal
|
||||||
|
|
||||||
|
|
||||||
=== Block 1: Standard Number Systems;
|
=== Block 1: Standard Number Systems;
|
||||||
bineral = boolean number 0,1 = 𝔹 (Standard for Boolean domain)
|
RM: bineral = boolean number 0,1 = 𝔹 (Standard for Boolean domain)
|
||||||
zerdinal = whole number 0++ = 𝕎 (Standard mnemonic for Whole numbers)
|
RM: tennery = tenary number -1,0,1 = (tri-state)
|
||||||
rodinal = natural number 1++ = ℕ (Universal standard for Natural numbers)
|
RM: zerdinal = whole number 0++ = 𝕎 (Standard mnemonic for Whole numbers)
|
||||||
|
RM: rodinal = natural number 1++ = ℕ (Universal standard for Natural numbers)
|
||||||
|
^^ bounded variants of zahlen base
|
||||||
zahlenial = signed number -1,0,1 = ℤ (Universal standard for Integers; from German Zahlen)
|
zahlenial = signed number -1,0,1 = ℤ (Universal standard for Integers; from German Zahlen)
|
||||||
defracter = decimal fractions = 𝔻 (Standard for fraction whose denominator is a power of ten)
|
defracter = decimal fractions = 𝔻 (Standard for fraction whose denominator is a power of ten)
|
||||||
rational = rational number = ℚ (fractions, from Quotient)
|
rational = rational number = ℚ (fractions, from Quotient)
|
||||||
rational2D = rational number = ℚ̅ (fractions + 2*inf)
|
rational2D = biinf rational number = ℚ̅ (fractions + 2*inf)
|
||||||
rational4D = quadinf rational number = 𝑞ℚ̅ (fractions + 4*inf)
|
rational4D = quadinf rational number = 𝑞ℚ̅ (fractions + 4*inf)
|
||||||
real = real numbers = ℝ (Universal standard for Reals)
|
real = real numbers = ℝ (Universal standard for Reals)
|
||||||
real2D = extended real = ℝ̅ (real + 2*inf = float/double)
|
real2D = biinf real = ℝ̅ (real + 2*inf = float/double)
|
||||||
real4D = quadinf real = 𝑞ℝ̅ (real + 4*inf = choco taste)
|
real4D = quadinf real = 𝑞ℝ̅ (real + 4*inf = choco taste)
|
||||||
complex = complex number = ℂ
|
complex = complex number = ℂ
|
||||||
|
|
||||||
==== Block 2: Signed variants;
|
==== Block 2: Signed variants;
|
||||||
rationalPos = positive rational number = ℚ⁺
|
zerdinalPos = positive whole number 0,1... = 𝕎⁺
|
||||||
rationalPos2D = positive biinf rational number = ℚ̅⁺
|
zerdinalNeg = negative whole number ..-1,0 = 𝕎⁻
|
||||||
rationalPos4D = positive quadinf rational number = 𝑞ℚ̅⁺
|
rodinalPos = positive count number 1,2... = ℕ⁺
|
||||||
realPos = positive real numbers = ℝ⁺ (https://mroman42.github.io/ctlc/agda-mltt/Reals.html#%E2%84%9D%E2%81%BA)
|
rodinalNeg = negative count number .-2,-1 = ℕ⁻
|
||||||
realPos2D = positive extended real = ℝ̅⁺
|
|
||||||
realPos4D = positive quadinf real = 𝑞ℝ̅⁺
|
|
||||||
|
|
||||||
|
rationalPos = positive rational number = ℚ⁺
|
||||||
rationalNeg = negative rational number = ℚ⁻
|
rationalNeg = negative rational number = ℚ⁻
|
||||||
|
rationalPos2D = positive biinf rational number = ℚ̅⁺
|
||||||
rationalNeg2D = negative biinf rational number = ℚ̅⁻
|
rationalNeg2D = negative biinf rational number = ℚ̅⁻
|
||||||
|
rationalPos4D = positive quadinf rational number = 𝑞ℚ̅⁺
|
||||||
rationalNeg4D = negative quadinf rational number = 𝑞ℚ̅⁻
|
rationalNeg4D = negative quadinf rational number = 𝑞ℚ̅⁻
|
||||||
|
realPos = positive real numbers = ℝ⁺ (https://mroman42.github.io/ctlc/agda-mltt/Reals.html#%E2%84%9D%E2%81%BA)
|
||||||
realNeg = negative real numbers = ℝ⁻
|
realNeg = negative real numbers = ℝ⁻
|
||||||
|
realPos2D = positive extended real = ℝ̅⁺
|
||||||
realNeg2D = negative extended real = ℝ̅⁻
|
realNeg2D = negative extended real = ℝ̅⁻
|
||||||
|
realPos4D = positive quadinf real = 𝑞ℝ̅⁺
|
||||||
realNeg4D = negative quadinf real = 𝑞ℝ̅⁻
|
realNeg4D = negative quadinf real = 𝑞ℝ̅⁻
|
||||||
|
|
||||||
==== Block 3: Advanced Sets & Spaces
|
==== Block 3: Advanced Sets & Spaces
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2D;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||||
|
|
||||||
/// Cheese odeur of a signed float without infinity.
|
/// Cheese odeur of a signed float without infinity.
|
||||||
|
|
@ -40,6 +41,7 @@ public non-sealed interface KaasOdeurReal<T extends KaasOdeurReal<T, N>, N> exte
|
||||||
KaasOdeur<T, N>,
|
KaasOdeur<T, N>,
|
||||||
KaasOdeurFlagNaN<T, N>,
|
KaasOdeurFlagNaN<T, N>,
|
||||||
KaasOdeurFlagZero<T, N>,
|
KaasOdeurFlagZero<T, N>,
|
||||||
|
KaasOdeurFlagSign<T, N>,
|
||||||
KaasOdeurNumberRoot2D<T, N>,
|
KaasOdeurNumberRoot2D<T, N>,
|
||||||
KaasOdeurNumberRange2D<T, N> {
|
KaasOdeurNumberRange2D<T, N> {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOd
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||||
|
|
||||||
/// Cheese odeur of a signed float with infinity.
|
/// Cheese odeur of a signed float with infinity.
|
||||||
|
|
@ -42,6 +43,7 @@ public non-sealed interface KaasOdeurReal2D<T extends KaasOdeurReal2D<T, N>, N>
|
||||||
KaasOdeur<T, N>,
|
KaasOdeur<T, N>,
|
||||||
KaasOdeurFlagInfinity<T, N>,
|
KaasOdeurFlagInfinity<T, N>,
|
||||||
KaasOdeurFlagNaN<T, N>,
|
KaasOdeurFlagNaN<T, N>,
|
||||||
|
KaasOdeurFlagSign<T, N>,
|
||||||
KaasOdeurFlagZero<T, N>,
|
KaasOdeurFlagZero<T, N>,
|
||||||
KaasOdeurNumberRoot2D<T, N>,
|
KaasOdeurNumberRoot2D<T, N>,
|
||||||
KaasOdeurNumberInfinity2D<T, N>,
|
KaasOdeurNumberInfinity2D<T, N>,
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,10 @@
|
||||||
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
||||||
|
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagCarry;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4D;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D;
|
||||||
|
|
@ -40,8 +42,10 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOd
|
||||||
/// @version ©Δ∞ 仙上主天
|
/// @version ©Δ∞ 仙上主天
|
||||||
public non-sealed interface KaasOdeurReal4D<T extends KaasOdeurReal4D<T, N>, N> extends
|
public non-sealed interface KaasOdeurReal4D<T extends KaasOdeurReal4D<T, N>, N> extends
|
||||||
KaasOdeur<T, N>,
|
KaasOdeur<T, N>,
|
||||||
|
KaasOdeurFlagCarry<T, N>,
|
||||||
KaasOdeurFlagInfinity<T, N>,
|
KaasOdeurFlagInfinity<T, N>,
|
||||||
KaasOdeurFlagNaN<T, N>,
|
KaasOdeurFlagNaN<T, N>,
|
||||||
|
KaasOdeurFlagSign<T, N>,
|
||||||
KaasOdeurFlagZero<T, N>,
|
KaasOdeurFlagZero<T, N>,
|
||||||
KaasOdeurNumberRoot4D<T, N>,
|
KaasOdeurNumberRoot4D<T, N>,
|
||||||
KaasOdeurNumberInfinity4D<T, N>,
|
KaasOdeurNumberInfinity4D<T, N>,
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFla
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity1D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity1D;
|
||||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1D;
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1D;
|
||||||
|
|
||||||
/// Cheese odeur of a positive float with signed infinity.
|
/// Cheese odeur of a positive float with infinity.
|
||||||
///
|
///
|
||||||
/// @author للَّٰهِilLצسُو
|
/// @author للَّٰهِilLצسُو
|
||||||
/// @version ©Δ∞ 仙上主天
|
/// @version ©Δ∞ 仙上主天
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Copyright ©Δ∞ 仙上主天
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||||
|
* that the following conditions are met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||||
|
* following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||||
|
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||||
|
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
|
||||||
|
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
|
||||||
|
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
|
||||||
|
* even on air gaped systems, all information in the universe is owned by the pi creator.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||||
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||||
|
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ;
|
||||||
|
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeur;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurReal4D;
|
||||||
|
|
||||||
|
/// Cheese odeur flag carry.
|
||||||
|
///
|
||||||
|
/// @author للَّٰهِilLצسُو
|
||||||
|
/// @version ©Δ∞ 仙上主天s
|
||||||
|
/// @param <T> The bone to eat.
|
||||||
|
public sealed interface KaasOdeurFlagCarry<T extends KaasOdeurFlagZero<T, N>, N>
|
||||||
|
extends
|
||||||
|
KaasOdeur<T, N>
|
||||||
|
permits
|
||||||
|
KaasOdeurReal4D {
|
||||||
|
|
||||||
|
/// Return the bineral status of the carry.
|
||||||
|
KaasOdeurBineral<?, ?> odeurFlagCarry();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Copyright ©Δ∞ 仙上主天
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||||
|
* that the following conditions are met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||||
|
* following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||||
|
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||||
|
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
|
||||||
|
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
|
||||||
|
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
|
||||||
|
* even on air gaped systems, all information in the universe is owned by the pi creator.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||||
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||||
|
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ;
|
||||||
|
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeur;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurReal;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurReal2D;
|
||||||
|
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurReal4D;
|
||||||
|
|
||||||
|
/// Cheese odeur flag sign.
|
||||||
|
///
|
||||||
|
/// @author للَّٰهِilLצسُو
|
||||||
|
/// @version ©Δ∞ 仙上主天s
|
||||||
|
/// @param <T> The bone to eat.
|
||||||
|
public sealed interface KaasOdeurFlagSign<T extends KaasOdeurFlagZero<T, N>, N>
|
||||||
|
extends
|
||||||
|
KaasOdeur<T, N>
|
||||||
|
permits
|
||||||
|
KaasOdeurReal,
|
||||||
|
KaasOdeurReal2D,
|
||||||
|
KaasOdeurReal4D {
|
||||||
|
|
||||||
|
/// Return a bineral true for positive sign.
|
||||||
|
KaasOdeurBineral<?, ?> odeurFlagSign();
|
||||||
|
}
|
||||||
|
|
@ -75,11 +75,7 @@ public final class KaasLandSmurfX15Zerdinal implements KaasOdeurZerdinal<KaasLan
|
||||||
return IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(value);
|
return IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static public KaasLandSmurfX15Zerdinal valueOf(Long value) {
|
static public KaasLandSmurfX15Zerdinal valueOf(Number value) {
|
||||||
return valueOf(value.shortValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
static public KaasLandSmurfX15Zerdinal valueOf(Integer value) {
|
|
||||||
return valueOf(value.shortValue());
|
return valueOf(value.shortValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,12 @@ public final class KaasLandSmurfX32Real implements KaasOdeurReal<KaasLandSmurfX3
|
||||||
return KaasLandSmurfX1Bineral.valueOf(valueRaw == KaasLandSmurfX32Real2D.RAW_NAN);
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == KaasLandSmurfX32Real2D.RAW_NAN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public KaasOdeurBineral<?, ?> odeurFlagSign() {
|
||||||
|
int valueRaw = Float.floatToRawIntBits(value);
|
||||||
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == KaasLandSmurfX32Real2D.RAW_POSITIVE_ZERO || value > 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Float thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
public Float thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||||
return sign.bineralSelect(KaasLandSmurfX32Real2D.POSITIVE_ZERO, KaasLandSmurfX32Real2D.NEGATIVE_ZERO);
|
return sign.bineralSelect(KaasLandSmurfX32Real2D.POSITIVE_ZERO, KaasLandSmurfX32Real2D.NEGATIVE_ZERO);
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,12 @@ public final class KaasLandSmurfX32Real2D implements KaasOdeurReal2D<KaasLandSmu
|
||||||
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_INFINITY || valueRaw == RAW_NEGATIVE_INFINITY);
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_INFINITY || valueRaw == RAW_NEGATIVE_INFINITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public KaasOdeurBineral<?, ?> odeurFlagSign() {
|
||||||
|
int valueRaw = Float.floatToRawIntBits(value);
|
||||||
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_ZERO || value > 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Float thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
public Float thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||||
return sign.bineralSelect(POSITIVE_ZERO, NEGATIVE_ZERO);
|
return sign.bineralSelect(POSITIVE_ZERO, NEGATIVE_ZERO);
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class KaasLandSmurfX63RealPos2D implements KaasOdeurRealPos2D<KaasL
|
||||||
|
|
||||||
private KaasLandSmurfX63RealPos2D(Double value) {
|
private KaasLandSmurfX63RealPos2D(Double value) {
|
||||||
this.value = Objects.requireNonNull(value);
|
this.value = Objects.requireNonNull(value);
|
||||||
if (value < 0 || Double.doubleToRawLongBits(value) == Double.doubleToRawLongBits(KaasLandSmurfX64Real2D.NEGATIVE_ZERO) ) {
|
if (value < 0 || Double.doubleToRawLongBits(value) == KaasLandSmurfX64Real2D.RAW_NEGATIVE_ZERO) {
|
||||||
throw new IllegalArgumentException("Only positive values are allowed: " + value);
|
throw new IllegalArgumentException("Only positive values are allowed: " + value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,12 @@ public final class KaasLandSmurfX64Real implements KaasOdeurReal<KaasLandSmurfX6
|
||||||
return KaasLandSmurfX1Bineral.valueOf(valueRaw == KaasLandSmurfX64Real2D.RAW_NAN);
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == KaasLandSmurfX64Real2D.RAW_NAN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public KaasOdeurBineral<?, ?> odeurFlagSign() {
|
||||||
|
long valueRaw = Double.doubleToRawLongBits(value);
|
||||||
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == KaasLandSmurfX64Real2D.RAW_POSITIVE_ZERO || value > 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
public Double thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||||
return sign.bineralSelect(KaasLandSmurfX64Real2D.POSITIVE_ZERO, KaasLandSmurfX64Real2D.NEGATIVE_ZERO);
|
return sign.bineralSelect(KaasLandSmurfX64Real2D.POSITIVE_ZERO, KaasLandSmurfX64Real2D.NEGATIVE_ZERO);
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,12 @@ public final class KaasLandSmurfX64Real2D implements KaasOdeurReal2D<KaasLandSmu
|
||||||
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_INFINITY || valueRaw == RAW_NEGATIVE_INFINITY);
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_INFINITY || valueRaw == RAW_NEGATIVE_INFINITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public KaasOdeurBineral<?, ?> odeurFlagSign() {
|
||||||
|
long valueRaw = Double.doubleToRawLongBits(value);
|
||||||
|
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_ZERO || value > 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
public Double thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||||
return sign.bineralSelect(POSITIVE_ZERO, NEGATIVE_ZERO);
|
return sign.bineralSelect(POSITIVE_ZERO, NEGATIVE_ZERO);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue