Bignum* power_int(Bignum *n, int p, Bignum *r) { Bignum temp, aux; if (p == 0) return create_int(1,r); if (p == 1) return copy(r,n); power_int(n,p/2,&temp); if (p&1) return multiply(multiply(&temp,&temp,&aux),n,r); return multiply(&temp,&temp,r); }
variant _1_sum_double(double a, double b) { power_int(AClass()); }
variant _1_sum_int(int a, int b) { power_int(AClass()); }
base& base::i_power_j(INT i, INT j) { m_i_i(i); power_int(j); return *this; }