1
0
mirror of https://github.com/DanilaFe/abacus synced 2024-06-28 21:56:23 -07:00
Abacus/src/org/nwapw/abacus/number/NaiveNumber.java

40 lines
1.1 KiB
Java
Raw Normal View History

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);
}
}