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