-
Notifications
You must be signed in to change notification settings - Fork 33
Fix % Normed{UInt32}
on ARM and Improve NaN % FixedPoint
#223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
% Normed{UInt32}
on ARM% Normed{UInt32}
on ARM and Improve NaN % FixedPoint
Codecov Report
@@ Coverage Diff @@
## master #223 +/- ##
==========================================
+ Coverage 91.29% 91.79% +0.50%
==========================================
Files 6 6
Lines 563 573 +10
==========================================
+ Hits 514 526 +12
+ Misses 49 47 -2
Continue to review full report at Codecov.
|
This is not the main topic of this PR, but the speed performance of julia> x_f32 = rand(Float32, 1000, 1000);
julia> @btime $x_f32 .% Q0f7;
8.012 ms (2 allocations: 976.70 KiB) # v0.8.4
762.600 μs (2 allocations: 976.70 KiB) # PR #220
125.699 μs (2 allocations: 976.70 KiB) # this PR Of course this makes it easier to overflow as a trade-off, but still has enough range for practical purposes. |
This change is somewhat ugly, but I will merge this first as it is needed to implement the "new" division. |
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
…th#223) This reduces the environment-/optimization-dependent instability of the results for `NaN`. This also adds tests for `NaN`/`Inf`. This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
Fixes #134 (#134 (comment))
This also adds tests for
NaN
/Inf
. This clarifies the behavior regardingNaN
andInf
, which had not been explicitly defined.This reduces the environment-/optimization-dependent instability of the results for
NaN
.(cf. https://github.com/JuliaMath/FixedPointNumbers.jl/runs/1029971789?check_suite_focus=true#step:5:26)
However, the
rem
is still affected by the undefined behavior ofunsafe_trunc
.