@@ -0,0 +1,1511 @@
+package org.psjava.math.ns;%0D%0A%0D%0Aimport java.util.Comparator;%0D%0A%0D%0Apublic class DoubleNumberSystem implements DivisableNumberSystem%3CDouble%3E, Comparator%3CDouble%3E %7B%0D%0A%0D%0A%09private static DoubleNumberSystem INSTANCE = new DoubleNumberSystem();%0D%0A%0D%0A%09public static DoubleNumberSystem getInstance() %7B%0D%0A%09%09return INSTANCE;%0D%0A%09%7D%0D%0A%0D%0A%09private DoubleNumberSystem() %7B%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public Double getOne() %7B%0D%0A%09%09return Double.valueOf(1);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public Double getZero() %7B%0D%0A%09%09return Double.valueOf(0);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isNegative(Double v) %7B%0D%0A%09%09return v %3C 0;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isOne(Double v) %7B%0D%0A%09%09return v == 1;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isPositive(Double v) %7B%0D%0A%09%09return v %3E 0;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isZero(Double v) %7B%0D%0A%09%09return v == 0;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean areEqual(Double o1, Double o2) %7B%0D%0A%09%09return o1.equals(o2);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int compare(Double o1, Double o2) %7B%0D%0A%09%09return o1.compareTo(o2);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int getSign(Double v) %7B%0D%0A%09%09return Double.compare(v, 0);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public Double add(Double v1, Double v2) %7B%0D%0A%09%09return Double.valueOf(v1 + v2);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public Double subtract(Double minuend, Double subtrahend) %7B%0D%0A%09%09return Double.valueOf(minuend - subtrahend);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public Double divide(Double dividend, Double divisor) %7B%0D%0A%09%09return Double.valueOf(dividend / divisor);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public Double multiply(Double v1, Double v2) %7B%0D%0A%09%09return Double.valueOf(v1 * v2);%0D%0A%09%7D%0D%0A%7D%0D%0A

add double number system.