Inspired by the mighty ModInt example, I tried my hand at making a new immutable type. I wanted to make a FloatingPoint type that won't drift as it gets incremented, for use as a time in an integration loop. I've attached my code.
The short story is: I try to compare the type's value to a Float64 literal with @test_approx_eq and I get the following error: ERROR: stack overflow > in <= at promotion.jl:170 (repeats 80000 times) > while loading > /Users/dmatz/Data/Projects/simulations/julia/time/integer_times_test.jl, in > expression starting on line 28 If I manually convert my type to Float64, it of course works. I've provided a promote_rule to Float64, which seems to automatically make a lot of operators work. But why does @test_approx_eq not work? The stack trace doesn't really help. I tried to manually do a <=, and that works just fine... Thanks! Daniel
integer_times_test.jl
Description: Binary data
integer_times.jl
Description: Binary data