long get_size() { //si taille prédéfinie if(I->check1->value()) return taille[I->combo_taille->value()].n; else //si non prédéfinie { const char *s = I->taille->value(); int i = I->combo_mesure->value(); while(*s) { if(i==2 && *s=='.') { fn_alert("Attention, pas de virgule dans les octets..."); return 0; } if(!isdigit(*s) && *s!='.') { fn_alert("Le chiffre \"%s\" est incorrecte...\n",I->taille->value()); return 0; } s++; } //maintenant retourne la bonne valeur switch(i) { case 0: //MO return (long)MO(atof(I->taille->value())); case 1: //KO return (long)KO(atof(I->taille->value())); case 2: //Octet return (long)atof(I->taille->value()); } } return 0; }
void CSharpTabCodeGen::LOCATE_TRANS() { out << " _keys = " << KO() + "[" + vCS() + "]" << ";\n" " _trans = " << CAST(transType) << IO() << "[" << vCS() << "];\n" "\n" " _klen = " << SL() << "[" << vCS() << "];\n" " if ( _klen > 0 ) {\n" " " << signedKeysType << " _lower = _keys;\n" " " << signedKeysType << " _mid;\n" " " << signedKeysType << " _upper = " << CAST(signedKeysType) << " (_keys + _klen - 1);\n" " while (true) {\n" " if ( _upper < _lower )\n" " break;\n" "\n" " _mid = " << CAST(signedKeysType) << " (_lower + ((_upper-_lower) >> 1));\n" " if ( " << GET_WIDE_KEY() << " < " << K() << "[_mid] )\n" " _upper = " << CAST(signedKeysType) << " (_mid - 1);\n" " else if ( " << GET_WIDE_KEY() << " > " << K() << "[_mid] )\n" " _lower = " << CAST(signedKeysType) << " (_mid + 1);\n" " else {\n" " _trans += " << CAST(transType) << " (_mid - _keys);\n" " goto _match;\n" " }\n" " }\n" " _keys += " << CAST(keysType) << " _klen;\n" " _trans += " << CAST(transType) << " _klen;\n" " }\n" "\n" " _klen = " << RL() << "[" << vCS() << "];\n" " if ( _klen > 0 ) {\n" " " << signedKeysType << " _lower = _keys;\n" " " << signedKeysType << " _mid;\n" " " << signedKeysType << " _upper = " << CAST(signedKeysType) << " (_keys + (_klen<<1) - 2);\n" " while (true) {\n" " if ( _upper < _lower )\n" " break;\n" "\n" " _mid = " << CAST(signedKeysType) << " (_lower + (((_upper-_lower) >> 1) & ~1));\n" " if ( " << GET_WIDE_KEY() << " < " << K() << "[_mid] )\n" " _upper = " << CAST(signedKeysType) << " (_mid - 2);\n" " else if ( " << GET_WIDE_KEY() << " > " << K() << "[_mid+1] )\n" " _lower = " << CAST(signedKeysType) << " (_mid + 2);\n" " else {\n" " _trans += " << CAST(transType) << "((_mid - _keys)>>1);\n" " goto _match;\n" " }\n" " }\n" " _trans += " << CAST(transType) << " _klen;\n" " }\n" "\n"; }
void TabCodeGen::LOCATE_TRANS() { out << " _keys = " << ARR_OFF( K(), KO() + "[" + vCS() + "]" ) << ";\n" " _trans = " << IO() << "[" << vCS() << "];\n" "\n" " _klen = " << SL() << "[" << vCS() << "];\n" " if ( _klen > 0 ) {\n" " " << PTR_CONST() << WIDE_ALPH_TYPE() << PTR_CONST_END() << POINTER() << "_lower = _keys;\n" " " << PTR_CONST() << WIDE_ALPH_TYPE() << PTR_CONST_END() << POINTER() << "_mid;\n" " " << PTR_CONST() << WIDE_ALPH_TYPE() << PTR_CONST_END() << POINTER() << "_upper = _keys + _klen - 1;\n" " while (1) {\n" " if ( _upper < _lower )\n" " break;\n" "\n" " _mid = _lower + ((_upper-_lower) >> 1);\n" " if ( " << GET_WIDE_KEY() << " < *_mid )\n" " _upper = _mid - 1;\n" " else if ( " << GET_WIDE_KEY() << " > *_mid )\n" " _lower = _mid + 1;\n" " else {\n" " _trans += " << CAST(UINT()) << "(_mid - _keys);\n" " goto _match;\n" " }\n" " }\n" " _keys += _klen;\n" " _trans += _klen;\n" " }\n" "\n" " _klen = " << RL() << "[" << vCS() << "];\n" " if ( _klen > 0 ) {\n" " " << PTR_CONST() << WIDE_ALPH_TYPE() << PTR_CONST_END() << POINTER() << "_lower = _keys;\n" " " << PTR_CONST() << WIDE_ALPH_TYPE() << PTR_CONST_END() << POINTER() << "_mid;\n" " " << PTR_CONST() << WIDE_ALPH_TYPE() << PTR_CONST_END() << POINTER() << "_upper = _keys + (_klen<<1) - 2;\n" " while (1) {\n" " if ( _upper < _lower )\n" " break;\n" "\n" " _mid = _lower + (((_upper-_lower) >> 1) & ~1);\n" " if ( " << GET_WIDE_KEY() << " < _mid[0] )\n" " _upper = _mid - 2;\n" " else if ( " << GET_WIDE_KEY() << " > _mid[1] )\n" " _lower = _mid + 2;\n" " else {\n" " _trans += " << CAST(UINT()) << "((_mid - _keys)>>1);\n" " goto _match;\n" " }\n" " }\n" " _trans += _klen;\n" " }\n" "\n"; }
void OCamlTabCodeGen::LOCATE_TRANS() { out << " state.keys <- " << AT( KO(), vCS() ) << ";\n" " state.trans <- " << CAST(transType) << AT( IO(), vCS() ) << ";\n" "\n" " let klen = " << AT( SL(), vCS() ) << " in\n" " if klen > 0 then begin\n" " let lower : " << signedKeysType << " ref = ref state.keys in\n" " let upper : " << signedKeysType << " ref = ref " << CAST(signedKeysType) << "(state.keys + klen - 1) in\n" " while !upper >= !lower do\n" " let mid = " << CAST(signedKeysType) << " (!lower + ((!upper - !lower) / 2)) in\n" " if " << GET_WIDE_KEY() << " < " << AT( K(), "mid" ) << " then\n" " upper := " << CAST(signedKeysType) << " (mid - 1)\n" " else if " << GET_WIDE_KEY() << " > " << AT( K(), "mid" ) << " then\n" " lower := " << CAST(signedKeysType) << " (mid + 1)\n" " else begin\n" " state.trans <- state.trans + " << CAST(transType) << " (mid - state.keys);\n" " raise Goto_match;\n" " end\n" " done;\n" " state.keys <- state.keys + " << CAST(keysType) << " klen;\n" " state.trans <- state.trans + " << CAST(transType) << " klen;\n" " end;\n" "\n" " let klen = " << AT( RL(), vCS() ) << " in\n" " if klen > 0 then begin\n" " let lower : " << signedKeysType << " ref = ref state.keys in\n" " let upper : " << signedKeysType << " ref = ref " << CAST(signedKeysType) << "(state.keys + (klen * 2) - 2) in\n" " while !upper >= !lower do\n" " let mid = " << CAST(signedKeysType) << " (!lower + (((!upper - !lower) / 2) land (lnot 1))) in\n" " if " << GET_WIDE_KEY() << " < " << AT( K() , "mid" ) << " then\n" " upper := " << CAST(signedKeysType) << " (mid - 2)\n" " else if " << GET_WIDE_KEY() << " > " << AT( K(), "mid+1" ) << " then\n" " lower := " << CAST(signedKeysType) << " (mid + 2)\n" " else begin\n" " state.trans <- state.trans + " << CAST(transType) << "((mid - state.keys) / 2);\n" " raise Goto_match;\n" " end\n" " done;\n" " state.trans <- state.trans + " << CAST(transType) << " klen;\n" " end;\n" "\n"; }
HBufC* PkiUtil::AttributeTypeToNameL(const TDesC &aType) { HBufC* name; if (aType.Compare(KX520CountryName) == 0) { name = KC().AllocL(); } else if (aType.Compare(KX520OrganizationName) == 0) { name = KO().AllocL(); } else if (aType.Compare(KX520OrganizationalUnitName) == 0) { name = KOU().AllocL(); } else if (aType.Compare(KX520LocalityName) == 0) { name = KL().AllocL(); } else if (aType.Compare(KX520StateOrProvinceName) == 0) { name = KST().AllocL(); } else if (aType.Compare(KX520CommonName) == 0) { name = KCN().AllocL(); } else { // Use the dotted-decimal encoding // of the OID as the attribute name name = aType.AllocL(); } return name; }
void TabCodeGen::writeData() { /* If there are any transtion functions then output the array. If there * are none, don't bother emitting an empty array that won't be used. */ if ( redFsm->anyActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActArrItem), A() ); ACTIONS_ARRAY(); CLOSE_ARRAY() << "\n"; } if ( redFsm->anyConditions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondOffset), CO() ); COND_OFFSETS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondLen), CL() ); COND_LENS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( WIDE_ALPH_TYPE(), CK() ); COND_KEYS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondSpaceId), C() ); COND_SPACES(); CLOSE_ARRAY() << "\n"; } OPEN_ARRAY( ARRAY_TYPE(redFsm->maxKeyOffset), KO() ); KEY_OFFSETS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( WIDE_ALPH_TYPE(), K() ); KEYS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxSingleLen), SL() ); SINGLE_LENS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxRangeLen), RL() ); RANGE_LENS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset), IO() ); INDEX_OFFSETS(); CLOSE_ARRAY() << "\n"; if ( useIndicies ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex), I() ); INDICIES(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxState), TT() ); TRANS_TARGS_WI(); CLOSE_ARRAY() << "\n"; if ( redFsm->anyActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), TA() ); TRANS_ACTIONS_WI(); CLOSE_ARRAY() << "\n"; } } else { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxState), TT() ); TRANS_TARGS(); CLOSE_ARRAY() << "\n"; if ( redFsm->anyActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), TA() ); TRANS_ACTIONS(); CLOSE_ARRAY() << "\n"; } } if ( redFsm->anyToStateActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), TSA() ); TO_STATE_ACTIONS(); CLOSE_ARRAY() << "\n"; } if ( redFsm->anyFromStateActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), FSA() ); FROM_STATE_ACTIONS(); CLOSE_ARRAY() << "\n"; } if ( redFsm->anyEofActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), EA() ); EOF_ACTIONS(); CLOSE_ARRAY() << "\n"; } if ( redFsm->anyEofTrans() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() ); EOF_TRANS(); CLOSE_ARRAY() << "\n"; } STATE_IDS(); }
//=============> les tailles #define MO(n) ((long)(n*1024*1024)) //conv mo en o #define KO(n) ((long)(n*1024)) //conv ko en o typedef struct { char *str; //sa chaine long n; //la taille en octets } TAILLE; //le dernier size doit avoir zero comme //valeur #define DEFAULT_TAILLE_MANUELLE "1.38" // 1.38 mo TAILLE taille[] = { {"1.38 MO", MO(1.38)}, {"650 ko", KO(650)}, {"1.44 MO", MO(1.44)}, {"720 ko", KO(720)}, {"8 MO", MO(8)}, {"64 MO", MO(64)}, {"128 MO", MO(128)}, {"256 MO", MO(256)}, {"650 MO", MO(650)}, {0,0} }; //les variables(suite aprŠs la classe) UserInterface *I=0; Fl_Window *main_window=0; Fl_Window *about=0;
void FTabCodeGen::writeData() { if ( redFsm->anyConditions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondOffset), CO() ); COND_OFFSETS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondLen), CL() ); COND_LENS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( WIDE_ALPH_TYPE(), CK() ); COND_KEYS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondSpaceId), C() ); COND_SPACES(); CLOSE_ARRAY() << L"\n"; } OPEN_ARRAY( ARRAY_TYPE(redFsm->maxKeyOffset), KO() ); KEY_OFFSETS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( WIDE_ALPH_TYPE(), K() ); KEYS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxSingleLen), SL() ); SINGLE_LENS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxRangeLen), RL() ); RANGE_LENS(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset), IO() ); INDEX_OFFSETS(); CLOSE_ARRAY() << L"\n"; if ( useIndicies ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex), I() ); INDICIES(); CLOSE_ARRAY() << L"\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxState), TT() ); TRANS_TARGS_WI(); CLOSE_ARRAY() << L"\n"; if ( redFsm->anyActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActListId), TA() ); TRANS_ACTIONS_WI(); CLOSE_ARRAY() << L"\n"; } } else { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxState), TT() ); TRANS_TARGS(); CLOSE_ARRAY() << L"\n"; if ( redFsm->anyActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActListId), TA() ); TRANS_ACTIONS(); CLOSE_ARRAY() << L"\n"; } } if ( redFsm->anyToStateActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), TSA() ); TO_STATE_ACTIONS(); CLOSE_ARRAY() << L"\n"; } if ( redFsm->anyFromStateActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActionLoc), FSA() ); FROM_STATE_ACTIONS(); CLOSE_ARRAY() << L"\n"; } if ( redFsm->anyEofActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActListId), EA() ); EOF_ACTIONS(); CLOSE_ARRAY() << L"\n"; } if ( redFsm->anyEofTrans() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() ); EOF_TRANS(); CLOSE_ARRAY() << L"\n"; } STATE_IDS(); }