Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-09 08:28:26

0001 
0002 #include "sto"
0003 
0004 namespace tools {
0005 //////////////////////////////////////////////////////////////////////////////
0006 //////////////////////////////////////////////////////////////////////////////
0007 /////////////////////////////////////////////////////////////////////////////
0008 inline std::string value::to_string(const value& aThis){
0009   std::string _s;
0010   switch(aThis.m_type) {
0011   case value::NONE:
0012     sprintf(_s,5,"(nil)");
0013     return _s;
0014   case value::INT:
0015     sprintf(_s,16,"%d",aThis.u.m_int);
0016     return _s;
0017   case value::DOUBLE:
0018     sprintf(_s,16,"%g",aThis.u.m_double);
0019     return _s;
0020   case value::VOID_STAR:
0021     sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_void_star);
0022     return _s;
0023   case value::UNSIGNED_SHORT:
0024     sprintf(_s,16,"%u",aThis.u.m_unsigned_short);
0025     return _s;
0026   case value::UNSIGNED_INT:
0027     sprintf(_s,16,"%u",aThis.u.m_unsigned_int);
0028     return _s;
0029   case value::BOOL:
0030     sprintf(_s,5,"%s",aThis.u.m_bool?"true":"false");
0031     return _s;
0032   case value::SHORT:
0033     sprintf(_s,16,"%d",aThis.u.m_short);
0034     return _s;
0035   case value::INT64:{
0036     sprintf(_s,16,int64_format(),aThis.u.m_int64);
0037    }return _s;
0038   case value::UNSIGNED_INT64:{
0039     sprintf(_s,16,int64_format(),aThis.u.m_unsigned_int64);
0040    }return _s;
0041   case value::FLOAT:
0042     sprintf(_s,16,"%g",aThis.u.m_float);
0043     return _s;
0044   case value::DOUBLE_STAR:
0045     sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_double_star);
0046     return _s;
0047   case value::FLOAT_STAR:
0048     sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_float_star);
0049     return _s;
0050   case value::INT_STAR:
0051     sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_int_star);
0052     return _s;
0053   case value::STRING:
0054     return *aThis.u.m_string;
0055 
0056   case value::ARRAY_UNSIGNED_SHORT:
0057     if(!nums2s<unsigned short>(aThis.u.m_array_unsigned_short->vector(),_s)) {}
0058     return _s;
0059   case value::ARRAY_SHORT:
0060     if(!nums2s<short>(aThis.u.m_array_short->vector(),_s)) {}
0061     return _s;
0062 
0063   case value::ARRAY_UNSIGNED_INT:
0064     if(!nums2s<unsigned int>(aThis.u.m_array_unsigned_int->vector(),_s)) {}
0065     return _s;
0066   case value::ARRAY_INT:
0067     if(!nums2s<int>(aThis.u.m_array_int->vector(),_s)) {}
0068     return _s;
0069 
0070   case value::ARRAY_UNSIGNED_INT64:
0071     if(!nums2s<uint64>(aThis.u.m_array_unsigned_int64->vector(),_s)) {}
0072     return _s;
0073   case value::ARRAY_INT64:
0074     if(!nums2s<int64>(aThis.u.m_array_int64->vector(),_s)) {}
0075     return _s;
0076 
0077   case value::ARRAY_FLOAT:
0078     if(!nums2s<float>(aThis.u.m_array_float->vector(),_s)) {}
0079     return _s;
0080   case value::ARRAY_DOUBLE:
0081     if(!nums2s<double>(aThis.u.m_array_double->vector(),_s)) {}
0082     return _s;
0083   case value::ARRAY_BOOL:
0084     b2s(aThis.u.m_array_bool->vector(),_s);
0085     return _s;
0086   case value::ARRAY_STRING:
0087     if(!nums2s<std::string>(aThis.u.m_array_string->vector(),_s)) {}
0088     return _s;
0089   default:
0090     return "unknown"; //it should not happen.
0091   }
0092 }
0093 
0094 }