Пример #1
0
void Task1(void *Id)
{
	uint8_t  n = 0 ; 
	(void) Id;		
	SysTick_Config(120000);	 
//	CPU_IntEn();  
	n = KeyScan();			 	
 	DspRst(); 
				

//	CheckLight();	
//	OSTimeDly(250);
															    
	ConfigBCK(); 

 	InitStart();

	GR_DBG_PRINTF("Variable System length %d ",sizeof(System) ); 
	
	TIMER_Configuration(); 
	TIMER1_Configuration();
   	System.Usb.OldUsbStatu = USB_STATUS ;	   
	switch(n)
	{
		case 1 :  TESTA(); 	  break ; 
	//	case 2 :  TESTB(); 	  break ;
	//	case 3 :  TESTC(); 	  break ;
	//	case 4 :  TESTD(); 	  break ;
		case 3 :  TESTE(); 	  break ;
		default :break ; 
	}
		
	for(;;)   
	{	
		KeyDispose();	
		OSTimeDly(5); 			
	}
}
Пример #2
0
JNIEXPORT jobjectArray JNICALL Java_com_iq007_bridge_doubledummysolver_DoubleDummySolver_00024BridgeWorker_CalcDDtablePBN
  (JNIEnv * env, jobject obj1, jstring jDealPBNString){

    jobjectArray result;
    jclass objectClass = env->FindClass("java/lang/Object");
    result = env->NewObjectArray(5, objectClass, 0);

    const char *dealPBNString = env->GetStringUTFChars(jDealPBNString, JNI_FALSE);
    ddTableDealPBN tableDealPBN;
    strlcpy(tableDealPBN.cards, dealPBNString, sizeof(tableDealPBN.cards));

    LOGI("tableDealPBN: %s", tableDealPBN.cards);

    ddTableResults tableResults;

    InitStart(0,0);

    int returnResult = CalcDDtablePBN(tableDealPBN, &tableResults);

    LOGI("CalcDDtablePBN returned: %d", returnResult);

    for(int i=0;i<5;i++){
        jintArray strainsArray1;
        strainsArray1 = env->NewIntArray(4);
        env->SetIntArrayRegion(strainsArray1, 0, 4, tableResults.resTable[i]);
        env->SetObjectArrayElement(result, i, strainsArray1);
        for (int j=0;j<4;j++){
          LOGI("Result[%d][%d]: %d", i,j, tableResults.resTable[i][j]);
      }
    }

    env->ReleaseStringUTFChars(jDealPBNString, dealPBNString);

    return result;

}
Пример #3
0
CString CMarkovWordGenerator::Generate (void)

//	Generate
//
//	Generates a random word

	{
	int i;

	if (!InitStart())
		return NULL_STR;

	//	Allocate a result buffer

	char szBuffer[1024];
	int iLength = 0;

	//	Start by picking a random fragment

	DWORD dwRoll = (DWORD)mathRandom(1, m_dwStartCount);
	for (i = 0; i < m_Start.GetCount() && dwRoll > m_Start[i]->dwCount; i++)
		dwRoll -= m_Start[i]->dwCount;

	SFragHead *pFrag = m_Start[i];
	szBuffer[0] = pFrag->sFrag[0];
	szBuffer[1] = pFrag->sFrag[1];
	szBuffer[2] = pFrag->sFrag[2];
	char *pPosFrag = szBuffer;
	char *pPos = szBuffer + 3;
	char *pPosEnd = szBuffer + sizeof(szBuffer);

	while (true)
		{
		//	Bounds check

		if (pPos + 1 == pPosEnd)
			{
			*pPos = '\0';
			return CString(szBuffer);
			}

		//	Pick a random character for this fragment

		dwRoll = (DWORD)mathRandom(1, pFrag->dwCount);
		SChainChar *pChain = GetChain(pFrag);
		while ((*(DWORD *)pChain) != 0)
			{
			if (dwRoll <= pChain->dwCount)
				break;

			dwRoll -= pChain->dwCount;
			pChain++;
			}

		//	Are we done?

		if (pChain->chChar == '\0')
			{
			*pPos = '\0';
			return CString(szBuffer);
			}

		//	Add the character

		*pPos++ = pChain->chChar;
		pPosFrag++;

		//	Look for the new fragment

		int iPos;
		if (Find(pPosFrag, &iPos))
			pFrag = m_Table[iPos];
		else
			{
			*pPos = '\0';
			return CString(szBuffer);
			}
		}

	return NULL_STR;
	}
Пример #4
0
JNIEXPORT jobjectArray JNICALL Java_com_iq007_bridge_doubledummysolver_DoubleDummySolver_00024BridgeWorker_CalcParPBN
  (JNIEnv * env, jobject obj1, jstring jDealPBNString, jint jVulnerability)
  {
        jobjectArray result;
        jclass objectClass = env->FindClass("java/lang/Object");
        result = env->NewObjectArray(4, objectClass, 0);

        int vulnerability = (int) jVulnerability;

        const char *dealPBNString = env->GetStringUTFChars(jDealPBNString, JNI_FALSE);
        ddTableDealPBN tableDealPBN;
        strlcpy(tableDealPBN.cards, dealPBNString, sizeof(tableDealPBN.cards));

        LOGI("tableDealPBN: %s", tableDealPBN.cards);

        ddTableResults  tableResults;
        parResults      tableParResults;

        InitStart(0,0);

        int returnResultCalcDDtable = CalcDDtablePBN(tableDealPBN, &tableResults);
        LOGI("CalcDDtablePBN returned: %d", returnResultCalcDDtable);

        int returnResultCalcPar = Par(&tableResults, &tableParResults, vulnerability);
        LOGI("Par returned: %d", returnResultCalcPar);

        jchar jcharBuffer1[2][16];// = new jcharArray[2][16];
        for(int i=0;i<2;i++){
            for (int j = 0; j<16; j++) {
                jcharBuffer1[i][j] = (jchar)tableParResults.parScore[i][j];
            }
        }

        jchar jcharBuffer2[2][128];// = new jcharArray[128];
        for(int i=0;i<2;i++){
            for (int j = 0; j<128; j++) {
                jcharBuffer2[i][j] = (jchar)tableParResults.parContractsString[i][j];
            }
        }

        for(int i=0;i<2;i++){
            jcharArray strainsArray1;
            strainsArray1 = env->NewCharArray(16);
            env->SetCharArrayRegion(strainsArray1, 0, 16, jcharBuffer1[i]);
            env->SetObjectArrayElement(result, i, strainsArray1);
            for (int j=0;j<16;j++){
              LOGI("Result[%d][%d]: %d", i,j, tableParResults.parScore[i]);
          }
        }
        for(int i=2;i<4;i++){
            jcharArray strainsArray2;
            strainsArray2 = env->NewCharArray(128);
            env->SetCharArrayRegion(strainsArray2, 0, 128, jcharBuffer2[i-2]);
            env->SetObjectArrayElement(result, i, strainsArray2);
            for (int j=0;j<128;j++){
              LOGI("ResultPar[%d][%d]: %d", i-2,j, tableParResults.parContractsString[i-2][j]);
          }
        }

        env->ReleaseStringUTFChars(jDealPBNString, dealPBNString);

        return result;
  }