⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 biginteger.c

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
{	mpz_ptr res;	mpz_srcptr src1;	mpz_srcptr src2;	src1 = (mpz_srcptr)(*env)->GetObjectField(env, s1, number);	src2 = (mpz_srcptr)(*env)->GetObjectField(env, s2, number);	res = (mpz_ptr)(*env)->GetObjectField(env, r, number);	mpz_ior(res, src1, src2);}voidJava_java_math_BigInteger_xor0(JNIEnv* env, jobject r, jobject s1, jobject s2){	mpz_ptr res;	mpz_srcptr src1;	mpz_srcptr src2;	mpz_t tmp;	src1 = (mpz_srcptr)(*env)->GetObjectField(env, s1, number);	src2 = (mpz_srcptr)(*env)->GetObjectField(env, s2, number);	res = (mpz_ptr)(*env)->GetObjectField(env, r, number);	mpz_init(tmp);	mpz_and(res, src1, src2);	mpz_com(res, res);	mpz_ior(tmp, src1, src2);	mpz_and(res, res, tmp);	mpz_clear(tmp);}voidJava_java_math_BigInteger_not0(JNIEnv* env, jobject r, jobject s){	mpz_ptr res;	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	res = (mpz_ptr)(*env)->GetObjectField(env, r, number);	mpz_com(res, src);}voidJava_java_math_BigInteger_setbit0(JNIEnv* env, jobject r, jobject s, jint n){	mpz_ptr res;	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	res = (mpz_ptr)(*env)->GetObjectField(env, r, number);	mpz_set(res, src);	mpz_setbit(res, (unsigned long)n);}voidJava_java_math_BigInteger_clrbit0(JNIEnv* env, jobject r, jobject s, jint n){	mpz_ptr res;	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	res = (mpz_ptr)(*env)->GetObjectField(env, r, number);	mpz_set(res, src);	mpz_clrbit(res, (unsigned long)n);}jintJava_java_math_BigInteger_scansetbit0(JNIEnv* env, jobject s){	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	return ((jint)mpz_scan1(src, 0));}jintJava_java_math_BigInteger_cmp0(JNIEnv* env, jclass cls, jobject s1, jobject s2){	mpz_srcptr src1;	mpz_srcptr src2;	src1 = (mpz_srcptr)(*env)->GetObjectField(env, s1, number);	src2 = (mpz_srcptr)(*env)->GetObjectField(env, s2, number);	return (mpz_cmp(src1, src2));}jstringJava_java_math_BigInteger_toString0(JNIEnv* env, jobject s, jint base){	char* res;	mpz_srcptr src;	jstring str;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	res = mpz_get_str(0, (int)base, src);	str = (*env)->NewStringUTF(env, res);	bi_free(res, 0 /* is ignored */);	return (str);}jdoubleJava_java_math_BigInteger_toDouble0(JNIEnv* env, jobject s){	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	return ((jdouble)mpz_get_d(src));}jintJava_java_math_BigInteger_toInt0(JNIEnv* env, jobject s){	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	return ((jint)mpz_get_ui(src));}jintJava_java_math_BigInteger_probablyPrime0(JNIEnv* env, jobject s, jint prop){	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	return (mpz_probab_prime_p(src, (int)prop));}jintJava_java_math_BigInteger_bitLength0(JNIEnv* env, jobject s){	mpz_srcptr src;	src = (mpz_srcptr)(*env)->GetObjectField(env, s, number);	return (mpz_sizeinbase(src, 2));}jintJava_java_math_BigInteger_hamDist0(JNIEnv* env, jobject s1, jobject s2){	mpz_srcptr src1, src2;	src1 = (mpz_srcptr)(*env)->GetObjectField(env, s1, number);	src2 = (mpz_srcptr)(*env)->GetObjectField(env, s2, number);	return (mpz_hamdist(src1, src2));}#else /* !defined(HAVE_GMP_H) || !defined(HAVE_LIBGMP) *//* throw a kaffe.util.SupportDisabled exception */static voidgmp_not_found(JNIEnv* env) {	jclass sd = (*env)->FindClass(env, "kaffe.util.SupportDisabled");	(*env)->ThrowNew(env, sd, "GNU gmp was not found by Kaffe configure script");}/* We should put some dummies in here */voidJava_java_math_BigInteger_initialize0(JNIEnv* env, jclass cls){	gmp_not_found(env);}voidJava_java_math_BigInteger_init0(JNIEnv* env, jobject r){	gmp_not_found(env);}voidJava_java_math_BigInteger_finalize0(JNIEnv* env, jobject r){	gmp_not_found(env);}voidJava_java_math_BigInteger_assignLong0(JNIEnv* env, jobject r, jlong v){	gmp_not_found(env);}voidJava_java_math_BigInteger_assignBytes0(JNIEnv* env, jobject r, jint sign, jbyteArray magnitude){	gmp_not_found(env);}jintJava_java_math_BigInteger_assignString0(JNIEnv* env, jobject r, jstring val, jint radix){	gmp_not_found(env);}voidJava_java_math_BigInteger_add0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_sub0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_mul0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_div0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_rem0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_divrem0(JNIEnv* env, jclass cls, jobject r1, jobject r2, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_abs0(JNIEnv* env, jobject r, jobject s){	gmp_not_found(env);}voidJava_java_math_BigInteger_neg0(JNIEnv* env, jobject r, jobject s){	gmp_not_found(env);}voidJava_java_math_BigInteger_pow0(JNIEnv* env, jobject r, jobject s, jint power){	gmp_not_found(env);}voidJava_java_math_BigInteger_gcd0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_mod0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_modpow0(JNIEnv* env, jobject r, jobject s1, jobject s2, jobject s3){	gmp_not_found(env);}voidJava_java_math_BigInteger_modinv0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_and0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_or0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_xor0(JNIEnv* env, jobject r, jobject s1, jobject s2){	gmp_not_found(env);}voidJava_java_math_BigInteger_not0(JNIEnv* env, jobject r, jobject s){	gmp_not_found(env);}voidJava_java_math_BigInteger_setbit0(JNIEnv* env, jobject r, jobject s, jint n){	gmp_not_found(env);}voidJava_java_math_BigInteger_clrbit0(JNIEnv* env, jobject r, jobject s, jint n){	gmp_not_found(env);}jintJava_java_math_BigInteger_scansetbit0(JNIEnv* env, jobject s){	gmp_not_found(env);	return 0;}jintJava_java_math_BigInteger_cmp0(JNIEnv* env, jclass cls, jobject s1, jobject s2){	gmp_not_found(env);	return 0;}jstringJava_java_math_BigInteger_toString0(JNIEnv* env, jobject s, jint base){	gmp_not_found(env);	return NULL;}jdoubleJava_java_math_BigInteger_toDouble0(JNIEnv* env, jobject s){	gmp_not_found(env);	return 0.0;}jintJava_java_math_BigInteger_toInt0(JNIEnv* env, jobject s){	gmp_not_found(env);	return 0;}jintJava_java_math_BigInteger_probablyPrime0(JNIEnv* env, jobject s, jint prop){	gmp_not_found(env);	return 0;}jintJava_java_math_BigInteger_bitLength0(JNIEnv* env, jobject s){	gmp_not_found(env);	return 0;}jintJava_java_math_BigInteger_hamDist0(JNIEnv* env, jobject s1, jobject s2){	gmp_not_found(env);	return 0;}#endif /* defined(HAVE_GMP_H) && defined(HAVE_LIBGMP) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -