Changeset 1761
- Timestamp:
- 16/11/11 17:52:10 (6 months ago)
- Location:
- trunk/applications/NXtranslate
- Files:
-
- 6 edited
-
nexus_util.cpp (modified) (1 diff)
-
node.cpp (modified) (4 diffs)
-
node.h (modified) (1 diff)
-
node_util.cpp (modified) (4 diffs)
-
string_util.cpp (modified) (3 diffs)
-
string_util.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/applications/NXtranslate/nexus_util.cpp
r1686 r1761 394 394 }else if(type==NX_INT32 || type==NX_UINT32 || type==NX_FLOAT32){ 395 395 size*=4; 396 }else if(type==NX_FLOAT64 ){396 }else if(type==NX_FLOAT64 || type==NX_UINT64 || type==NX_INT64){ 397 397 size*=8; 398 398 }else{ -
trunk/applications/NXtranslate/node.cpp
r1452 r1761 31 31 else if(type==Node::INT32) 32 32 return "NX_INT32"; 33 else if(type==Node::INT64) 34 return "NX_INT64"; 33 35 else if(type==Node::UINT8) 34 36 return "NX_UINT8"; … … 37 39 else if(type==Node::UINT32) 38 40 return "NX_UINT32"; 41 else if(type==Node::UINT64) 42 return "NX_UINT64"; 39 43 else 40 44 throw runtime_error("Did not understand type in set_data"); … … 154 158 else if(__type=="NX_INT32") 155 159 return INT32; 160 else if(__type=="NX_INT64") 161 return INT64; 156 162 else if(__type=="NX_UINT8") 157 163 return UINT8; … … 160 166 else if(__type=="NX_UINT32") 161 167 return UINT32; 168 else if(__type=="NX_UINT64") 169 return UINT64; 162 170 else 163 171 throw runtime_error("do not understand type"); -
trunk/applications/NXtranslate/node.h
r1452 r1761 13 13 // enum for types 14 14 enum NXtype{CHAR=NX_CHAR, FLOAT32=NX_FLOAT32, FLOAT64=NX_FLOAT64, 15 INT8=NX_INT8, INT16=NX_INT16, INT32=NX_INT32, 16 UINT8=NX_UINT8, UINT16=NX_UINT16, UINT32=NX_UINT32, 15 INT8=NX_INT8, INT16=NX_INT16, INT32=NX_INT32, INT64=NX_INT64, 16 UINT8=NX_UINT8, UINT16=NX_UINT16, UINT32=NX_UINT32, UINT64=NX_UINT64, 17 17 GROUP}; 18 18 enum NXcompress{COMP_NONE=NX_COMP_NONE, COMP_LZW=NX_COMP_LZW, -
trunk/applications/NXtranslate/node_util.cpp
r1452 r1761 60 60 }else if(type==NX_INT32){ 61 61 string_util::str_to_intArray(char_data,(int *)value,len); 62 }else if(type==NX_INT64){ 63 string_util::str_to_int64Array(char_data,(long long*)value,len); 62 64 }else if(type==NX_UINT8){ 63 65 string_util::str_to_ucharArray(char_data,(unsigned char *)value,len); … … 66 68 }else if(type==NX_UINT32){ 67 69 string_util::str_to_uintArray(char_data,(unsigned int *)value,len); 70 }else if(type==NX_UINT64){ 71 string_util::str_to_uint64Array(char_data,(unsigned long long*)value,len); 68 72 }else{ 69 73 throw runtime_error("unknown type in end_add_char()"); … … 116 120 else if(str=="NX_INT32") 117 121 return Node::INT32; 122 else if(str=="NX_INT64") 123 return Node::INT64; 118 124 else if(str=="NX_UINT8") 119 125 return Node::UINT8; … … 122 128 else if(str=="NX_UINT32") 123 129 return Node::UINT32; 130 else if(str=="NX_UINT64") 131 return Node::UINT64; 124 132 else 125 133 throw runtime_error("Could not understand type in node_type("+str+")"); -
trunk/applications/NXtranslate/string_util.cpp
r851 r1761 104 104 } 105 105 106 extern long long string_util::str_to_int64(const string &str){ 107 if(str.substr(0,1)=="-") 108 return -1*str_to_int64(str.substr(1,str.size())); 109 110 string::const_iterator it=str.begin(); 111 it=find_if(it,str.end(),my_isnotdigit); 112 113 if(it!=str.end()) 114 throw invalid_argument("str_to_int(string) argument is not an integer"); 115 116 return atoll(str.c_str()); 117 } 118 106 119 extern unsigned long string_util::str_to_uint(const string &str){ 107 120 long num=str_to_int(str); 121 if(num<0) 122 throw invalid_argument("str_to_uint(string) argument is not an integer"); 123 return num; 124 } 125 126 extern unsigned long long string_util::str_to_uint64(const string &str){ 127 long long num=str_to_int64(str); 108 128 if(num<0) 109 129 throw invalid_argument("str_to_uint(string) argument is not an integer"); … … 306 326 } 307 327 328 extern void string_util::str_to_int64Array(std::string & str,long long *array, const unsigned int len){ 329 // break it up into a string vector 330 StrVec splitted=shrink_and_split(str); 331 332 if(splitted.size()!=len) 333 throw runtime_error("array and string not same size"); 334 335 // turn each string into a short 336 StrVecIter strIt=splitted.begin(); 337 for( unsigned int i=0 ; i<len ; i++ ) 338 *(array+i)=(long long)str_to_int64(*(strIt+i)); 339 } 340 308 341 extern void string_util::str_to_intArray(std::string & str,int *array, const unsigned int len){ 309 342 // break it up into a string vector … … 356 389 for( unsigned int i=0 ; i<len ; i++ ) 357 390 *(array+i)=(unsigned short)str_to_uint(*(strIt+i)); 391 } 392 393 extern void string_util::str_to_uint64Array(std::string & str,unsigned long long *array, const unsigned int len){ 394 // break it up into a string vector 395 StrVec splitted=shrink_and_split(str); 396 397 if(splitted.size()!=len) 398 throw runtime_error("array and string not same size"); 399 400 // turn each string into a short 401 StrVecIter strIt=splitted.begin(); 402 for( unsigned int i=0 ; i<len ; i++ ) 403 *(array+i)=(unsigned long long)str_to_uint64(*(strIt+i)); 358 404 } 359 405 -
trunk/applications/NXtranslate/string_util.h
r851 r1761 14 14 extern std::string trim(const std::string &); 15 15 extern long str_to_int(const std::string &); 16 extern long long str_to_int64(const std::string &); 16 17 extern unsigned long str_to_uint(const std::string &); 18 extern unsigned long long str_to_uint64(const std::string &); 17 19 extern double str_to_float(const std::string &); 18 20 extern std::vector<std::string> string_to_path(const std::string &); … … 22 24 extern void str_to_shortArray(std::string &,short *, const unsigned int); 23 25 extern void str_to_intArray(std::string &,int *, const unsigned int); 26 extern void str_to_int64Array(std::string &,long long *, const unsigned int); 24 27 extern void str_to_longArray(std::string &,long *, const unsigned int); 25 28 extern void str_to_ushortArray(std::string &,unsigned short *, const unsigned int); 26 29 extern void str_to_uintArray(std::string &,unsigned int *, const unsigned int); 30 extern void str_to_uint64Array(std::string &,unsigned long long *, const unsigned int); 27 31 extern void str_to_ulongArray(std::string &,unsigned long *, const unsigned int); 28 32 extern void str_to_floatArray(std::string &,float *, const unsigned int);
Note: See TracChangeset
for help on using the changeset viewer.
