Skip to content

Incorrect parsing of Float64s #30

Closed
@cjprybol

Description

@cjprybol

Hi Shashi,

Does TextParse use a custom Float parser internally instead base Julia's parse(Float64, x)? I ran some tests and found that ~10% of Floats are parsed incorrectly, on average.

Example code

using TextParse, Base.Test
n = 1_000_000
floats = rand(n);
floats_as_string = join(string.(floats), '\n');
# using the Float parser from Base
@test floats == parse.(Float64, split(floats_as_string, '\n'));
a = csvread(IOBuffer(floats_as_string), header_exists=false)[1][1];
@test_broken a == floats
count(a .!= floats)/n

For 3 example runs I got

0.105029
0.104774
0.105412

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions