#include "feval.h" #include #include #include "poker_defs.h" #include "inlines/eval.h" #include "inlines/eval_low.h" CardMask gCards; jint *cards; int i; /* * Class: poker_HandEvaluator * Method: CRankHandFast1 * Signature: ([I)I */ JNIEXPORT jint JNICALL Java_poker_HandEvaluator_CRankHandFast (JNIEnv *env, jobject ob, jintArray arr) { cards = (*env)->GetIntArrayElements(env, arr, 0); CardMask_RESET(gCards); for (i=1;i<=cards[0];i++) CardMask_SET(gCards, cards[i]); (*env)->ReleaseIntArrayElements(env, arr, cards, 0); return Hand_EVAL_N(gCards, cards[0]); /* printf("%s: ", Deck_maskString(gCards)); printf("rank = %d\n", handval); */ } /* * Class: poker_HandEvaluator * Method: CRankHandFast2 * Signature: ([I)I */ JNIEXPORT jint JNICALL Java_poker_HandEvaluator_CRankHandFast7 (JNIEnv *env, jobject ob, jintArray arr) { cards = (*env)->GetIntArrayElements(env, arr, 0); CardMask_RESET(gCards); for (i=1;i<=7;i++) CardMask_SET(gCards, cards[i]); (*env)->ReleaseIntArrayElements(env, arr, cards, 0); return Hand_EVAL_N(gCards, 7); }