[Issue 18227] New: Assertion failure in iota for floating point
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jan 11 21:04:26 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=18227
Issue ID: 18227
Summary: Assertion failure in iota for floating point
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: briancschott at gmail.com
std.range.package.iota has a bug in how it calculates the number of steps to
take. The following inputs cause a to!size_t() to round a 999.9999999 down
instead of up to 1000, which then causes an assert failure.
-------------------------
import std.range;
void main()
{
iota(8.5300000000000011, 438.17803623529841, 0.4296480362352984);
}
-------------------------
$ rdmd test.d
core.exception.AssertError@/home/brian/.dvm/compilers/dmd-2.078.0/linux/bin/../../src/phobos/std/range/package.d(5594):
Assertion failure
----------------
??:? _d_assertp [0x96e25d65]
??:? pure ref @safe std.range.iota!(double, double, double).iota(double,
double, double).Result std.range.iota!(double, double, double).iota(double,
double, double).Result.__ctor(double, double, double) [0x96e252fe]
??:? pure @safe std.range.iota!(double, double, double).iota(double, double,
double).Result std.range.iota!(double, double, double).iota(double, double,
double) [0x96e251c0]
??:? _Dmain [0x96e250e7]
--
More information about the Digitalmars-d-bugs
mailing list