Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void mpz_powm (mpz_t rop, mpz_t base, mpz_t exp, mpz_t mod)
- void mpz_powm_ui (mpz_t rop, mpz_t base, unsigned long int exp, mpz_t mod)
- Set _rop_ to _base_^_exp_ mod _mod_.
- Negative exp is supported if an inverse base-1 mod mod exists (see mpz_invert in Section 5.9 [Number Theoretic Functions], page 35). If an inverse doesn’t exist then a divide by zero is raised.
- #define Z(x) mpz_t x; mpz_init( x );
- BSTR __stdcall IBIGPOWER(BSTR p1, long p2 ) {
- USES_CONVERSION;
- Z(n1);
- Z(res);
- LPSTR sNum1 = W2A( p1 );
- mpz_set_str( n1, sNum1, 10 );
- mpz_pow_ui( res, n1, p2 );
- char * buff = (char *) _alloca( mpz_sizeinbase( res, 10 ) + 2 );
- mpz_get_str(buff, 10, res);
- BSTR bResult = _com_util::ConvertStringToBSTR( buff );
- return bResult;
- }
- 2 ^ -18
- 1 / (2 ^ 18)
Add Comment
Please, Sign In to add comment