⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyval.cc

📁 大型并行量子化学软件;支持密度泛函(DFT)。可以进行各种量子化学计算。支持CHARMM并行计算。非常具有应用价值。
💻 CC
📖 第 1 页 / 共 2 页
字号:
  return key_describedclassvalue(newkey,def);  }// For arrays:int KeyVal::exists(const char* key,int n1,int n2)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_exists(newkey);  }int KeyVal::count(const char* key,int n1,int n2)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_count(newkey);  }double KeyVal::doublevalue(const char* key,int n1,int n2,                           const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_doublevalue(newkey,def);  }float KeyVal::floatvalue(const char* key,int n1,int n2,                         const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_floatvalue(newkey,def);  }char KeyVal::charvalue(const char* key,int n1,int n2,                       const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_charvalue(newkey,def);  }int KeyVal::intvalue(const char* key,int n1,int n2,                     const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_intvalue(newkey,def);  }size_t KeyVal::sizevalue(const char* key,int n1,int n2,                         const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_sizevalue(newkey,def);  }int KeyVal::booleanvalue(const char* key,int n1,int n2,                         const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_booleanvalue(newkey,def);  }char* KeyVal::pcharvalue(const char* key,int n1,int n2,                         const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_pcharvalue(newkey,def);  }std::string KeyVal::stringvalue(const char* key,int n1,int n2,                                const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_stringvalue(newkey,def);  }Ref<DescribedClass> KeyVal::describedclassvalue(const char* key,int n1,int n2,                                              const KeyValValue& def)  {  char newkey[MaxKeywordLength];  getnewkey(newkey,key,n1,n2);  return key_describedclassvalue(newkey,def);  }// new and improved for the intel, we can once again use va_arg(), so the// 12 arg limit is gone.  Unfortunately we can't use new here, so the vals// array is hardwired to 80.  That should suffice in the foreseeable future//#define getnewvakey(newkey,key,narg) \  strcpy(newkey,key); \  if(narg!=0) { \    int vals[80]; \    if(narg > 80) { \        ExEnv::errn() << "keyval.cc: getnewvakey: too many varargs...sorry" << endl; \        exit(1); \      } \    va_start(args,narg); \    int i; \    for(i=0; i < narg; i++) \      vals[i] = va_arg(args,int); \    va_end(args); \    for(i=0; i < narg; i++)  \      sprintf((newkey+strlen(newkey)),":%d",vals[i]); \    }// For all else:int KeyVal::Va_exists(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_exists(newkey);  }int KeyVal::Va_count(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_count(newkey);  }double KeyVal::Va_doublevalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_doublevalue(newkey,KeyValValuedouble());  }float KeyVal::Va_floatvalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_floatvalue(newkey,KeyValValuefloat());  }char KeyVal::Va_charvalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_charvalue(newkey,KeyValValuechar());  }int KeyVal::Va_intvalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_intvalue(newkey,KeyValValueint());  }size_t KeyVal::Va_sizevalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_sizevalue(newkey,KeyValValuesize());  }char* KeyVal::Va_pcharvalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_pcharvalue(newkey,KeyValValuepchar());  }std::string KeyVal::Va_stringvalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_stringvalue(newkey,KeyValValuestring());  }Ref<DescribedClass> KeyVal::Va_describedclassvalue(const char* key,int narg,...)  {  va_list args;  char newkey[MaxKeywordLength];  getnewvakey(newkey,key,narg);  return key_describedclassvalue(newkey,KeyValValueRefDescribedClass());  }void KeyVal::errortrace(ostream&fp){  fp << indent << "KeyVal: error: \"" << errormsg() << "\"" << endl;}void KeyVal::dump(ostream&fp){  fp << indent << "KeyVal: error: \"" << errormsg() << "\"" << endl;}void KeyVal::print_unseen(ostream&fp){  fp << indent << "(this keyval does not record unread variables)" << endl;}int KeyVal::have_unseen(){  return -1;}voidKeyVal::seterror(KeyValValue::KeyValValueError e){  if (e == KeyValValue::OK) {      seterror(KeyVal::OK);    }  else if (e == KeyValValue::WrongType) {      seterror(KeyVal::WrongType);    }  else {      // shouldn't get here      seterror(KeyVal::OperationFailed);    }}// here are some inline candidates that are here for now because// they were making executables bigvoidKeyVal::seterror(KeyValError err){  errcod = err;}intKeyVal::exists(int i){  return exists((const char*)0,i);}intKeyVal::count(int i){  return count((const char*)0,i);}intKeyVal::booleanvalue(int i,const KeyValValue& def){  return booleanvalue((const char*)0,i,def);}doubleKeyVal::doublevalue(int i,const KeyValValue& def){  return doublevalue((const char*)0,i,def);}floatKeyVal::floatvalue(int i,const KeyValValue& def){  return floatvalue((const char*)0,i,def);}charKeyVal::charvalue(int i,const KeyValValue& def){  return charvalue((const char*)0,i,def);}intKeyVal::intvalue(int i,const KeyValValue& def){  return intvalue((const char*)0,i,def);}size_tKeyVal::sizevalue(int i,const KeyValValue& def){  return sizevalue((const char*)0,i,def);}char*KeyVal::pcharvalue(int i,const KeyValValue& def){  return pcharvalue((const char*)0,i,def);}std::stringKeyVal::stringvalue(int i,const KeyValValue& def){  return stringvalue((const char*)0,i,def);}Ref<DescribedClass>KeyVal::describedclassvalue(int i,const KeyValValue& def){  return describedclassvalue((const char*)0,i,def);}intKeyVal::exists(int i,int j){  return exists((const char*)0,i,j);}intKeyVal::count(int i,int j){  return count((const char*)0,i,j);}intKeyVal::booleanvalue(int i,int j,const KeyValValue& def){  return booleanvalue((const char*)0,i,j,def);}doubleKeyVal::doublevalue(int i,int j,const KeyValValue& def){  return doublevalue((const char*)0,i,j,def);}floatKeyVal::floatvalue(int i,int j,const KeyValValue& def){  return floatvalue((const char*)0,i,j,def);}charKeyVal::charvalue(int i,int j,const KeyValValue& def){  return charvalue((const char*)0,i,j,def);}intKeyVal::intvalue(int i,int j,const KeyValValue& def){  return intvalue((const char*)0,i,j,def);}size_tKeyVal::sizevalue(int i,int j,const KeyValValue& def){  return sizevalue((const char*)0,i,j,def);}char*KeyVal::pcharvalue(int i,int j,const KeyValValue& def){  return pcharvalue((const char*)0,i,j,def);}std::stringKeyVal::stringvalue(int i,int j,const KeyValValue& def){  return stringvalue((const char*)0,i,j,def);}Ref<DescribedClass>KeyVal::describedclassvalue(int i,int j,const KeyValValue& def){  return describedclassvalue((const char*)0,i,j,def);}KeyVal::KeyValErrorKeyVal::error(){  return errcod;}const char*KeyVal::errormsg(){  return errormsg(errcod);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -