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(); }
void CSharpFFlatCodeGen::writeData() { if ( redFsm->anyConditions() ) { OPEN_ARRAY( WIDE_ALPH_TYPE(), CK() ); COND_KEYS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondSpan), CSP() ); COND_KEY_SPANS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCond), C() ); CONDS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondIndexOffset), CO() ); COND_INDEX_OFFSET(); CLOSE_ARRAY() << "\n"; } OPEN_ARRAY( WIDE_ALPH_TYPE(), K() ); KEYS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxSpan), SP() ); KEY_SPANS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxFlatIndexOffset), IO() ); FLAT_INDEX_OFFSET(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex), I() ); INDICIES(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxState), TT() ); TRANS_TARGS(); CLOSE_ARRAY() << "\n"; if ( redFsm->anyActions() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxActListId), 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->maxActListId), EA() ); EOF_ACTIONS(); CLOSE_ARRAY() << "\n"; } if ( redFsm->anyEofTrans() ) { OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() ); EOF_TRANS(); CLOSE_ARRAY() << "\n"; } STATE_IDS(); }
static PyObject *cosine_sim_expand_dkeys_cpu(PyObject *self, PyObject *args){ PyArrayObject *keys_in, *mem_in, *numpy_buffer_temp; float *keys, *mem, keys_sq_sum, *mem_sq_sum; float *comb; if (!PyArg_ParseTuple(args, "O!O!", &PyArray_Type, &keys_in, &PyArray_Type, &mem_in)) return NULL; int n_controllers = PyArray_DIM(keys_in, 0); int mem_length = PyArray_DIM(keys_in, 1); int M = PyArray_DIM(mem_in, 0); // num mem slots keys = (float *) PyArray_DATA(keys_in); mem = (float *) PyArray_DATA(mem_in); ///////////////////////// output buffer int dims[5]; dims[0] = n_controllers; dims[1] = M; dims[2] = n_controllers; dims[3] = mem_length; numpy_buffer_temp = (PyArrayObject *) PyArray_FromDims(4, dims, NPY_FLOAT); comb = (float *) PyArray_DATA(numpy_buffer_temp); //////////////////////// keys_sq_sum, mem_sq_sum MALLOC(mem_sq_sum, M * sizeof(DATA_TYPE)) memset(mem_sq_sum, 0, M * sizeof(DATA_TYPE)); for(int j = 0; j < M; j++){ for(int k = 0; k < mem_length; k++){ mem_sq_sum[j] += MEM(j,k) * MEM(j,k); } mem_sq_sum[j] = sqrt(mem_sq_sum[j]); } ///////////////////////// // mem*denom - temp (keys*numer*mem_sq_sum) float numer, denom; for(int i = 0; i < n_controllers; i++){ // [1] keys_sq_sum = 0; for(int k = 0; k < mem_length; k++){ keys_sq_sum += KEYS(i,k) * KEYS(i,k); } keys_sq_sum = sqrt(keys_sq_sum); for(int j = 0; j < M; j++){ denom = keys_sq_sum * mem_sq_sum[j]; numer = 0; for(int k = 0; k < mem_length; k++){ numer += KEYS(i,k) * MEM(j,k); COMB(i,j,i,k) = MEM(j,k) / denom; } numer /= keys_sq_sum * denom * denom / mem_sq_sum[j]; for(int k = 0; k < mem_length; k++){ // [2] COMB(i,j,i,k) -= KEYS(i,k) * numer; } } } free(mem_sq_sum); return PyArray_Return(numpy_buffer_temp); }
/* * Read help. */ HELP_DATA *read_help(FILE *fpHelp) { HELP_DATA *pHelp; char *word = '\0'; bool fMatch= FALSE; char letter; do { letter = getc(fpHelp); if (feof(fpHelp)) { fclose(fpHelp); fpReserve = fopen(NULL_FILE, "r"); return NULL; } } while (isspace(letter)); ungetc(letter, fpHelp); pHelp = (HELP_DATA *) alloc_mem(sizeof(HELP_DATA)); pHelp->keyword = NULL; pHelp->text = NULL; for (;;) { word = feof(fpHelp) ? "End" : fread_word(fpHelp); fMatch = FALSE; switch (UPPER(word[0])) { case '*': case '#': fread_to_eol(fpHelp); fMatch = TRUE; break; case 'E': if (!str_cmp(word, "End")) { pHelp->next = NULL; pHelp->prev = NULL; return pHelp; } break; case 'K': KEYS( "Keyword", pHelp->keyword, fread_string(fpHelp)) ; break; case 'L': KEY( "Level", pHelp->level, fread_number(fpHelp)) ; break; case 'T': KEYS( "Text", pHelp->text, fread_string(fpHelp)) ; break; } if (!fMatch) { bbs_bug("Read_help: No match '%s'", word); exit(1); return NULL; } } return pHelp; }
void CSharpTabCodeGen::writeData() { /* If there are any transtion functions then output the array. If there * are none, donL'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() << L"\n"; } 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->maxActionLoc), 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->maxActionLoc), 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->maxActionLoc), 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(); }
#include "SDL.h" #define KEYS(op) \ op(UP) op(DOWN) op(LEFT) op(RIGHT) op(PAGEUP) op(PAGEDOWN) \ op(LCTRL) op(RCTRL) op(LSHIFT) op(RSHIFT) op(LALT) op(RALT) \ op(ESCAPE) op(MINUS) op(EQUALS) op(SPACE) op(TAB) \ op(F1) op(F2) op(F3) op(F4) op(F5) op(F6) \ op(F7) op(F8) op(F9) op(F10) op(F11) op(F12) \ op(1) op(2) op(3) op(4) op(5) op(6) op(7) op(8) op(9) op(0) \ op(a) op(b) op(c) op(d) op(e) op(f) op(g) op(h) op(i) \ op(j) op(k) op(l) op(m) op(n) op(o) op(p) op(q) op(r) \ op(s) op(t) op(u) op(v) op(w) op(x) op(y) op(z) enum cinput_key_e { #define DECL(x) CINPUT_KEY_##x, KEYS(DECL) #undef DECL CINPUT_KEYS_TOTAL }; struct cinput_t { int keys[CINPUT_KEYS_TOTAL]; }; static struct cinput_t g_cinput; static int api_input_key(lua_State *lua) { int key; if (lua_gettop(lua) != 1 || !cutil_isint(lua, 1)) { lua_pushstring(lua, "incorrect argument"); lua_error(lua);
void FlatCodeGen::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( WIDE_ALPH_TYPE(), CK() ); COND_KEYS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondSpan), CSP() ); COND_KEY_SPANS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCond), C() ); CONDS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxCondIndexOffset), CO() ); COND_INDEX_OFFSET(); CLOSE_ARRAY() << "\n"; } OPEN_ARRAY( WIDE_ALPH_TYPE(), K() ); KEYS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxSpan), SP() ); KEY_SPANS(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxFlatIndexOffset), IO() ); FLAT_INDEX_OFFSET(); CLOSE_ARRAY() << "\n"; OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex), I() ); INDICIES(); CLOSE_ARRAY() << "\n"; 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(); }
void load_org() { ORGANIZATION *pRlg; FILE *fp, *rList; char *word, *string; char buf[MSL]; // AREA_DATA *pArea; int rank, iClass; if(( rList = fopen(ORG_LIST,"r" )) == NULL ) { log_string("Org_list not there. No organizations!"); return; } for( word = fread_word(rList); str_cmp(word, "$" ); word = fread_word(rList) ) { sprintf(buf, "%s%s", ORG_DIR, word); if((fp = fopen(buf,"r")) == NULL ) { log_string("organization file missing."); continue; } rank = 0; iClass = rank; for(string = fread_word(fp); str_cmp(word, "$" ); word = fread_word(fp) ) { if(!str_cmp(string,"Gold")) { KEY(pRlg->gold, fread_number(fp)); } if(!str_cmp(string,"City")) { KEY(pRlg->city, fread_number(fp)); } if(!str_cmp(string,"Clan")) { KEY(pRlg->clan, fread_number(fp)); } if(!str_cmp(string,"Guild")) { KEY(pRlg->guild, fread_number(fp)); } if(!str_cmp(string, "Name" ) ) { pRlg = new_org(); KEYS(pRlg->name, fread_string(fp) ); pRlg->next = org_list; org_list = pRlg; continue; } if(!str_cmp(string,"File")) { KEYS(pRlg->filename, fread_string(fp)); continue; } if(!str_cmp(string, "Patron" ) ) { KEYS(pRlg->patron, fread_string(fp) ); continue; } if(!str_cmp(string, "Ranks" ) ) { for(rank = 0; rank < MAX_RELG_RANK ; rank++ ) { KEYS(pRlg->rank[rank], fread_string(fp) ); } continue; } log_string("Invalid string in Organization." ); } } }