diff --git a/nx01-jpp0-collections2/src/main/java/ᒢᣘᐧᐧ/ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ/ArrayLadderOpen.java b/nx01-jpp0-collections2/src/main/java/ᒢᣘᐧᐧ/ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ/ArrayLadderOpen.java index 734e689..0558aa0 100644 --- a/nx01-jpp0-collections2/src/main/java/ᒢᣘᐧᐧ/ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ/ArrayLadderOpen.java +++ b/nx01-jpp0-collections2/src/main/java/ᒢᣘᐧᐧ/ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ/ArrayLadderOpen.java @@ -47,7 +47,8 @@ import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ᣗᐤᣖᓫ.RopeLadder /// @version ©Δ∞ 仙上主天 public class ArrayLadderOpen implements LadderOpen,RopeIterable { - // 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 data; public ArrayLadderOpen() { diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeur.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeur.java index 0165021..9cf462f 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeur.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeur.java @@ -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 The bone to eat. @@ -44,9 +48,11 @@ public sealed interface KaasOdeur, N> KaasTBone, KaasTBoneMaterializer permits + KaasOdeurFlagCarry, KaasOdeurFlagInfinity, KaasOdeurFlagNaN, KaasOdeurFlagOne, + KaasOdeurFlagSign, KaasOdeurFlagZero, KaasOdeurBineral, KaasOdeurZahlenial, @@ -61,33 +67,49 @@ public sealed interface KaasOdeur, 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 diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal.java index 7a348d6..7d5aa7b 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal.java @@ -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, N> exte KaasOdeur, KaasOdeurFlagNaN, KaasOdeurFlagZero, + KaasOdeurFlagSign, KaasOdeurNumberRoot2D, KaasOdeurNumberRange2D { } diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal2D.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal2D.java index 36c2766..0bc5f87 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal2D.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal2D.java @@ -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, N> KaasOdeur, KaasOdeurFlagInfinity, KaasOdeurFlagNaN, + KaasOdeurFlagSign, KaasOdeurFlagZero, KaasOdeurNumberRoot2D, KaasOdeurNumberInfinity2D, diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal4D.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal4D.java index 2823800..15b7354 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal4D.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurReal4D.java @@ -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, N> extends KaasOdeur, + KaasOdeurFlagCarry, KaasOdeurFlagInfinity, KaasOdeurFlagNaN, + KaasOdeurFlagSign, KaasOdeurFlagZero, KaasOdeurNumberRoot4D, KaasOdeurNumberInfinity4D, diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurRealPos2D.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurRealPos2D.java index 2d59bb6..980ae2f 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurRealPos2D.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/KaasOdeurRealPos2D.java @@ -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 ©Δ∞ 仙上主天 diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/ᣘᒻᣔᕐ/KaasOdeurFlagCarry.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/ᣘᒻᣔᕐ/KaasOdeurFlagCarry.java new file mode 100644 index 0000000..e044cfb --- /dev/null +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/ᣘᒻᣔᕐ/KaasOdeurFlagCarry.java @@ -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 The bone to eat. +public sealed interface KaasOdeurFlagCarry, N> + extends + KaasOdeur + permits + KaasOdeurReal4D { + + /// Return the bineral status of the carry. + KaasOdeurBineral odeurFlagCarry(); +} diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/ᣘᒻᣔᕐ/KaasOdeurFlagSign.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/ᣘᒻᣔᕐ/KaasOdeurFlagSign.java new file mode 100644 index 0000000..a05d108 --- /dev/null +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᐤᑊᐣᓫᓑᣗ/ᣘᒻᣔᕐ/KaasOdeurFlagSign.java @@ -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 The bone to eat. +public sealed interface KaasOdeurFlagSign, N> + extends + KaasOdeur + permits + KaasOdeurReal, + KaasOdeurReal2D, + KaasOdeurReal4D { + + /// Return a bineral true for positive sign. + KaasOdeurBineral odeurFlagSign(); +} diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX15Zerdinal.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX15Zerdinal.java index 39612fd..ce7f4e5 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX15Zerdinal.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX15Zerdinal.java @@ -75,11 +75,7 @@ public final class KaasLandSmurfX15Zerdinal implements KaasOdeurZerdinal 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); diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX32Real2D.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX32Real2D.java index 630e785..c3594ea 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX32Real2D.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX32Real2D.java @@ -76,6 +76,12 @@ public final class KaasLandSmurfX32Real2D implements KaasOdeurReal2D 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); diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX63RealPos2D.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX63RealPos2D.java index 6ccb3a4..4244ec3 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX63RealPos2D.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX63RealPos2D.java @@ -44,7 +44,7 @@ public final class KaasLandSmurfX63RealPos2D implements KaasOdeurRealPos2D 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); diff --git a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX64Real2D.java b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX64Real2D.java index 7c5fb12..699ace4 100644 --- a/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX64Real2D.java +++ b/nx01-jpp0-kaas/src/main/java/ᒢᣘᐧᐧ/ᑊᑉᣔᣔᔆ/ᒻᣔᣕᒄ/KaasLandSmurfX64Real2D.java @@ -76,6 +76,12 @@ public final class KaasLandSmurfX64Real2D implements KaasOdeurReal2D 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);