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 ©Δ∞ 仙上主天
|
||||
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;
|
||||
|
||||
public ArrayLadderOpen() {
|
||||
|
|
|
|||
|
|
@ -29,13 +29,17 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
|||
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagCarry;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagOne;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||
|
||||
/// Cheese odeur number smell.
|
||||
///
|
||||
/// A true IBM number specification has the smell of a cheese cutter.
|
||||
///
|
||||
/// @author للَّٰهِilLצسُو
|
||||
/// @version ©Δ∞ 仙上主天s
|
||||
/// @param <T> The bone to eat.
|
||||
|
|
@ -44,9 +48,11 @@ public sealed interface KaasOdeur<T extends KaasOdeur<T, N>, N>
|
|||
KaasTBone<T>,
|
||||
KaasTBoneMaterializer<T, N>
|
||||
permits
|
||||
KaasOdeurFlagCarry,
|
||||
KaasOdeurFlagInfinity,
|
||||
KaasOdeurFlagNaN,
|
||||
KaasOdeurFlagOne,
|
||||
KaasOdeurFlagSign,
|
||||
KaasOdeurFlagZero,
|
||||
KaasOdeurBineral,
|
||||
KaasOdeurZahlenial,
|
||||
|
|
@ -61,33 +67,49 @@ public sealed interface KaasOdeur<T extends KaasOdeur<T, N>, N>
|
|||
/*
|
||||
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;
|
||||
bineral = boolean number 0,1 = 𝔹 (Standard for Boolean domain)
|
||||
zerdinal = whole number 0++ = 𝕎 (Standard mnemonic for Whole numbers)
|
||||
rodinal = natural number 1++ = ℕ (Universal standard for Natural numbers)
|
||||
RM: bineral = boolean number 0,1 = 𝔹 (Standard for Boolean domain)
|
||||
RM: tennery = tenary number -1,0,1 = (tri-state)
|
||||
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)
|
||||
defracter = decimal fractions = 𝔻 (Standard for fraction whose denominator is a power of ten)
|
||||
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)
|
||||
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)
|
||||
complex = complex number = ℂ
|
||||
|
||||
==== Block 2: Signed variants;
|
||||
rationalPos = positive rational number = ℚ⁺
|
||||
rationalPos2D = positive biinf rational number = ℚ̅⁺
|
||||
rationalPos4D = positive quadinf rational number = 𝑞ℚ̅⁺
|
||||
realPos = positive real numbers = ℝ⁺ (https://mroman42.github.io/ctlc/agda-mltt/Reals.html#%E2%84%9D%E2%81%BA)
|
||||
realPos2D = positive extended real = ℝ̅⁺
|
||||
realPos4D = positive quadinf real = 𝑞ℝ̅⁺
|
||||
zerdinalPos = positive whole number 0,1... = 𝕎⁺
|
||||
zerdinalNeg = negative whole number ..-1,0 = 𝕎⁻
|
||||
rodinalPos = positive count number 1,2... = ℕ⁺
|
||||
rodinalNeg = negative count number .-2,-1 = ℕ⁻
|
||||
|
||||
rationalPos = positive rational number = ℚ⁺
|
||||
rationalNeg = negative rational number = ℚ⁻
|
||||
rationalPos2D = positive biinf rational number = ℚ̅⁺
|
||||
rationalNeg2D = negative biinf rational number = ℚ̅⁻
|
||||
rationalPos4D = positive 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 = ℝ⁻
|
||||
realPos2D = positive extended real = ℝ̅⁺
|
||||
realNeg2D = negative extended real = ℝ̅⁻
|
||||
realPos4D = positive quadinf real = 𝑞ℝ̅⁺
|
||||
realNeg4D = negative quadinf real = 𝑞ℝ̅⁻
|
||||
|
||||
==== Block 3: Advanced Sets & Spaces
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
|||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2D;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||
|
||||
/// 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>,
|
||||
KaasOdeurFlagNaN<T, N>,
|
||||
KaasOdeurFlagZero<T, N>,
|
||||
KaasOdeurFlagSign<T, N>,
|
||||
KaasOdeurNumberRoot2D<T, N>,
|
||||
KaasOdeurNumberRange2D<T, N> {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOd
|
|||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||
|
||||
/// 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>,
|
||||
KaasOdeurFlagInfinity<T, N>,
|
||||
KaasOdeurFlagNaN<T, N>,
|
||||
KaasOdeurFlagSign<T, N>,
|
||||
KaasOdeurFlagZero<T, N>,
|
||||
KaasOdeurNumberRoot2D<T, N>,
|
||||
KaasOdeurNumberInfinity2D<T, N>,
|
||||
|
|
|
|||
|
|
@ -28,8 +28,10 @@
|
|||
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
|
||||
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagCarry;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagInfinity;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagNaN;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagSign;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFlagZero;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4D;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D;
|
||||
|
|
@ -40,8 +42,10 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOd
|
|||
/// @version ©Δ∞ 仙上主天
|
||||
public non-sealed interface KaasOdeurReal4D<T extends KaasOdeurReal4D<T, N>, N> extends
|
||||
KaasOdeur<T, N>,
|
||||
KaasOdeurFlagCarry<T, N>,
|
||||
KaasOdeurFlagInfinity<T, N>,
|
||||
KaasOdeurFlagNaN<T, N>,
|
||||
KaasOdeurFlagSign<T, N>,
|
||||
KaasOdeurFlagZero<T, N>,
|
||||
KaasOdeurNumberRoot4D<T, N>,
|
||||
KaasOdeurNumberInfinity4D<T, N>,
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣘᒻᣔᕐ.KaasOdeurFla
|
|||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity1D;
|
||||
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1D;
|
||||
|
||||
/// Cheese odeur of a positive float with signed infinity.
|
||||
/// Cheese odeur of a positive float with infinity.
|
||||
///
|
||||
/// @author للَّٰهِilLצسُو
|
||||
/// @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);
|
||||
}
|
||||
|
||||
static public KaasLandSmurfX15Zerdinal valueOf(Long value) {
|
||||
return valueOf(value.shortValue());
|
||||
}
|
||||
|
||||
static public KaasLandSmurfX15Zerdinal valueOf(Integer value) {
|
||||
static public KaasLandSmurfX15Zerdinal valueOf(Number value) {
|
||||
return valueOf(value.shortValue());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,12 @@ public final class KaasLandSmurfX32Real implements KaasOdeurReal<KaasLandSmurfX3
|
|||
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
|
||||
public Float thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public KaasOdeurBineral<?, ?> odeurFlagSign() {
|
||||
int valueRaw = Float.floatToRawIntBits(value);
|
||||
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_ZERO || value > 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Float thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||
return sign.bineralSelect(POSITIVE_ZERO, NEGATIVE_ZERO);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class KaasLandSmurfX63RealPos2D implements KaasOdeurRealPos2D<KaasL
|
|||
|
||||
private KaasLandSmurfX63RealPos2D(Double 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,6 +67,12 @@ public final class KaasLandSmurfX64Real implements KaasOdeurReal<KaasLandSmurfX6
|
|||
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
|
||||
public Double thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public KaasOdeurBineral<?, ?> odeurFlagSign() {
|
||||
long valueRaw = Double.doubleToRawLongBits(value);
|
||||
return KaasLandSmurfX1Bineral.valueOf(valueRaw == RAW_POSITIVE_ZERO || value > 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
|
||||
return sign.bineralSelect(POSITIVE_ZERO, NEGATIVE_ZERO);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue