public int signum() { return api.signum(); }
public Xint divide(Xint a) { cnt.DIV++; return new Xint(api.divide(a.api)); }
public Xint divide(long b) { cnt.div++; return new Xint(api.divide(new Apint(b, radix))); }
public Xint multiply(long b) { cnt.mul++; return new Xint(api.multiply(new Apint(b, radix))); }
public Xint square() { cnt.sqr++; return new Xint(api.multiply(api)); }
public Xint subtract(long b) { cnt.sub++; return new Xint(api.subtract(new Apint(b, radix))); }
public Xint multiply(Xint b) { cnt.MUL++; return new Xint(api.multiply(b.api)); }
public Xint add(long b) { cnt.add++; return new Xint(api.add(new Apint(b, radix))); }
public Xint subtract(Xint a) { cnt.SUB++; return new Xint(api.subtract(a.api)); }
public int compareTo(Xint b) { return api.compareTo(b.api); }
public Xint add(Xint b) { cnt.ADD++; return new Xint(api.add(b.api)); }
public String toHexString() { return api.toRadix(16).toString(); }
@Override public String toString() { return api.toRadix(10).toString(); }
public long crcValue() { return 0xffffffffL & api.hashCode(); }
public boolean isZERO() { return api.intValue() == 0; }
public boolean isONE() { return api.intValue() == 1; }