You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
doesn't work, but should.
enum string s = "0x9.D70A3D70A3D70A4p-3";
enum d2 = to!real(s);
pragma(msg, d2);
gives me:
/usr/include/dmd-d/std/conv.d(2305): Error: Cannot convert &real to long* at compile time
/usr/include/dmd-d/std/conv.d(1592): called from here: parse(value)
/usr/include/dmd-d/std/conv.d(268): called from here: toImpl(_param_0)
test.d(14): called from here: to("0x9.D70A3D70A3D70A4p-3")
/usr/include/dmd-d/std/conv.d(2305): Error: Cannot convert &real to long* at compile time
/usr/include/dmd-d/std/conv.d(1592): called from here: parse(value)
/usr/include/dmd-d/std/conv.d(268): called from here: toImpl(_param_0)
test.d(15): called from here: to("0x9.D70A3D70A3D70A4p-3")
to("0x9.D70A3D70A3D70A4p-3")
however,
double d = to!real(s);
writeln(d);
compiles and prints
1.23
The text was updated successfully, but these errors were encountered:
Got rid of all the hex bit-packing in `std.conv.parse`, only missing bit is the call to C's `ldexp`, which still causes this to fail at compile-time. You can replace that with manual exponentiation if wanted to fix this, just as done for decimal strings now.
ellery-newcomer reported this on 2012-08-08T12:55:19Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=8523
CC List
Description
The text was updated successfully, but these errors were encountered: