-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
108aa2f
commit 72bb24f
Showing
12 changed files
with
262 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
snap-core/src/main/java/org/snapscript/core/type/extend/BigDecimalExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
import static java.math.RoundingMode.CEILING; | ||
import static java.math.RoundingMode.FLOOR; | ||
|
||
import java.math.BigDecimal; | ||
import java.math.BigInteger; | ||
|
||
public class BigDecimalExtension implements NumberExtension<BigDecimal> { | ||
|
||
public BigDecimalExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public BigDecimal abs(BigDecimal number) { | ||
return number.abs(); | ||
} | ||
|
||
@Override | ||
public BigDecimal ceil(BigDecimal number) { | ||
return number.setScale(0, CEILING); | ||
} | ||
|
||
@Override | ||
public BigDecimal floor(BigDecimal number) { | ||
return number.setScale(0, FLOOR); | ||
} | ||
|
||
@Override | ||
public BigInteger round(BigDecimal number) { | ||
return number.toBigInteger(); | ||
} | ||
} |
30 changes: 30 additions & 0 deletions
30
snap-core/src/main/java/org/snapscript/core/type/extend/BigIntegerExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
import java.math.BigInteger; | ||
|
||
public class BigIntegerExtension implements NumberExtension<BigInteger> { | ||
|
||
public BigIntegerExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public BigInteger abs(BigInteger number) { | ||
return number.abs(); | ||
} | ||
|
||
@Override | ||
public BigInteger ceil(BigInteger number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public BigInteger floor(BigInteger number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public BigInteger round(BigInteger number) { | ||
return number; | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
snap-core/src/main/java/org/snapscript/core/type/extend/ByteExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public class ByteExtension implements NumberExtension<Byte> { | ||
|
||
public ByteExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public Integer abs(Byte number) { | ||
return Math.abs(number); | ||
} | ||
|
||
@Override | ||
public Byte ceil(Byte number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Byte floor(Byte number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Byte round(Byte number) { | ||
return number; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
snap-core/src/main/java/org/snapscript/core/type/extend/DoubleExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public class DoubleExtension implements NumberExtension<Double> { | ||
|
||
public DoubleExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public Double abs(Double number) { | ||
return Math.abs(number); | ||
} | ||
|
||
@Override | ||
public Double ceil(Double number) { | ||
return Math.ceil(number); | ||
} | ||
|
||
@Override | ||
public Double floor(Double number) { | ||
return Math.floor(number); | ||
} | ||
|
||
@Override | ||
public Long round(Double number) { | ||
return Math.round(number); | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
snap-core/src/main/java/org/snapscript/core/type/extend/FloatExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public class FloatExtension implements NumberExtension<Float> { | ||
|
||
public FloatExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public Float abs(Float number) { | ||
return Math.abs(number); | ||
} | ||
|
||
@Override | ||
public Double ceil(Float number) { | ||
return Math.ceil(number); | ||
} | ||
|
||
@Override | ||
public Double floor(Float number) { | ||
return Math.floor(number); | ||
} | ||
|
||
@Override | ||
public Integer round(Float number) { | ||
return Math.round(number); | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
snap-core/src/main/java/org/snapscript/core/type/extend/IntegerExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public class IntegerExtension implements NumberExtension<Integer> { | ||
|
||
public IntegerExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public Integer abs(Integer number) { | ||
return Math.abs(number); | ||
} | ||
|
||
@Override | ||
public Integer ceil(Integer number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Integer floor(Integer number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Integer round(Integer number) { | ||
return number; | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
snap-core/src/main/java/org/snapscript/core/type/extend/LongExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public class LongExtension implements NumberExtension<Long> { | ||
|
||
public LongExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public Long abs(Long number) { | ||
return Math.abs(number); | ||
} | ||
|
||
@Override | ||
public Long ceil(Long number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Long floor(Long number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Long round(Long number) { | ||
return number; | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
snap-core/src/main/java/org/snapscript/core/type/extend/NumberExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public interface NumberExtension<T extends Number> { | ||
Number abs(T number); | ||
Number ceil(T number); | ||
Number floor(T number); | ||
Number round(T number); | ||
} |
28 changes: 28 additions & 0 deletions
28
snap-core/src/main/java/org/snapscript/core/type/extend/ShortExtension.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.snapscript.core.type.extend; | ||
|
||
public class ShortExtension implements NumberExtension<Short> { | ||
|
||
public ShortExtension() { | ||
super(); | ||
} | ||
|
||
@Override | ||
public Integer abs(Short number) { | ||
return Math.abs(number); | ||
} | ||
|
||
@Override | ||
public Short ceil(Short number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Short floor(Short number) { | ||
return number; | ||
} | ||
|
||
@Override | ||
public Short round(Short number) { | ||
return number; | ||
} | ||
} |