const wchar_t * StrStrI(const wchar_t *str1, const wchar_t *str2) { if (!*str2) return str1; const wchar_t *cp = str1; while (*cp) { const wchar_t *s1 = cp; const wchar_t *s2 = str2; while (*s1 && *s2 && !(Lower(*s1)-Lower(*s2))) { s1++; s2++; } if (!*s2) return cp; cp++; } return nullptr; }
const wchar_t * RevStrStrI(const wchar_t *str1, const wchar_t *str2) { int len1 = StrLength(str1); int len2 = StrLength(str2); if (len2 > len1) return nullptr; if (!*str2) return &str1[len1]; const wchar_t *cp = &str1[len1-len2]; while (cp >= str1) { const wchar_t* s1 = cp; const wchar_t* s2 = str2; while (*s1 && *s2 && !(Lower(*s1)-Lower(*s2))) { s1++; s2++; } if (!*s2) return cp; cp--; } return nullptr; }
nsresult IDBKeyRange::BindToStatement(mozIStorageStatement* aStatement) const { MOZ_ASSERT(aStatement); NS_NAMED_LITERAL_CSTRING(lowerKey, "lower_key"); if (IsOnly()) { return Lower().BindToStatement(aStatement, lowerKey); } nsresult rv; if (!Lower().IsUnset()) { rv = Lower().BindToStatement(aStatement, lowerKey); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } } if (!Upper().IsUnset()) { rv = Upper().BindToStatement(aStatement, NS_LITERAL_CSTRING("upper_key")); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } } return NS_OK; }
bool DictNode::addFreq(char * flexform,char * lextype,int n,char * bf,unsigned int offset,Case cse) { int i; if(cse == casesensitive) for(i = 0;flexform[i] && this->m_flexform[i] && flexform[i] == this->m_flexform[i];++i) ; else for(i = 0;flexform[i] && this->m_flexform[i] && Lower(flexform[i]) == Lower(this->m_flexform[i]);++i) ; if(i > 0 || flexform[i] == this->m_flexform[i]) { // (partial) overlap if(!this->m_flexform[i]) { // looked-for string incorporates this string if(flexform[i]) { // new string longer than this string if(leaf) { return false; // Nothing to do; word isn't in dictionary. } else { if((unsigned char)flexform[i] < (unsigned char)u.sub->m_flexform[0]) { return false; // Nothing to do; word isn't in dictionary. } else { return u.sub->addFreq(flexform + i,lextype,n,bf,offset,cse); } } } else if(!leaf) { // new string equal to this string, but this string is not a leaf return u.sub->addFreq(flexform + i,lextype,n,bf,offset,cse); // return false; // Nothing to do; word isn't in dictionary. } else // only difference between new string and this string is (possibly) lextype { if(u.type->addFreq(lextype,n,bf,false,offset)) return true; if(bf == NULL) return false; return u.type->addFreq(lextype,n,bf,true,offset); // add frequency to one of the lemmas } } else { return false; // Nothing to do; word isn't in dictionary. } } else if(next && (unsigned char)flexform[0] > (unsigned char)this->m_flexform[0]) { return next->addFreq(flexform,lextype,n,bf,offset,cse); } return false; // Nothing to do; word isn't in dictionary. }
local void ball_search(smxptr sm, real r2ball, real *ri) { kdnode *ntab = sm->kd->ntab; bodyptr *bptr = sm->kd->bptr; pqnode *pq = sm->pqhead; int cell, cp, ct, pj; real dist2; cell = KDROOT; /* start at root of tree */ while (cell < sm->kd->nsplit) { /* descend to local bucket */ if (ri[ntab[cell].dim] < ntab[cell].split) cell = Lower(cell); else cell = Upper(cell); } for (pj = ntab[cell].first; pj <= ntab[cell].last; ++pj) if (! InQue(bptr[pj])) { /* in bucket, but not que? */ DISTSQV(dist2, ri, Pos(bptr[pj])); /* compute dist^2 to center */ if (dist2 < r2ball) { /* within current ball? */ ClrFlag(bptr[pq->pind], INQUE); /* drop furthest from que */ SetFlag(bptr[pj], INQUE); /* and add this one to que */ pq->pqkey = dist2; /* store its distance */ pq->pind = pj; /* and its index */ PQReplace(pq); /* move to rightful place */ r2ball = pq->pqkey; /* adopt new search radius */ } } while (cell != KDROOT) { /* scan back toward root */ cp = Sibling(cell); ct = cp; SetNext(ct); do { Intersect(ntab[cp], r2ball, ri, GetNextCell); /* got intersection to test */ if (cp < sm->kd->nsplit) { /* not yet down to bucket? */ cp = Lower(cp); continue; } else /* scan bucket for winners */ for (pj = ntab[cp].first; pj <= ntab[cp].last; ++pj) if (! InQue(bptr[pj])) { /* not already in the que? */ DISTSQV(dist2, ri, Pos(bptr[pj])); if (dist2 < r2ball) { /* but within current ball? */ ClrFlag(bptr[pq->pind], INQUE); SetFlag(bptr[pj], INQUE); pq->pqkey = dist2; pq->pind = pj; PQReplace(pq); r2ball = pq->pqkey; } } GetNextCell: SetNext(cp); } while (cp != ct); cell = Parent(cell); /* climb down towards root */ } sm->pqhead = pq; }
long strindex(char *haystack, char *needle) { while(Lower(*haystack) == Lower(*needle)) { haystack++, needle++; if(*needle == '\0') return 0; } return 1; }
local void upward_pass(kdxptr kd, int cell) { kdnode *ntab = kd->ntab; if (ntab[cell].dim != -1) { // not a terminal node? upward_pass(kd, Lower(cell)); upward_pass(kd, Upper(cell)); combine_nodes(&ntab[cell], &ntab[Lower(cell)], &ntab[Upper(cell)]); } else // scan bodies in node set_bounds(&ntab[cell].bnd, kd->bptr, ntab[cell].first, ntab[cell].last); }
bool IDBKeyRange::Includes(JSContext* aCx, JS::Handle<JS::Value> aValue, ErrorResult& aRv) const { Key key; aRv = GetKeyFromJSVal(aCx, aValue, key); if (aRv.Failed()) { return false; } switch (Key::CompareKeys(Lower(), key)) { case 1: return false; case 0: // Identical keys. if (LowerOpen()) { return false; } break; case -1: if (IsOnly()) { return false; } break; default: MOZ_CRASH(); } if (!IsOnly()) { switch (Key::CompareKeys(key, Upper())) { case 1: return false; case 0: // Identical keys. if (UpperOpen()) { return false; } break; case -1: break; } } else { MOZ_ASSERT(key == Lower()); } return true; }
void build_kdtree(kdxptr kd, int nbucket) { int k, n, i, d, m, j, ct; kdnode *ntab; n = kd->ngas; k = 1; while (n > nbucket) { n = n>>1; k = k<<1; } kd->nnode = k<<1; kd->nsplit = k; ntab = kd->ntab = (kdnode *) allocate(kd->nnode * sizeof(kdnode)); ntab[KDROOT].first = 0; /* initialize root node */ ntab[KDROOT].last = kd->ngas-1; ntab[KDROOT].bnd = kd->bnd; i = KDROOT; ct = KDROOT; SetNext(ct); for ( ; ; ) { /* loop splitting nodes */ if (i < kd->nsplit) { d = 0; /* find longest dimension */ for (j=1; j<3; ++j) { if (ntab[i].bnd.maxb[j]-ntab[i].bnd.minb[j] > ntab[i].bnd.maxb[d]-ntab[i].bnd.minb[d]) d = j; } m = median_index(kd->bptr, d, ntab[i].first, ntab[i].last); ntab[i].dim = d; ntab[i].split = Pos(kd->bptr[m])[d]; ntab[Lower(i)].bnd = ntab[i].bnd; ntab[Lower(i)].bnd.maxb[d] = ntab[i].split; ntab[Lower(i)].first = ntab[i].first; ntab[Lower(i)].last = m-1; ntab[Upper(i)].bnd = ntab[i].bnd; ntab[Upper(i)].bnd.minb[d] = ntab[i].split; ntab[Upper(i)].first = m; ntab[Upper(i)].last = ntab[i].last; i = Lower(i); } else { ntab[i].dim = -1; SetNext(i); if (i == ct) break; } } upward_pass(kd, KDROOT); }
void NTPath::Transform() { string& Data = *this; if (!Data.IsEmpty()) { if(!HasPathPrefix(Data)) { ConvertNameToFull(Data,Data); if (!HasPathPrefix(Data)) { ReplaceSlashToBSlash(Data); string Prefix(ParsePath(Data) == PATH_DRIVELETTER? L"\\\\?\\" : L"\\\\?\\UNC"); while(ReplaceStrings(Data,L"\\\\",L"\\")); Data=Prefix+Data; } } if(Data.At(5) == L':') { // "\\?\C:" -> "\\?\c:" // Some file operations fails on Win2k if a drive letter is in upper case Lower(4,1); } } }
int PFSLoader::GetFile(char *name, uchar **buf, int *len) { struct_directory s3d_dir; struct_data_block s3d_data; char *temp2; long inf; int i; Lower(name); for(i = 0; i < this->count; ++i) { // Derision: Added basic wildcard ability as .ZON filenames don't always match the EQG name if(!strcmp(this->filenames[i], name) || ((name[0]=='*') && !strcmp(this->filenames[i]+strlen(filenames[i])-strlen(name)+2, name+2))) { fseek(this->fp, this->files[i], SEEK_SET); fread(&s3d_dir, sizeof(struct_directory), 1, this->fp); fseek(this->fp, s3d_dir.offset, SEEK_SET); *buf = new uchar[s3d_dir.size]; inf = 0; while(inf < (int)s3d_dir.size) { fread(&s3d_data, sizeof(struct_data_block), 1, this->fp); temp2 = new char[s3d_data.deflen]; fread(temp2, s3d_data.deflen, 1, this->fp); decompress(temp2, (char *) *buf + inf, s3d_data.deflen, s3d_data.inflen); delete [] temp2; inf += s3d_data.inflen; } *len = inf; return 1; } } return 0; }
local int ball_gather(smxptr sm, real r2ball, real *ri) { kdnode *ntab = sm->kd->ntab; bodyptr *bptr = sm->kd->bptr; int cp, nball, pj; real dist2; nball = 0; cp = KDROOT; do { Intersect(ntab[cp], r2ball, ri, GetNextCell); /* got intersection to test */ if (cp < sm->kd->nsplit) { cp = Lower(cp); continue; } else { for (pj = ntab[cp].first; pj <= ntab[cp].last; ++pj) { DISTSQV(dist2, ri, Pos(bptr[pj])); if (dist2 < r2ball) { sm->r2list[nball] = dist2; sm->inlist[nball++] = pj; } } } GetNextCell: SetNext(cp); } while (cp != KDROOT); if (nball > sm->nsmooth + EXTLIST) error("%s: gathered list overflow\n", getargv0()); return (nball); }
static inline void SolveEqs(Cut *cut, count ncut, creal *delta, creal diff) { real last = 0; real r = 1; Cut *c; for( c = cut; ; ++c ) { ccount dim = Dim(c->i); c->row = r -= Div(diff, (delta[Lower(dim)] + delta[Upper(dim)])*c->df); if( --ncut == 0 ) break; last += r*c->lhs; } last = Div(c->lhs - last, r); for( ; c >= cut; last += (--c)->lhs ) { creal delmin = -(c->delta = delta[c->i]); creal delmax = FRACT*(delmin + c->save); c->sol = Div(last, c->df); if( c->sol > delmax ) c->sol = .75*delmax; if( c->sol < delmin ) c->sol = .75*delmin; } }
void FbSQLite3Statement::FTS(int index, const wxString& value) { wxString result; wxString keywords = wxT("OR AND NOT"); wxStringTokenizer tkz(value, wxT(' '), wxTOKEN_STRTOK); while (tkz.HasMoreTokens()) { if (!result.IsEmpty()) result << wxT(' '); wxString word = tkz.GetNextToken(); if (keywords.Find(word) != wxNOT_FOUND) { } else if (word.Left(4) == wxT("NEAR")) { } else { word = Lower(word); size_t len = word.Len(); for (size_t i = 0; i < len; i++) { if (word[i] == 0x0451) word[i] = 0x0435; } if (word.Right(1) == wxT('"')) { word.insert(word.Len() - 1, wxT('*')); } else { word << wxT('*'); } } result << word; } FbSQLite3Statement::Bind(index, result); }
bool Socket::HandleGenderInput() { bool gf = false; Player* mob = GetPlayer(); std::string input = PopCommand(); Lower(input); if (input.length() >= 1) { if (input[0] == 'm') { mob->SetGender(Gender::Male); gf = true; } if (input[0] == 'f') { mob->SetGender(Gender::Female); gf = true; } } if (gf) { InitializeNewPlayer(); } return true; }
void FbSearchFunction::Execute(wxSQLite3FunctionContext& ctx) { int argc = ctx.GetArgCount(); if (argc != 1) { ctx.SetResultError(wxString::Format(fbT("Wrong SEARCH argc: %d."), argc)); return; } wxString input = ctx.GetString(0); wxArrayString words; wxStringTokenizer tkz(Lower(input), wxT(' '), wxTOKEN_STRTOK); while (tkz.HasMoreTokens()) { words.Add(tkz.GetNextToken()); } size_t count = m_masks.Count(); for (size_t i = 0; i < count; i++) { bool not_found = true; size_t count = words.Count(); for (size_t j = 0; j < count; j++) { if ( words[j].Matches(m_masks[i]) ) { not_found = false; break; } } if (not_found) { ctx.SetResult(false); return; } } ctx.SetResult(true); }
int PFSLoader::GetFile(char *name, uchar **buf, int *len) { struct_directory s3d_dir; struct_data_block s3d_data; char *temp2; long inf; int i; Lower(name); for(i = 0; i < this->count; ++i) { if(!strcmp(this->filenames[i], name)) { fseek(this->fp, this->files[i], SEEK_SET); fread(&s3d_dir, sizeof(struct_directory), 1, this->fp); fseek(this->fp, s3d_dir.offset, SEEK_SET); *buf = new uchar[s3d_dir.size]; inf = 0; while(inf < (int)s3d_dir.size) { fread(&s3d_data, sizeof(struct_data_block), 1, this->fp); temp2 = new char[s3d_data.deflen]; fread(temp2, s3d_data.deflen, 1, this->fp); decompress(temp2, (char *) *buf + inf, s3d_data.deflen, s3d_data.inflen); delete[] temp2; inf += s3d_data.inflen; } *len = inf; return 1; } } return 0; }
bool IDBKeyRange::Includes(JSContext* aCx, JS::Handle<JS::Value> aValue, ErrorResult& aRv) const { Key key; aRv = GetKeyFromJSVal(aCx, aValue, key); if (aRv.Failed()) { return false; } MOZ_ASSERT(!(Lower().IsUnset() && Upper().IsUnset())); MOZ_ASSERT_IF(IsOnly(), !Lower().IsUnset() && !LowerOpen() && Lower() == Upper() && LowerOpen() == UpperOpen()); if (!Lower().IsUnset()) { switch (Key::CompareKeys(Lower(), key)) { case 1: return false; case 0: // Identical keys. return !LowerOpen(); case -1: if (IsOnly()) { return false; } break; default: MOZ_CRASH(); } } if (!Upper().IsUnset()) { switch (Key::CompareKeys(key, Upper())) { case 1: return false; case 0: // Identical keys. return !UpperOpen(); case -1: break; } } return true; }
FbSearchFunction::FbSearchFunction(const wxString & input) { FbLogMessage(_("Search template"), input); wxStringTokenizer tkz(Lower(input), wxT(' '), wxTOKEN_STRTOK); while (tkz.HasMoreTokens()) { m_masks.Add(tkz.GetNextToken()); } }
char* _NativeFrameworkDSString::toLowerCase(){ for_each( variableString.begin(), variableString.end(), Lower()); return (char*)variableString.c_str(); }
static inline real Volume(cThis *t, creal *delta) { real vol = 1; count dim; for( dim = 0; dim < t->ndim; ++dim ) vol *= delta[Lower(dim)] + delta[Upper(dim)]; return vol; }
void FbExportParentData::Append(FbModel & model, int book, wxFileName &filename, int size) { int number = 0; wxString name = filename.GetName(); while (true) { wxString fullname = Lower(filename.GetFullName()); size_t count = Count(model); bool ok = true; for (size_t i = 0; i < count; i++) { FbModelData * data = Items(model, i); if (!data) continue; if (Lower(data->GetValue(model)) == fullname) { ok = false; break; } } if (ok) break; filename.SetName(name + wxString::Format(wxT("(%d)"), ++number)); } new FbExportChildData(model, this, book, filename, size); }
Function* Function::FindFunction( sqlite3* db, const wstring& name ) { auto it = gFunctions.find( FuncKey( db, Lower( name ) ) ); return it != gFunctions.end() ? it->second : NULL; }
void YesNoHandler::Input(void* arg, const std::string &input) { std::string text = input; Lower(text); if (text == "y" || text == "yes") { _cb((Socket*)arg, true, _arg); } _cb((Socket*)arg, false, _arg); }
void IDBKeyRange::ToSerialized(SerializedKeyRange& aKeyRange) const { aKeyRange.lowerOpen() = LowerOpen(); aKeyRange.upperOpen() = UpperOpen(); aKeyRange.isOnly() = IsOnly(); aKeyRange.lower() = Lower(); if (!IsOnly()) { aKeyRange.upper() = Upper(); } }
void CDODBaseRocketWeapon::SecondaryAttack() { CBasePlayer *pPlayer = GetPlayerOwner(); //if we're underwater, lower it if( pPlayer->GetWaterLevel() > 2 ) { if( IsDeployed() ) Lower(); return; } if( IsDeployed() ) { Lower(); } else { if ( CanAttack() ) Raise(); } }
char * slower(char *in_s) { int cnt = 0; char *out_s = (char *) malloc(strlen(in_s) + 1); if (out_s == NULL) exit_cover(NC_MEM_ERR_F); while (in_s[cnt] != '\0') { out_s[cnt] = Lower((int)in_s[cnt]); cnt++; } out_s[cnt] = '\0'; return (out_s); }
void WordToken::SetFirstInSentence(bool b) { // std::cout << "sf " << string << std::endl; char st[MAX_WORD_LENGTH]; firstInSentence = b; if (b) { if (IsUpper(*string)) return; *st = Upper(*string); } else { if (IsLower(*string)) return; *st = Lower(*string); } strcpy(st+1, string+1); SetWord(word, st, token); }
void FbLowerFunction::Execute(wxSQLite3FunctionContext& ctx) { int argc = ctx.GetArgCount(); if (argc == 1) { wxString str = Lower(ctx.GetString(0)); size_t len = str.Len(); for (size_t i = 0; i < len; i++) { if (str[i] == 0x0451) str[i] = 0x0435; #ifndef SQLITE_ENABLE_ICU if (!IsAlpha(str[i])) str[i] = 0x20; #endif } ctx.SetResult(str); } else { ctx.SetResultError(wxString::Format(fbT("Wrong LOWER argc: %d."), argc)); } }
const char * lext::constructBaseform(const char * fullform) const { static char buf[256]; int off = S.Offset; const char * w; char * pbuf = buf; for(w = fullform;*w && off;--off) { *pbuf++ = (char)Lower(*w); w++; } for(w = BaseFormSuffix;*w;) { *pbuf++ = *w++; } *pbuf = '\0'; return buf; }