pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:615:
{ FLOAT_TYPE f = 0.0; switch(TYPEOF(sp[-1])) { case T_INT: f=(FLOAT_TYPE)(sp[-1].u.integer); break; case T_STRING:
+
#if SIZEOF_FLOAT_TYPE > SIZEOF_DOUBLE
f =
-
+
(FLOAT_TYPE)STRTOLD_PCHARP(MKPCHARP(Pike_sp[-1].u.string->str,
+
Pike_sp[-1].u.string->size_shift),
+
0);
+
#else
+
f =
(FLOAT_TYPE)STRTOD_PCHARP(MKPCHARP(sp[-1].u.string->str, sp[-1].u.string->size_shift), 0);
-
+
#endif
free_string(sp[-1].u.string); break; default: Pike_error("Cannot cast %s to float.\n", get_name_of_type(TYPEOF(sp[-1]))); } SET_SVAL(sp[-1], T_FLOAT, 0, float_number, f); break;