| 12145 | |
| 12146 | template<typename T> |
| 12147 | std::string fpToString( T value, int precision ) { |
| 12148 | if (Catch::isnan(value)) { |
| 12149 | return "nan"; |
| 12150 | } |
| 12151 | |
| 12152 | ReusableStringStream rss; |
| 12153 | rss << std::setprecision( precision ) |
| 12154 | << std::fixed |
| 12155 | << value; |
| 12156 | std::string d = rss.str(); |
| 12157 | std::size_t i = d.find_last_not_of( '0' ); |
| 12158 | if( i != std::string::npos && i != d.size()-1 ) { |
| 12159 | if( d[i] == '.' ) |
| 12160 | i++; |
| 12161 | d = d.substr( 0, i+1 ); |
| 12162 | } |
| 12163 | return d; |
| 12164 | } |
| 12165 | |
| 12166 | //// ======================================================= //// |
| 12167 | // |