Skaruts

sk_util.cpp

Jul 1st, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.41 KB | None | 0 0
  1. #include "sk_utils.h"
  2.  
  3. int8_t sku::DFP = 6;
  4. int8_t sku::FP = DFP;
  5.  
  6. namespace sku
  7. {
  8.  
  9.     // floating point precision value
  10.  
  11.     void setFP(uint16_t p)
  12.     {
  13.         FP = p;
  14.     }
  15.  
  16.     /************************************************************/
  17.     /*      To C string                                         */
  18.     /************************************************************/
  19.         // From bool
  20.             const char* tocs(bool b, bool alpha)
  21.             {
  22.                 return alpha
  23.                 ? static_cast<ostringstream*>( &(ostringstream() << boolalpha << b) )->str().c_str()
  24.                 : static_cast<ostringstream*>( &(ostringstream() << noboolalpha << b) )->str().c_str();
  25.             }
  26.  
  27.         // From int
  28.             const char* tocs(int32_t i)
  29.             {
  30.                 return static_cast<ostringstream*>( &(ostringstream() << i ))->str().c_str();
  31.             }
  32.  
  33.         // From float
  34.             const char* tocs(float f, uint8_t p)
  35.             {
  36.                 string tmp = static_cast<ostringstream*>( &(ostringstream() << fixed << setprecision(p) << f ))->str();
  37.                 return tmp.c_str();
  38.             }
  39.  
  40.         // From C++ string - for convenience
  41.             const char* tocs(string s)
  42.             {
  43.                 return s.c_str();
  44.             }
  45.  
  46.     /************************************************************/
  47.     /*      To C++ string                                       */
  48.     /************************************************************/
  49.         // From bool
  50.             string tos(bool b, bool alpha)
  51.             {
  52.                 return alpha
  53.                 ? static_cast<ostringstream*>( &(ostringstream() << boolalpha << b) )->str()
  54.                 : static_cast<ostringstream*>( &(ostringstream() << noboolalpha << b) )->str();
  55.             }
  56.  
  57.         // From int
  58.             string tos(int32_t i)
  59.             {
  60.                 return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
  61.             }
  62.  
  63.             string tos(uint32_t i)
  64.             {
  65.                 return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
  66.             }
  67.  
  68.             string tos(int64_t i)
  69.             {
  70.                 return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
  71.             }
  72.  
  73.             string tos(uint64_t i)
  74.             {
  75.                 return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
  76.             }
  77.         // From float
  78.             string tos(float f, uint8_t p)
  79.             {
  80.                 return static_cast<ostringstream*>( &(ostringstream() << fixed << setprecision(p) << f ))->str();
  81.             }
  82.  
  83.             string tos(double f, uint8_t p)
  84.             {
  85.                 return static_cast<ostringstream*>( &(ostringstream() << fixed << setprecision(p) << f ))->str();
  86.             }
  87.         // From C string
  88.             string tos(const char* c)
  89.             {
  90.                 stringstream ss;
  91.                 ss << c;
  92.                 return ss.str();
  93.             }
  94.  
  95.     /************************************************************/
  96.     /*      To Bool                                             */
  97.     /************************************************************/
  98.         // C string to bool
  99.             bool stob(const char* c)
  100.             {
  101.                 return tos(c) == "true" || tos(c) == "1";
  102.             }
  103.  
  104.         // C++ string to bool
  105.             bool stob(string s)
  106.             {
  107.                 return s == "true" || s == "1";
  108.             }
  109.  
  110.     /************************************************************/
  111.     /*      To Int                                              */
  112.     /************************************************************/
  113.         // C string to int
  114.             int32_t stoi(const char* c)
  115.             {
  116.                 return atoi(c);
  117.             }
  118.  
  119.         // C++ string to int
  120.             int32_t stoi(string s)
  121.             {
  122.                 return atoi(s.c_str());
  123.             }
  124.  
  125.     /************************************************************/
  126.     /*      To Float                                            */
  127.     /************************************************************/
  128.         // C string to float (double?)
  129.             float stof(const char* c)
  130.             {
  131.                 return atof(c);
  132.             }
  133.  
  134.  
  135.         // C++ string to float (double?)
  136.             float stof(string s)
  137.             {
  138.                 return atof(s.c_str());
  139.             }
  140.  
  141.  
  142.  
  143. } /* namespace sku */
Advertisement
Add Comment
Please, Sign In to add comment