/* * The Spar Library - modular math parser * Copyright (C) 2000,2001 Davide Angelocola * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #ifdef HAVE_CONFIG_H #include #endif /* HAVE_CONFIG_H */ #include #include #ifdef HAVE_STRERROR #include const char * sl_strerror (int errno) { return strerror (errno); } #else const char * sl_strerror (int errno) { return "sl_strerror: compiled without strerror"; } #endif /* HAVE_STRERROR */ #include #include void sl_string_to_double (char *token, double *r) { #ifdef HAVE_STRTOD register double dval = ZERO; char *ep; #endif errno = 0; #ifdef HAVE_STRTOD dval = strtod (token, &ep); if (errno == ERANGE) sl_error_throw (SL_ERROR_CLASS_WARNING, SL_ERROR_RANGE, "%s", token); *r = dval; #else *r = atof (token); #endif return; }