Home | History | Annotate | Download | only in compiler
      1 //
      2 // Copyright (c) 2010 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 
      7 #include <math.h>
      8 #include <stdlib.h>
      9 
     10 #include "util.h"
     11 
     12 #ifdef _MSC_VER
     13     #include <locale.h>
     14 #else
     15     #include <sstream>
     16 #endif
     17 
     18 double atof_dot(const char *str)
     19 {
     20 #ifdef _MSC_VER
     21     _locale_t l = _create_locale(LC_NUMERIC, "C");
     22     double result = _atof_l(str, l);
     23     _free_locale(l);
     24     return result;
     25 #else
     26     double result;
     27     std::istringstream s(str);
     28     std::locale l("C");
     29     s.imbue(l);
     30     s >> result;
     31     return result;
     32 #endif
     33 }
     34