这篇教程C++ word函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中word函数的典型用法代码示例。如果您正苦于以下问题:C++ word函数的具体用法?C++ word怎么用?C++ word使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了word函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: thermoTypeDictFoam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New( const fvMesh& mesh){ IOdictionary chemistryDict ( IOobject ( "chemistryProperties", mesh.time().constant(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE, false ) ); word chemistryTypeName; if (chemistryDict.isDict("chemistryType")) { const dictionary& chemistryTypeDict ( chemistryDict.subDict("chemistryType") ); Info<< "Selecting chemistry type " << chemistryTypeDict << endl; const int nCmpt = 8; const char* cmptNames[nCmpt] = { "chemistrySolver", "chemistryModel", "chemistryThermo", "transport", "thermo", "equationOfState", "specie", "energy" }; IOdictionary thermoDict ( IOobject ( "thermophysicalProperties", mesh.time().constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE, false ) ); word thermoTypeName; if (thermoDict.isDict("thermoType")) { const dictionary& thermoTypeDict(thermoDict.subDict("thermoType")); thermoTypeName = word(thermoTypeDict.lookup("transport")) + '<' + word(thermoTypeDict.lookup("thermo")) + '<' + word(thermoTypeDict.lookup("equationOfState")) + '<' + word(thermoTypeDict.lookup("specie")) + ">>," + word(thermoTypeDict.lookup("energy")) + ">"; } else { FatalIOErrorIn ( (ChemistryModel::typeName + "::New(const mesh&)").c_str(), thermoDict ) << "thermoType is in the old format and must be upgraded" << exit(FatalIOError); } Switch isTDAC(chemistryTypeDict.lookupOrDefault("TDAC",false)); // Construct the name of the chemistry type from the components if (isTDAC) { chemistryTypeName = word(chemistryTypeDict.lookup("chemistrySolver")) + '<' + "TDACChemistryModel<" + word(chemistryTypeDict.lookup("chemistryThermo")) + ',' + thermoTypeName + ">>"; } else { chemistryTypeName = word(chemistryTypeDict.lookup("chemistrySolver")) + '<' + "chemistryModel<" + word(chemistryTypeDict.lookup("chemistryThermo")) + ',' + thermoTypeName + ">>"; } typename ChemistryModel::fvMeshConstructorTable::iterator cstrIter = ChemistryModel::fvMeshConstructorTablePtr_->find(chemistryTypeName); if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())//.........这里部分代码省略.........
开发者ID:fcontino,项目名称:OpenFOAM-2.3.x,代码行数:101,
示例2: word_jump void word_jump(cell word_) { gc_root<word> word(word_,parent); literal(tag_fixnum(xt_tail_pic_offset)); literal(word.value()); emit(parent->userenv[JIT_WORD_JUMP]); }
开发者ID:azteca,项目名称:factor,代码行数:6,
示例3: wordHugeNumber operator + ( HugeNumber &u, HugeNumber &v)// Slogenie neotrisatelnix selix chisel{ word j; dword k; // Cifra perenosa word uk; // Chislo razriadov u word vk; // Chislo razriadov v word wk; // Chislo razriadov w word kw; dword p; HugeNumber w; // Zdes bydem nakaplivat rezyltat vk=v.Razr(); uk=u.Razr(); wk=wmax(uk,vk); kw=wmin(uk,vk); w.Resize(wk+1); // Delaem nygnyiy razriadnost rezyltata k=0; // Symiryem razriadi po samomy korotkomy chisly for (j=0; j<kw; j++) { p=dword(u.digit[j])+dword(v.digit[j])+k; if (p>=base) { k=1; w.digit[j] = word(p & (base-1)); } else { k=0; w.digit[j]= word(p); }; }; // Tiper nado prosymirovat ostavshiesia razriadi dlinnogo chisla i // razriad perenosa. if (k!=0) { // Bil perenos pri symmirovanii po korotkomy chisly // Nado symmirivat ostavshiesia razriady if (uk>vk) { // Symmiryem, poka est cifra perenosa for (; j<uk; j++) { p=u.digit[j]+k; if (p>=base) { k=1; w.digit[j] = word(p & (base-1)); } else { k=0; w.digit[j]= word(p); break; }; } // Kopiryem ostavshiesia razriady if (k==0) for (j++; j<uk; j++) w.digit[j]=u.digit[j]; } else { // Symmiryem, poka est cifra perenosa for (; j<vk; j++) { p=v.digit[j]+k; w.digit[j]= word(p & (base-1)); if (p>=base) { k=1; } else { k=0; break; }; } // Kopiryem ostavshiesia razriady if (k==0) for (j++; j<vk; j++) w.digit[j]=v.digit[j]; }; if (k!=0) { // Symmirovanie provedeno po vsem razriadam, no eshe est // cifra perenosa w.digit[j]=word(k); } } else { // Nebilo perenosa pri symmirovanii po korotkomy chisly // Nado prosto skopirovat ostavshiesia razriady dlinnogo chisla if (vk>uk) for (; j<vk; j++) w.digit[j]=v.digit[j]; else if (uk>vk) for (; j<uk; j++) w.digit[j]=word(u.digit[j]+k); }; return w;};
开发者ID:HippoRemote,项目名称:MacHippoVNC,代码行数:100,
示例4: ModbusGetUserCommandAdditional3 uint16_t ModbusGetUserCommandAdditional3() { return word(ModbusUserCommandAdditional3Hi, ModbusUserCommandAdditional3Lo); }
开发者ID:Reddds,项目名称:BOLID-C2000-BI,代码行数:4,
示例5: void PolynomialMod2::SetByte(size_t n, byte value){ reg.CleanGrow(BytesToWords(n+1)); reg[n/WORD_SIZE] &= ~(word(0xff) << 8*(n%WORD_SIZE)); reg[n/WORD_SIZE] |= (word(value) << 8*(n%WORD_SIZE));}
开发者ID:prakhs123,项目名称:cryptopp,代码行数:6,
示例6: ntpSyncvoid ntpSync(){ const int NTP_PACKET_SIZE = 48; // NTP time stamp is in the first 48 bytes of the message byte packetBuffer[ NTP_PACKET_SIZE]; //buffer to hold incoming and outgoing packets int pos; unsigned long timeout; time_t utc, local; TimeChangeRule *tcr; memset(packetBuffer, 0, NTP_PACKET_SIZE); // Initialize values needed to form NTP request // (see URL above for details on the packets) //Serial.println("2"); packetBuffer[0] = 0b11100011; // LI, Version, Mode packetBuffer[1] = 0; // Stratum, or type of clock packetBuffer[2] = 6; // Polling Interval packetBuffer[3] = 0xEC; // Peer Clock Precision // 8 bytes of zero for Root Delay & Root Dispersion packetBuffer[12] = 49; packetBuffer[13] = 0x4E; packetBuffer[14] = 49; packetBuffer[15] = 52; altSerial.println("AT+CIPSTART=1,/"UDP/",/"192.168.10.253/",123"); if (!waitforLine("OK", 2000)) { Serial.println("Unable to connect to NTP server"); return; } altSerial.println("AT+CIPSEND=1,48"); if (!waitforString(">", 1000)) { Serial.println("Prompt missed"); return; } Serial.println("Sending query"); altSerial.write(packetBuffer, NTP_PACKET_SIZE); if (!waitforString("+IPD,1,48:", 2000)) { Serial.println("NTP Server did not respond"); return; } pos = 0; timeout = millis() + 1000; memset(packetBuffer, 0, NTP_PACKET_SIZE); while ((pos < NTP_PACKET_SIZE) && (millis() < timeout)) { if (altSerial.available() > 0) packetBuffer[pos++] = altSerial.read(); } if (!waitforLine("SEND OK", 2000)) { Serial.println("Failed to send?"); } altSerial.println("AT+CIPCLOSE=1"); if (!waitforLine("OK", 2000)) { Serial.println("Unable to close port"); return; } // Serial.print("Bytes received: "); // Serial.println(pos); unsigned long highWord = word(packetBuffer[40], packetBuffer[41]); unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]); // combine the four bytes (two words) into a long integer // this is NTP time (seconds since Jan 1 1900): unsigned long secsSince1900 = highWord << 16 | lowWord; // Serial.print("Seconds since Jan 1 1900 = " ); // Serial.println(secsSince1900); // now convert NTP time into everyday time: // Serial.print("Unix time = "); // Unix time starts on Jan 1 1970. In seconds, that's 2208988800: const unsigned long seventyYears = 2208988800UL; // subtract seventy years: unsigned long epoch = secsSince1900 - seventyYears; // print Unix time: // Serial.println(epoch); setTime(epoch); utc = now(); printTime(utc, "UTC"); local = myTZ.toLocal(utc, &tcr); printTime(local, tcr -> abbrev);}
开发者ID:FrauBluher,项目名称:ShR2,代码行数:86,
示例7: getWindowvoid TextPreview::drawTextArea(QPainter *painter){ useTimer = false; if(ff8Text.isEmpty()) return; bool jp = font->tableCount() == 4; FF8Window ff8Window = getWindow(); /* Window Background */ if(ff8Window.type!=NOWIN) { painter->translate(realPos(ff8Window)); } painter->setBrush(QPixmap(":/images/menu-fond.png")); /* Frame */ QPen pen(QColor(41,41,41)); pen.setWidth(1); pen.setJoinStyle(Qt::MiterJoin); painter->setPen(pen); painter->drawRect(0, 0, maxW, maxH); painter->setPen(QColor(132,132,132)); painter->drawLine(2, 1, maxW-2, 1); painter->drawLine(1, 2, 1, maxH-2); painter->setPen(QColor(58,58,58)); painter->drawLine(2, maxH-1, maxW-1, maxH-1); painter->drawLine(maxW-1, 2, maxW-1, maxH-2); painter->setPen(QColor(99,99,99)); painter->drawPoint(1, 1); painter->setPen(QColor(82,82,82)); painter->drawPoint(maxW-1, 1); painter->drawPoint(1, maxH-1); int ask_first=-1, ask_last=-1; if(ff8Window.type==0x6f) { ask_first = ff8Window.ask_first; ask_last = ff8Window.ask_last; if(ask_last >= ask_first) painter->drawPixmap(10, 11+16*ask_first, QPixmap(":/images/cursor.png")); } /* Text */ fontColor = TdwFile::White; int charId, line=0, x = (ask_first==0 && ask_last>=0 ? 40 : 8), y = 8; int start = pagesPos.value(currentPage, 0), size = ff8Text.size(); for(int i=start ; i<size ; ++i) { charId = (quint8)ff8Text.at(i); if(charId>=32) { if(jp) { letter(&x, &y, charId-32, painter);// 210-32 } else { if(charId<227) { letter(&x, &y, charId-32, painter); } else if(charId>=232) { letter(&x, &y, optimisedDuo[charId-232][0], painter); letter(&x, &y, optimisedDuo[charId-232][1], painter); } } } else if(charId<=1)//NewPage break; else if(charId==2)///n { ++line; x = (ask_first<=line && ask_last>=line ? 40 : 8); y += 16; } else if(charId<32) { ++i; switch(charId) { case 0x03: // Character names charId = (quint8)ff8Text.at(i); if(charId>=0x30 && charId<=0x3a) word(&x, &y, names.at(charId-0x30), painter, 5); else if(charId==0x40) word(&x, &y, names.at(11), painter, 5); else if(charId==0x50) word(&x, &y, names.at(12), painter, 5); else if(charId==0x60) word(&x, &y, names.at(13), painter, 5); break; case 0x04:// Var charId = (quint8)ff8Text.at(i);//.........这里部分代码省略.........
开发者ID:JeMaCheHi,项目名称:deling,代码行数:101,
示例8: searchableSurfaceFoam::binaryOperationSearchableSurface::binaryOperationSearchableSurface( const IOobject& io, const dictionary& dict): searchableSurface(io), aName_(dict.lookupOrDefault<word>("aName","A")), bName_(dict.lookupOrDefault<word>("bName","B")), a_( searchableSurface::New ( word(dict.subDict("a").lookup("type")), IOobject( name()+"_"+word(dict.lookup("type"))+"_"+aName_, io.instance(), io.db(), io.readOpt(), io.writeOpt() ), dict.subDict("a") ) ), b_( searchableSurface::New ( word(dict.subDict("b").lookup("type")), IOobject( name()+"_"+word(dict.lookup("type"))+"_"+bName_, io.instance(), io.db(), io.readOpt(), io.writeOpt() ), dict.subDict("b") ) ), nrARegions_( a().regions().size() ), nrBRegions_( b().regions().size() ){ if(aName_==bName_) { FatalErrorIn("binaryOperationSearchableSurface::binaryOperationSearchableSurface") << "'aName' and 'bName' have the same value " << aName_ << " for " << name() << endl << exit(FatalError); } if(regions().size()!=size()) { FatalErrorIn("binaryOperationSearchableSurface::binaryOperationSearchableSurface") << "Number of regions " << regions().size() << " not equal to size " << size() << nl << "Regions: " << regions() << endl << exit(FatalError); }#ifdef FOAM_SEARCHABLE_SURF_HAS_BOUND_METHOD pointField pts(4); pts[0]=a().bounds().min(); pts[1]=a().bounds().max(); pts[2]=b().bounds().min(); pts[3]=b().bounds().max(); bounds()=boundBox(pts);#endif}
开发者ID:Unofficial-Extend-Project-Mirror,项目名称:openfoam-extend-swak4Foam-dev,代码行数:69,
示例9: lineNumberFoam::Istream& Foam::UIPstream::read(token& t){ // Return the put back token if it exists if (Istream::getBack(t)) { return *this; } char c; // return on error if (!read(c)) { t.setBad(); return *this; } // Set the line number of this token to the current stream line number t.lineNumber() = lineNumber(); // Analyse input starting with this character. switch (c) { // Punctuation case token::END_STATEMENT : case token::BEGIN_LIST : case token::END_LIST : case token::BEGIN_SQR : case token::END_SQR : case token::BEGIN_BLOCK : case token::END_BLOCK : case token::COLON : case token::COMMA : case token::ASSIGN : case token::ADD : case token::SUBTRACT : case token::MULTIPLY : case token::DIVIDE : { t = token::punctuationToken(c); return *this; } // Word case token::WORD : { word* pval = new word; if (read(*pval)) { if (token::compound::isCompound(*pval)) { t = token::compound::New(*pval, *this).ptr(); delete pval; } else { t = pval; } } else { delete pval; t.setBad(); } return *this; } // String case token::VERBATIMSTRING : { // Recurse to read actual string read(t); t.type() = token::VERBATIMSTRING; return *this; } case token::VARIABLE : { // Recurse to read actual string read(t); t.type() = token::VARIABLE; return *this; } case token::STRING : { string* pval = new string; if (read(*pval)) { t = pval; if (c == token::VERBATIMSTRING) { t.type() = token::VERBATIMSTRING; } } else { delete pval; t.setBad(); } return *this; }//.........这里部分代码省略.........
开发者ID:OlegSutyrin,项目名称:OpenFOAM-3.0.x,代码行数:101,
示例10: names_Foam::searchableSurfaces::searchableSurfaces( const IOobject& io, const dictionary& topDict): PtrList<searchableSurface>(topDict.size()), names_(topDict.size()), regionNames_(topDict.size()), allSurfaces_(identity(topDict.size())){ label surfI = 0; forAllConstIter(dictionary, topDict, iter) { const word& key = iter().keyword(); if (!topDict.isDict(key)) { FatalErrorIn ( "searchableSurfaces::searchableSurfaces" "( const IOobject&, const dictionary&)" ) << "Found non-dictionary entry " << iter() << " in top-level dictionary " << topDict << exit(FatalError); } const dictionary& dict = topDict.subDict(key); names_[surfI] = key; dict.readIfPresent("name", names_[surfI]); // Make IOobject with correct name autoPtr<IOobject> namedIO(io.clone()); // Note: we would like to e.g. register triSurface 'sphere.stl' as // 'sphere'. Unfortunately // no support for having object read from different location than // their object name. Maybe have stlTriSurfaceMesh which appends .stl // when reading/writing? namedIO().rename(key); // names_[surfI] // Create and hook surface set ( surfI, searchableSurface::New ( dict.lookup("type"), namedIO(), dict ) ); const searchableSurface& s = operator[](surfI); // Construct default region names by prepending surface name // to region name. const wordList& localNames = s.regions(); wordList& rNames = regionNames_[surfI]; rNames.setSize(localNames.size()); forAll(localNames, regionI) { rNames[regionI] = names_[surfI] + '_' + localNames[regionI]; } // See if dictionary provides any global region names. if (dict.found("regions")) { const dictionary& regionsDict = dict.subDict("regions"); forAllConstIter(dictionary, regionsDict, iter) { const word& key = iter().keyword(); if (regionsDict.isDict(key)) { // Get the dictionary for region iter.keyword() const dictionary& regionDict = regionsDict.subDict(key); label index = findIndex(localNames, key); if (index == -1) { FatalErrorIn ( "searchableSurfaces::searchableSurfaces" "( const IOobject&, const dictionary&)" ) << "Unknown region name " << key << " for surface " << s.name() << endl << "Valid region names are " << localNames << exit(FatalError); } rNames[index] = word(regionDict.lookup("name")); } } } surfI++;//.........这里部分代码省略.........
开发者ID:0184561,项目名称:OpenFOAM-2.1.x,代码行数:101,
示例11: getParametervoid contentTypeField::setBoundary(const string& boundary){ getParameter("boundary")->setValue(word(boundary, vmime::charsets::US_ASCII));}
开发者ID:0xd34df00d,项目名称:vmime,代码行数:4,
示例12: BlockMeshManagerTerrainManager::TerrainManager( const Time & runTime, const dictionary & dict, const searchableSurface * const stl_ ): BlockMeshManager(runTime), stl_(stl_), blockNrs_(dict.lookup("blocks")), cellNrs_(dict.lookup("cells")), domainBox_ ( CoordinateSystem ( point(dict.lookup("p_corner")), List< Foam::vector >(dict.subDict("coordinates").lookup("baseVectors")) ), scalarList(dict.lookup("dimensions")), dict.lookupOrDefault< scalar >("boxResolution",0.0001) ), stlBox_(domainBox_), splineNormalDist_(0), mode_upwardSplines_(0), zeroLevel_(0), gradingFactors_(dict.lookup("gradingFactors")), cylinderModule_(this), modificationModule_(this), gradingModule_(this), blendingFunction_ ( new ScalarBlendingFunction() ){ // Read dictionary: p_above_ = point(dict.lookup("p_above")); maxDistProj_ = readScalar(dict.lookup("maxDistProj")); // option for stl_ inside the domain box: if(dict.found("stlInsideBox")){ if(dict.subDict("stlInsideBox").found("zeroLevel")){ zeroLevel_ = readScalar(dict.subDict("stlInsideBox").lookup("zeroLevel")); } stlBox_ = Box ( CoordinateSystem ( point(dict.subDict("stlInsideBox").lookup("p_corner_inside_stl")), coordinateSystem().axes() ), scalarList(dict.subDict("stlInsideBox").lookup("dimensions_inside_stl")), dict.subDict("stlInsideBox").lookupOrDefault< scalar >("boxResolution",0.0001) ); blendingFunction_ = ScalarBlendingFunction::New ( dict.subDict("stlInsideBox").subDict("blendingFunction") ); if(dict.subDict("stlInsideBox").subDict("blendingFunction").found("writePDF")){ const dictionary & writeDict = dict.subDict("stlInsideBox").subDict("blendingFunction").subDict("writePDF"); blendingFunction_().writePDFs ( word(writeDict.lookup("baseName")), fileName(writeDict.lookup("resultsFolder")), point(writeDict.lookup("probePoint0")), point(writeDict.lookup("probePoint1")), 0,1, readLabel(writeDict.lookup("steps")), readLabel(writeDict.lookup("plotPoints")), readLabel(writeDict.lookup("interpolOrder")) ); } else { Info << "TerrainManager: keyword 'writePDF' not found in sub dictionary 'blendingFunction'." << endl; } } // module orography modifications: if(dict.found("terrainModification")){ Info << " loading orography modification module" << endl; if(!modificationModule_.load(dict.subDict("terrainModification"))){ Info << "/n TerrainManager: Error while loading orography modification module." << endl; throw; } } // module block grading: if(dict.found("blockGrading")){ Info << " loading block grading module" << endl; if(!gradingModule_.load(dict.subDict("blockGrading"))){ Info << "/n TerrainManager: Error while loading block grading module." << endl; throw; } } // module outer cylinder: if(dict.found("outerCylinder")){ Info << " loading cylinder module" << endl; if(!cylinderModule_.load(dict.subDict("outerCylinder"))){ Info << "/n TerrainManager: Error while loading cylinder module." << endl; throw; } }//.........这里部分代码省略.........
开发者ID:acimpoeru,项目名称:terrainBlockMesher,代码行数:101,
示例13: getasciilabel/* * Read an ascii label in from fd f, * in the same format as that put out by display(), * and fill in lp. */static intgetasciilabel(FILE *f, struct disklabel *lp){ char *cp, *endp; const char **cpp; u_int part; char *tp, line[BUFSIZ]; u_long v; int lineno = 0, errors = 0; int i; makelabel("auto", lp); bzero(&part_set, sizeof(part_set)); bzero(&part_size_type, sizeof(part_size_type)); bzero(&part_offset_type, sizeof(part_offset_type)); lp->d_bbsize = BBSIZE; /* XXX */ lp->d_sbsize = 0; /* XXX */ while (fgets(line, sizeof(line) - 1, f)) { lineno++; if ((cp = strchr(line,'/n')) != 0) *cp = '/0'; cp = skip(line); if (cp == NULL) continue; tp = strchr(cp, ':'); if (tp == NULL) { fprintf(stderr, "line %d: syntax error/n", lineno); errors++; continue; } *tp++ = '/0', tp = skip(tp); if (!strcmp(cp, "type")) { if (tp == NULL) tp = unknown; cpp = dktypenames; for (; cpp < &dktypenames[DKMAXTYPES]; cpp++) if (*cpp && !strcmp(*cpp, tp)) { lp->d_type = cpp - dktypenames; break; } if (cpp < &dktypenames[DKMAXTYPES]) continue; errno = 0; v = strtoul(tp, &endp, 10); if (errno != 0 || *endp != '/0') v = DKMAXTYPES; if (v >= DKMAXTYPES) fprintf(stderr, "line %d:%s %lu/n", lineno, "Warning, unknown disk type", v); else lp->d_type = v; continue; } if (!strcmp(cp, "flags")) { for (v = 0; (cp = tp) && *cp != '/0';) { tp = word(cp); if (!strcmp(cp, "removeable")) v |= D_REMOVABLE; else if (!strcmp(cp, "ecc")) v |= D_ECC; else if (!strcmp(cp, "badsect")) v |= D_BADSECT; else { fprintf(stderr, "line %d: %s: bad flag/n", lineno, cp); errors++; } } lp->d_flags = v; continue; } if (!strcmp(cp, "drivedata")) { for (i = 0; (cp = tp) && *cp != '/0' && i < NDDATA;) { lp->d_drivedata[i++] = strtoul(cp, NULL, 10); tp = word(cp); } continue; } if (sscanf(cp, "%lu partitions", &v) == 1) { if (v > MAXPARTITIONS) { fprintf(stderr, "line %d: bad # of partitions/n", lineno); lp->d_npartitions = MAXPARTITIONS; errors++; } else if (v < DEFPARTITIONS) { fprintf(stderr, "line %d: bad # of partitions/n", lineno); lp->d_npartitions = DEFPARTITIONS; errors++; } else lp->d_npartitions = v; continue; } if (tp == NULL)//.........这里部分代码省略.........
开发者ID:ele7enxxh,项目名称:dtrace-pf,代码行数:101,
示例14: libNamesFoam::autoPtr<Foam::dynamicFvMesh> Foam::dynamicFvMesh::New(const IOobject& io){ wordList libNames(1); libNames[0]=word("mesquiteMotionSolver"); forAll(libNames,i) { const word libName("lib"+libNames[i]+".so"); bool ok=dlLibraryTable::open(libName); if(!ok) { WarningIn("dynamicFvMesh::New(const IOobject& io)") << "Loading of dynamic mesh library " << libName << " unsuccesful. Some dynamic mesh methods may not be " << " available" << endl; } } // Enclose the creation of the dynamicMesh to ensure it is // deleted before the dynamicFvMesh is created otherwise the dictionary // is entered in the database twice IOdictionary dynamicMeshDict ( IOobject ( "dynamicMeshDict", io.time().constant(), (io.name() == dynamicFvMesh::defaultRegion ? "" : io.name() ), io.db(), IOobject::MUST_READ, IOobject::NO_WRITE, false ) ); word dynamicFvMeshTypeName(dynamicMeshDict.lookup("dynamicFvMesh")); Info<< "Selecting dynamicFvMesh " << dynamicFvMeshTypeName << endl; dlLibraryTable::open ( dynamicMeshDict, "dynamicFvMeshLibs", IOobjectConstructorTablePtr_ ); if (!IOobjectConstructorTablePtr_) { FatalErrorIn ( "dynamicFvMesh::New(const IOobject&)" ) << "dynamicFvMesh table is empty" << exit(FatalError); } IOobjectConstructorTable::iterator cstrIter = IOobjectConstructorTablePtr_->find(dynamicFvMeshTypeName); if (cstrIter == IOobjectConstructorTablePtr_->end()) { FatalErrorIn ( "dynamicFvMesh::New(const IOobject&)" ) << "Unknown dynamicFvMesh type " << dynamicFvMeshTypeName << endl << endl << "Valid dynamicFvMesh types are :" << endl << IOobjectConstructorTablePtr_->toc() << exit(FatalError); } return autoPtr<dynamicFvMesh>(cstrIter()(io));}
开发者ID:Haider-BA,项目名称:foam-extend-3.0,代码行数:72,
示例15: relativeVelocityModelFoam::relativeVelocityModels::fromMesoscale::fromMesoscale( const dictionary& dict, const incompressibleTwoPhaseInteractingMixture& mixture): relativeVelocityModel(dict, mixture), Vr_(const_cast< GeometricField < vector, fvPatchField, volMesh > &>(mixture.U().mesh().lookupObject< GeometricField <vector, fvPatchField, volMesh> >(word("Vr")))){}
开发者ID:simphony,项目名称:simphony-openfoam,代码行数:9,
示例16: mainint main(int argc, char *argv[]) { time_t start = clock(); int noWords; char str[100]; scanf("%d", &noWords);#ifdef DEBUG printf(">%d</n",noWord); fflush(stdio);#endif int i=0, len; long long totalChars = 0; while(i < noWords) { scanf("%s", str); std::string word(str);#ifdef DEBUG printf(">%s</n",&word[0]);#endif len = word.length(); for(int j=0;j<len;++j) { if(word[j]>='A' && word[j]<='Z') { word[j] += 32; } } try {#ifndef TST trie.insert(word,min(KeywordExtractor :: MAX_TRIE_DEPTH, len));#else trie.insert(word, len);#endif totalChars += len; } catch (MyException exp) { std::cout << "/nFor string " << word << " Error: " << exp; } ++i; } std::string checks[3] = {"hello", "cat", "bomb"}; int sizeCheck = sizeof(checks)/sizeof(std::string); printf("/n>sizeCheck: %d<", sizeCheck); for(int i=0;i<sizeCheck;++i) { if(#ifdef TST trie.check(checks[i], checks[i].length())#else trie.check(checks[i],min(KeywordExtractor :: MAX_TRIE_DEPTH, checks[i].length()))#endif ) printf("/nGot %s", &checks[i][0]); } printf("/nTotalChars : %d/n", totalChars); int totalTries = trie.countAll(); int totalMemory = totalTries * #ifdef TST sizeof(KeywordExtractor::TernarySearchTree);#else sizeof(KeywordExtractor :: Trie);#endif printf("/nTotal Tries:%d/nTotal Memory: %d/nUseful Memory (perc.): %f/n", totalTries, totalMemory, ((100*totalChars)/(double)totalMemory)); if(argc == 2) { std::ifstream inf(argv[1]); if(!inf.is_open()) { std::cout << "/nCan't open file: " << argv[1]; } else { std::map<std::string, int> countKeywords; std::string word; bool badWord = false; while(!inf.eof()) { inf >> word; len = word.length(); badWord = false; for(int i=0;i<len;++i) { if(word[i]>='A' && word[i]<='Z') { word[i] += 32; } else if(!(word[i]>='a' && word[i]<='z')) { badWord = true; break; } } if(badWord) { continue; }//.........这里部分代码省略.........
开发者ID:ashishnegi,项目名称:KeywordExtractor,代码行数:101,
示例17: DeletePointer// Walk through a string, applying the rules specified by the keyword token list and// create a list of color segments.void LLKeywords::findSegments(std::vector<LLTextSegment *>* seg_list, const LLWString& wtext, const LLColor4 &defaultColor){ std::for_each(seg_list->begin(), seg_list->end(), DeletePointer()); seg_list->clear(); if( wtext.empty() ) { return; } S32 text_len = wtext.size(); seg_list->push_back( new LLTextSegment( LLColor3(defaultColor), 0, text_len ) ); const llwchar* base = wtext.c_str(); const llwchar* cur = base; const llwchar* line = NULL; while( *cur ) { if( *cur == '/n' || cur == base ) { if( *cur == '/n' ) { cur++; if( !*cur || *cur == '/n' ) { continue; } } // Start of a new line line = cur; // Skip white space while( *cur && isspace(*cur) && (*cur != '/n') ) { cur++; } if( !*cur || *cur == '/n' ) { continue; } // cur is now at the first non-whitespace character of a new line // Line start tokens { BOOL line_done = FALSE; for (token_list_t::iterator iter = mLineTokenList.begin(); iter != mLineTokenList.end(); ++iter) { LLKeywordToken* cur_token = *iter; if( cur_token->isHead( cur ) ) { S32 seg_start = cur - base; while( *cur && *cur != '/n' ) { // skip the rest of the line cur++; } S32 seg_end = cur - base; LLTextSegment* text_segment = new LLTextSegment( cur_token->getColor(), seg_start, seg_end ); text_segment->setToken( cur_token ); insertSegment( seg_list, text_segment, text_len, defaultColor); line_done = TRUE; // to break out of second loop. break; } } if( line_done ) { continue; } } } // Skip white space while( *cur && isspace(*cur) && (*cur != '/n') ) { cur++; } while( *cur && *cur != '/n' ) { // Check against delimiters { S32 seg_start = 0; LLKeywordToken* cur_delimiter = NULL; for (token_list_t::iterator iter = mDelimiterTokenList.begin(); iter != mDelimiterTokenList.end(); ++iter) { LLKeywordToken* delimiter = *iter; if( delimiter->isHead( cur ) ) { cur_delimiter = delimiter; break;//.........这里部分代码省略.........
开发者ID:AlexRa,项目名称:Kirstens-clone,代码行数:101,
示例18: FatalIOErrorInbool Foam::IOobject::readHeader(Istream& is){ if (IOobject::debug) { Info<< "IOobject::readHeader(Istream&) : reading header for file " << is.name() << endl; } // Check Istream not already bad if (!is.good()) { if (rOpt_ == MUST_READ || rOpt_ == MUST_READ_IF_MODIFIED) { FatalIOErrorIn("IOobject::readHeader(Istream&)", is) << " stream not open for reading essential object from file " << is.name() << exit(FatalIOError); } if (IOobject::debug) { SeriousIOErrorIn("IOobject::readHeader(Istream&)", is) << " stream not open for reading from file " << is.name() << endl; } return false; } token firstToken(is); if ( is.good() && firstToken.isWord() && firstToken.wordToken() == "FoamFile" ) { dictionary headerDict(is); is.version(headerDict.lookup("version")); is.format(headerDict.lookup("format")); headerClassName_ = word(headerDict.lookup("class")); const word headerObject(headerDict.lookup("object")); if (IOobject::debug && headerObject != name()) { IOWarningIn("IOobject::readHeader(Istream&)", is) << " object renamed from " << name() << " to " << headerObject << " for file " << is.name() << endl; } // The note entry is optional headerDict.readIfPresent("note", note_); } else { SeriousIOErrorIn("IOobject::readHeader(Istream&)", is) << "First token could not be read or is not the keyword 'FoamFile'" << nl << nl << "Check header is of the form:" << nl << endl; writeHeader(Info); return false; } // Check stream is still OK if (is.good()) { objState_ = GOOD; } else { if (rOpt_ == MUST_READ || rOpt_ == MUST_READ_IF_MODIFIED) { FatalIOErrorIn("IOobject::readHeader(Istream&)", is) << " stream failure while reading header" << " on line " << is.lineNumber() << " of file " << is.name() << " for essential object" << name() << exit(FatalIOError); } if (IOobject::debug) { Info<< "IOobject::readHeader(Istream&) :" << " stream failure while reading header" << " on line " << is.lineNumber() << " of file " << is.name() << endl; } objState_ = BAD; return false; } if (IOobject::debug) { Info<< " .... read" << endl;//.........这里部分代码省略.........
开发者ID:000861,项目名称:OpenFOAM-2.1.x,代码行数:101,
示例19: creat_indexvoid creat_index (mot* *tab,char name[26]) {page *ptrpg;mot *ptr,*ptr1,*ptr2;int s = 0, z = 0,f;float num_page ;for (s = 0 ; s <26 ; s++) { tab[s]=NULL;}s=0 ; // on a utilise la variable s comme compteur pour compter le nbr du ligne :)char chain[100],chain1[100];FILE *fp;fp = fopen(name,"rt");if (fp == NULL) { printf("/n/n/t Impossible d'ouvrir le fichier /n") ; printf(" veuillez verifier Que le Fichier %s exist et dans le meme directory/n/n/n/n",name); Sleep(5000); exit (3); } else { while (fgets (chain,100,fp)!= NULL) { // on prend une ligne de 100 carectere s = s +1 ; // on a utilise la variable s comme compteur pour compter le nbr du ligne :) if (strlen(chain) != 1 ) { // on verifie si la chaine n'est pas vide or /n only write(chain); // on ecrase et on ecrit la ligne dans un fichier tmp.txt FILE *ft ; // on ouvre le fichier tmp.txt cette fois en mode lire seulement ft = fopen("tmp.txt","rt"); while (fscanf(ft,"%s",chain1) != EOF) { float j ; j = s ; // on lit jusqu"a la fin du fichier tmp.txt Qui contient une seul ligne num_page=ceil(j/lp); if (check(chain1) !=1 && strlen(chain1) > 2 && isalpha(chain1[0])) { if(tab[tolower(chain1[0]) - 'a'] == NULL){ ptr =(mot *)malloc(sizeof(mot )); tab[tolower(chain1[0]) - 'a'] = ptr ; ptr->motindex=(char *)malloc(strlen(chain1)+1); strcpy(ptr->motindex,chain1); ptr->next=NULL; ptr->prempg=(page *)malloc(sizeof(page )); ptr->prempg->nbrocc=1; ptr->prempg->numpg=(int )num_page; ptr->prempg->next=NULL; ptr->derpg=(page *)malloc(sizeof(page)); ptr->derpg=ptr->prempg; } else { ptr = tab[tolower(chain1[0]) - 'a']; z = word(tab,chain1,(int )num_page); switch (z) { case 3 : ptrpg = ptr->prempg;//.........这里部分代码省略.........
开发者ID:isaacdz,项目名称:study_coding_mi,代码行数:101,
示例20: yylexint yylex(void){ int c; static char *buf = 0; static int bufsize = 500; if (buf == 0 && (buf = (char *) malloc(bufsize)) == NULL) FATAL( "out of space in yylex" ); if (sc) { sc = 0; RET('}'); } if (reg) { reg = 0; return regexpr(); }/* printf("top/n"); */ for (;;) { c = gettok(&buf, &bufsize);/* printf("gettok [%s]/n", buf); */ if (c == 0) return 0; if (isalpha(c) || c == '_') return word(buf); if (isdigit(c)) { yylval.cp = setsymtab(buf, tostring(buf), atof(buf), CON|NUM, symtab); /* should this also have STR set? */ RET(NUMBER); } yylval.i = c; switch (c) { case '/n': /* {EOL} */ RET(NL); case '/r': /* assume /n is coming */ case ' ': /* {WS}+ */ case '/t': break; case '#': /* #.* strip comments */ while ((c = input()) != '/n' && c != 0) ; unput(c); break; case ';': RET(';'); case '//': if (peek() == '/n') { input(); } else if (peek() == '/r') { input(); input(); /* /n */ lineno++; } else { RET(c); } break; case '&': if (peek() == '&') { input(); RET(AND); } else RET('&'); case '|': if (peek() == '|') { input(); RET(BOR); } else RET('|'); case '!': if (peek() == '=') { input(); yylval.i = NE; RET(NE); } else if (peek() == '~') { input(); yylval.i = NOTMATCH; RET(MATCHOP); } else RET(NOT); case '~': yylval.i = MATCH; RET(MATCHOP); case '<': if (peek() == '=') { input(); yylval.i = LE; RET(LE); } else { yylval.i = LT; RET(LT); } case '=': if (peek() == '=') { input(); yylval.i = EQ; RET(EQ); } else { yylval.i = ASSIGN; RET(ASGNOP); } case '>': if (peek() == '=') { input(); yylval.i = GE; RET(GE); } else if (peek() == '>') { input(); yylval.i = APPEND; RET(APPEND); } else { yylval.i = GT; RET(GT); } case '+': if (peek() == '+') { input(); yylval.i = INCR; RET(INCR); } else if (peek() == '=') { input(); yylval.i = ADDEQ; RET(ASGNOP);//.........这里部分代码省略.........
开发者ID:djbclark,项目名称:bb10qnx,代码行数:101,
示例21: ajout_mot// la procedure ajout_mot comme son nom l'indique ajoute un mot donne// dans l'indexvoid ajout_mot (mot **tableau,char chainn[50],int k){mot *ptr,*ptr1,*ptr2;page *ptrpg;int z,f; if(tableau[tolower(chainn[0]) - 'a'] == NULL){ ptr =(mot *)malloc(sizeof(mot )); tableau[tolower(chainn[0]) - 'a'] = ptr ; ptr->motindex=(char *)malloc(strlen(chainn)+1); strcpy(ptr->motindex,chainn); ptr->next=NULL; ptr->prempg=(page *)malloc(sizeof(page )); ptr->prempg->nbrocc=1; ptr->prempg->numpg=k; ptr->prempg->next=NULL; ptr->derpg=(page *)malloc(sizeof(page)); ptr->derpg=ptr->prempg; } else { ptr = tableau[tolower(chainn[0]) - 'a'] ; z = word(tableau,chainn,k); printf("======================> Z :%d/n",z); switch (z) { case 3 : ptrpg = ptr->prempg; ptr->prempg=NULL; ptr->prempg=(page *)malloc(sizeof(page)); ptr->prempg->nbrocc=1; ptr->prempg->numpg=k; ptr->prempg->next = ptrpg; break ; case 2 : ptr = word2(tableau[tolower(chainn[0]) - 'a'],chainn,k); if (ptr==NULL){ printf("we have an error /n"); } ptr->derpg->nbrocc++; ptr->derpg->next=NULL; break ; case 1: ptr = word2(tableau[tolower(chainn[0]) - 'a'],chainn,k); if (ptr == NULL) { printf("we have problem"); } ptrpg=(page *)malloc(sizeof(page )); ptr->derpg->next=ptrpg; ptr->derpg=ptrpg; ptrpg->next=NULL; ptrpg->nbrocc=1; ptrpg->numpg=k; break ; case 0://.........这里部分代码省略.........
开发者ID:isaacdz,项目名称:study_coding_mi,代码行数:101,
示例22: ModbusValidateRequest/** * @brief * This method validates slave incoming messages * * @return 0 if OK, EXCEPTION if anything fails * @ingroup buffer */uint8_t ModbusValidateRequest(){ // check message crc vs calculated crc uint16_t u16MsgCRC = ((_au8Buffer[_u8BufferSize - 2] << 8) | _au8Buffer[_u8BufferSize - 1]); // combine the crc Low & High bytes if (ModbusCalcCRC(_u8BufferSize - 2) != u16MsgCRC) { _u16errCnt++; return NO_REPLY; } // check fct code bool isSupported = false; for (uint8_t i = 0; i< sizeof ( fctsupported); i++) { if (fctsupported[i] == _au8Buffer[FUNC]) { isSupported = 1; break; } } if (!isSupported) { _u16errCnt++; return EXC_FUNC_CODE; } // check start address & nb range uint16_t u16regs = 0; uint16_t u16count = 0; uint8_t u8regs; switch (_au8Buffer[ FUNC ]) { case MB_FC_READ_COILS: case MB_FC_READ_DISCRETE_INPUT: case MB_FC_WRITE_MULTIPLE_COILS: // Всего может быть до 16 адресов u16regs = word(_au8Buffer[ ADD_HI ], _au8Buffer[ ADD_LO ]); u16count = word(_au8Buffer[ NB_HI ], _au8Buffer[ NB_LO ]); if (u16count > 16) return EXC_REGS_QUANT; if (u16regs > 15 || u16regs + u16count > 16) return EXC_ADDR_RANGE; break; case MB_FC_WRITE_COIL: u16regs = word(_au8Buffer[ ADD_HI ], _au8Buffer[ ADD_LO ]); u8regs = _au8Buffer[ NB_HI ]; if (u8regs != 0x00 && u8regs != 0xFF) return EXC_REGS_QUANT; if (u16regs > 15) return EXC_ADDR_RANGE; break; case MB_FC_WRITE_REGISTER: u16regs = word(_au8Buffer[ ADD_HI ], _au8Buffer[ ADD_LO ]); u8regs = (uint8_t) u16regs; if (u8regs > _holdingRegsCount) return EXC_ADDR_RANGE; break; case MB_FC_READ_INPUT_REGISTER: // 4 u16regs = word(_au8Buffer[ ADD_HI ], _au8Buffer[ ADD_LO ]); u16regs += word(_au8Buffer[ NB_HI ], _au8Buffer[ NB_LO ]); u8regs = (uint8_t) u16regs; if (u8regs > _inputRegsCount) return EXC_ADDR_RANGE; break; case MB_FC_READ_REGISTERS: case MB_FC_WRITE_MULTIPLE_REGISTERS: u16regs = word(_au8Buffer[ ADD_HI ], _au8Buffer[ ADD_LO ]); u16regs += word(_au8Buffer[ NB_HI ], _au8Buffer[ NB_LO ]); u8regs = (uint8_t) u16regs; if (u8regs > _holdingRegsCount) return EXC_ADDR_RANGE; break; case MB_FC_REPORT_SLAVE_ID: break; // Read eeprom case MB_FC_READ_FILE_RECORD: { uint8_t res = CheckFunc20(); if(res != 0) return res; } break; // Write to EEPROM case MB_FC_WRITE_FILE_RECORD: if (_au8Buffer[ FILE_REF_TYPE ] != 6) return EXC_ADDR_RANGE; // Support only file # 0x0001 if (_au8Buffer[ FILE_NUM_HI ] != 0x00 || _au8Buffer[ FILE_NUM_LO ] != 0x01) return EXC_ADDR_RANGE; // Test for EEPROM range unsigned long startAddrBytes = ((_au8Buffer[ FILE_REC_HI ] << 8) | _au8Buffer[ FILE_REC_LO ]) << 1; unsigned long recLenBytes = ((_au8Buffer[ FILE_REC_LEN_HI ] << 8) | _au8Buffer[ FILE_REC_LEN_LO ]) << 1;//.........这里部分代码省略.........
开发者ID:Reddds,项目名称:BOLID-C2000-BI,代码行数:101,
示例23: getasciilabel/* * Read an ascii label in from FILE f, * in the same format as that put out by display(), * and fill in lp. */intgetasciilabel(FILE *f, struct disklabel *lp){ char **cpp, *cp; const char *errstr; struct partition *pp; char *mp, *tp, *s, line[BUFSIZ]; char **omountpoints = NULL; int lineno = 0, errors = 0; u_int32_t v, fsize; u_int64_t lv; unsigned int part; lp->d_version = 1; lp->d_bbsize = BBSIZE; /* XXX */ lp->d_sbsize = SBSIZE; /* XXX */ if (!(omountpoints = calloc(MAXPARTITIONS, sizeof(char *)))) errx(4, "out of memory"); mpcopy(omountpoints, mountpoints); for (part = 0; part < MAXPARTITIONS; part++) { free(mountpoints[part]); mountpoints[part] = NULL; } while (fgets(line, sizeof(line), f)) { lineno++; mp = NULL; if ((cp = strpbrk(line, "/r/n"))) *cp = '/0'; if ((cp = strpbrk(line, "#"))) { *cp = '/0'; mp = skip(cp+1); if (mp && *mp != '/') mp = NULL; } cp = skip(line); if (cp == NULL) continue; tp = strchr(cp, ':'); if (tp == NULL) { warnx("line %d: syntax error", lineno); errors++; continue; } *tp++ = '/0', tp = skip(tp); if (!strcmp(cp, "type")) { if (tp == NULL) tp = "unknown"; else if (strcasecmp(tp, "IDE") == 0) tp = "ESDI"; cpp = dktypenames; for (; cpp < &dktypenames[DKMAXTYPES]; cpp++) if ((s = *cpp) && !strcasecmp(s, tp)) { lp->d_type = cpp - dktypenames; goto next; } v = GETNUM(lp->d_type, tp, 0, &errstr); if (errstr || v >= DKMAXTYPES) warnx("line %d: warning, unknown disk type: %s", lineno, tp); lp->d_type = v; continue; } if (!strcmp(cp, "flags")) { for (v = 0; (cp = tp) && *cp != '/0';) { tp = word(cp); if (!strcmp(cp, "badsect")) v |= D_BADSECT; else if (!strcmp(cp, "vendor")) v |= D_VENDOR; else { warnx("line %d: bad flag: %s", lineno, cp); errors++; } } lp->d_flags = v; continue; } if (!strcmp(cp, "drivedata")) { int i; for (i = 0; (cp = tp) && *cp != '/0' && i < NDDATA;) { v = GETNUM(lp->d_drivedata[i], cp, 0, &errstr); if (errstr) warnx("line %d: bad drivedata %s", lineno, cp); lp->d_drivedata[i++] = v; tp = word(cp); } continue; } if (sscanf(cp, "%d partitions", &v) == 1) {//.........这里部分代码省略.........
开发者ID:SylvestreG,项目名称:bitrig,代码行数:101,
示例24: emit_subprimitive void emit_subprimitive(cell word_) { gc_root<word> word(word_,parent); gc_root<array> code_pair(word->subprimitive,parent); literals.append(parent->untag<array>(array_nth(code_pair.untagged(),0))); emit(array_nth(code_pair.untagged(),1)); }
开发者ID:azteca,项目名称:factor,代码行数:6,
示例25: getasciipartspec/* * Read a partition line into partition `part' in the specified disklabel. * Return 0 on success, 1 on failure. */static intgetasciipartspec(char *tp, struct disklabel *lp, int part, int lineno){ struct partition *pp; char *cp, *endp; const char **cpp; u_long v; pp = &lp->d_partitions[part]; cp = NULL; v = 0; NXTWORD(part_size_type[part],v); if (v == 0 && part_size_type[part] != '*') { fprintf(stderr, "line %d: %s: bad partition size/n", lineno, cp); return (1); } pp->p_size = v; v = 0; NXTWORD(part_offset_type[part],v); if (v == 0 && part_offset_type[part] != '*' && part_offset_type[part] != '/0') { fprintf(stderr, "line %d: %s: bad partition offset/n", lineno, cp); return (1); } pp->p_offset = v; if (tp == NULL) { fprintf(stderr, "line %d: missing file system type/n", lineno); return (1); } cp = tp, tp = word(cp); for (cpp = fstypenames; cpp < &fstypenames[FSMAXTYPES]; cpp++) if (*cpp && !strcmp(*cpp, cp)) break; if (*cpp != NULL) { pp->p_fstype = cpp - fstypenames; } else { if (isdigit(*cp)) { errno = 0; v = strtoul(cp, &endp, 10); if (errno != 0 || *endp != '/0') v = FSMAXTYPES; } else v = FSMAXTYPES; if (v >= FSMAXTYPES) { fprintf(stderr, "line %d: Warning, unknown file system type %s/n", lineno, cp); v = FS_UNUSED; } pp->p_fstype = v; } switch (pp->p_fstype) { case FS_UNUSED: case FS_BSDFFS: case FS_BSDLFS: /* accept defaults for fsize/frag/cpg */ if (tp) { NXTNUM(pp->p_fsize); if (pp->p_fsize == 0) break; NXTNUM(v); pp->p_frag = v / pp->p_fsize; if (tp != NULL) NXTNUM(pp->p_cpg); } /* else default to 0's */ break; default: break; } return (0);}
开发者ID:ele7enxxh,项目名称:dtrace-pf,代码行数:81,
示例26: thermoTypeDicttypename Table::iterator Foam::basicThermo::lookupThermo( const dictionary& thermoDict, Table* tablePtr){ word thermoTypeName; if (thermoDict.isDict("thermoType")) { const dictionary& thermoTypeDict(thermoDict.subDict("thermoType")); Info<< "Selecting thermodynamics package " << thermoTypeDict << endl; const int nCmpt = 7; const char* cmptNames[nCmpt] = { "type", "mixture", "transport", "thermo", "equationOfState", "specie", "energy" }; // Construct the name of the thermo package from the components thermoTypeName = word(thermoTypeDict.lookup("type")) + '<' + word(thermoTypeDict.lookup("mixture")) + '<' + word(thermoTypeDict.lookup("transport")) + '<' + word(thermoTypeDict.lookup("thermo")) + '<' + word(thermoTypeDict.lookup("equationOfState")) + '<' + word(thermoTypeDict.lookup("specie")) + ">>," + word(thermoTypeDict.lookup("energy")) + ">>>"; // Lookup the thermo package typename Table::iterator cstrIter = tablePtr->find(thermoTypeName); // Print error message if package not found in the table if (cstrIter == tablePtr->end()) { FatalErrorInFunction << "Unknown " << Thermo::typeName << " type " << nl << "thermoType" << thermoTypeDict << nl << nl << "Valid " << Thermo::typeName << " types are:" << nl << nl; // Get the list of all the suitable thermo packages available wordList validThermoTypeNames ( tablePtr->sortedToc() ); // Build a table of the thermo packages constituent parts // Note: row-0 contains the names of constituent parts List<wordList> validThermoTypeNameCmpts ( validThermoTypeNames.size() + 1 ); validThermoTypeNameCmpts[0].setSize(nCmpt); forAll(validThermoTypeNameCmpts[0], j) { validThermoTypeNameCmpts[0][j] = cmptNames[j]; } // Split the thermo package names into their constituent parts forAll(validThermoTypeNames, i) { validThermoTypeNameCmpts[i+1] = Thermo::splitThermoName(validThermoTypeNames[i], nCmpt); } // Print the table of available packages // in terms of their constituent parts printTable(validThermoTypeNameCmpts, FatalError); FatalError<< exit(FatalError); }
开发者ID:BarisCumhur,项目名称:OpenFOAM-dev,代码行数:79,
示例27: LESModelGenSGSStress::GenSGSStress( const volVectorField& U, const surfaceScalarField& phi, transportModel& transport): LESModel(word("GenSGSStress"), U, phi, transport), ce_ ( dimensioned<scalar>::lookupOrAddToDict ( "ce", coeffDict_, 1.048 ) ), couplingFactor_ ( dimensioned<scalar>::lookupOrAddToDict ( "couplingFactor", coeffDict_, 0.0 ) ), B_ ( IOobject ( "B", runTime_.timeName(), U_.db(), IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh_ ), nuSgs_ ( IOobject ( "nuSgs", runTime_.timeName(), U_.db(), IOobject::NO_READ, IOobject::NO_WRITE ), nu(), B_.boundaryField().types() ){ if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0) { FatalErrorIn ( "GenSGSStress::GenSGSStress" "(const volVectorField& U, const surfaceScalarField& phi," "transportModel& lamTransportModel)" ) << "couplingFactor = " << couplingFactor_ << " is not in range 0 - 1" << nl << exit(FatalError); }}
开发者ID:TsukasaHori,项目名称:openfoam-extend-foam-extend-3.1,代码行数:68,
注:本文中的word函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ wordexp函数代码示例 C++ wnoutrefresh函数代码示例 |