mirror of
https://github.com/DanilaFe/abacus
synced 2024-12-22 07:20:09 -08:00
In Number interface: remove one and zero (they can't be static), add compareTo and signum. Modify NaiveNumber accordingly.
This commit is contained in:
parent
3b91304175
commit
254276b2af
13
src/org/nwapw/abacus/number/NaiveNumber.java
Normal file → Executable file
13
src/org/nwapw/abacus/number/NaiveNumber.java
Normal file → Executable file
|
@ -8,6 +8,9 @@ public class NaiveNumber implements Number {
|
|||
this.value = value;
|
||||
}
|
||||
|
||||
static final NaiveNumber ZERO = new NaiveNumber(0);
|
||||
static final NaiveNumber ONE = new NaiveNumber(1);
|
||||
|
||||
@Override
|
||||
public int precision() {
|
||||
return 4;
|
||||
|
@ -39,13 +42,14 @@ public class NaiveNumber implements Number {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Number zero() {
|
||||
return new NaiveNumber(0);
|
||||
public int compareTo(Number number) {
|
||||
NaiveNumber num = (NaiveNumber) number;
|
||||
return Double.compare(value, num.value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Number one() {
|
||||
return new NaiveNumber(1);
|
||||
public int signum() {
|
||||
return this.compareTo(ZERO);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -53,5 +57,6 @@ public class NaiveNumber implements Number {
|
|||
if(toClass == this.getClass()) return this;
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -8,9 +8,8 @@ public interface Number {
|
|||
Number add(Number summand);
|
||||
Number subtract(Number subtrahend);
|
||||
Number negate();
|
||||
|
||||
Number zero();
|
||||
Number one();
|
||||
int compareTo(Number number);
|
||||
int signum();
|
||||
|
||||
Number promoteTo(Class<? extends Number> toClass);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user