@@ -0,0 +1,1760 @@
+package org.psjava.math.ns;%0D%0A%0D%0Aimport java.math.BigInteger;%0D%0A%0D%0Apublic class BigIntegerNumberSystem implements IntegerDivisableNumberSystem%3CBigInteger%3E %7B%0D%0A%0D%0A%09private static final BigIntegerNumberSystem INSTANCE = new BigIntegerNumberSystem();%0D%0A%0D%0A%09public static BigIntegerNumberSystem getInstance() %7B%0D%0A%09%09return INSTANCE;%0D%0A%09%7D%0D%0A%0D%0A%09private BigIntegerNumberSystem() %7B%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public BigInteger getZero() %7B%0D%0A%09%09return BigInteger.ZERO;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isPositive(BigInteger v) %7B%0D%0A%09%09return v.signum() %3E 0;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isZero(BigInteger v) %7B%0D%0A%09%09return v.signum() == 0;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isNegative(BigInteger v) %7B%0D%0A%09%09return v.signum() %3C 0;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int getSign(BigInteger v) %7B%0D%0A%09%09return v.signum();%0D%0A%09%7D%0D%0A%09%0D%0A%09@Override%0D%0A%09public boolean areEqual(BigInteger o1, BigInteger o2) %7B%0D%0A%09%09return o1.equals(o2);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public BigInteger getOne() %7B%0D%0A%09%09return BigInteger.ONE;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isOne(BigInteger v) %7B%0D%0A%09%09return v.equals(BigInteger.ONE);%0D%0A%09%7D%0D%0A%09%0D%0A%09@Override%0D%0A%09public BigInteger add(BigInteger v1, BigInteger v2) %7B%0D%0A%09%09return v1.add(v2);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public BigInteger subtract(BigInteger minuend, BigInteger subtrahend) %7B%0D%0A%09%09return minuend.subtract(subtrahend);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public BigInteger multiply(BigInteger v1, BigInteger v2) %7B%0D%0A%09%09return v1.multiply(v2);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public BigInteger integerDivide(BigInteger dividend, BigInteger divisor) %7B%0D%0A%09%09return dividend.divide(divisor);%0D%0A%09%7D%0D%0A%09%0D%0A%09@Override%0D%0A%09public BigInteger integerRemainder(BigInteger dividend, BigInteger divisor) %7B%0D%0A%09%09return dividend.remainder(divisor);%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int compare(BigInteger o1, BigInteger o2) %7B%0D%0A%09%09return o1.compareTo(o2);%0D%0A%09%7D%0D%0A%0D%0A%7D%0D%0A

add biginteger number system.