mirror of
https://github.com/DanilaFe/abacus
synced 2024-11-12 21:59:53 -08:00
40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
|
package org.nwapw.abacus.number;
|
||
|
|
||
|
public class NaiveNumber implements Number {
|
||
|
|
||
|
private double value;
|
||
|
|
||
|
public NaiveNumber(double value) {
|
||
|
this.value = value;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Number multiply(Number multiplier) {
|
||
|
if(!(multiplier instanceof NaiveNumber)) throw new IllegalArgumentException();
|
||
|
return new NaiveNumber(value * ((NaiveNumber)multiplier).value);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Number divide(Number divisor) {
|
||
|
if(!(divisor instanceof NaiveNumber)) throw new IllegalArgumentException();
|
||
|
return new NaiveNumber(value * ((NaiveNumber)divisor).value);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Number add(Number summand) {
|
||
|
if(!(summand instanceof NaiveNumber)) throw new IllegalArgumentException();
|
||
|
return new NaiveNumber(value * ((NaiveNumber)summand).value);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Number subtract(Number subtrahend) {
|
||
|
if(!(subtrahend instanceof NaiveNumber)) throw new IllegalArgumentException();
|
||
|
return new NaiveNumber(value * ((NaiveNumber)subtrahend).value);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Number negate() {
|
||
|
return new NaiveNumber(-value);
|
||
|
}
|
||
|
}
|