FixedPointNumbers.jl
FixedPointNumbers.jl copied to clipboard
Supplemental support for numerical and mathematical functions
In response to #179, I checked the support status and performance of some other functions. The (incomplete) list is shown below.
To be supported
- [ ]
^(::FixedPoint, ::Integer)
for more accuracy- e.g.
N0f8(0.8)^3 != N0f8(64/125)
- e.g.
- [x]
bitstring
(PR #195) - [x]
big
(Issue #184, PR #186) - [x]
clamp
(Issue #179, PR #194) - [x]
copysign(x::Fixed, y)
andflipsign(x::Fixed, y)
for speed performance (PR #187) - [ ]
fma
andmuladd
- [x]
rationalize
(Issue #184, PR #186) - [x] 3-arg
rem
anddiv
(cld
) (PR #226, PR #230) - [ ]
rem2pi
andmod2pi
- [x]
signbit
for speed performance (forNormed
) (PR #187)
To be dropped
- [x]
abs(::Normed)
specialization is not helpful. (PR #187)- The fallback implementation works fine.
- [x]
copysign(x::Normed, y)
andflipsign(x::Normed, y)
should be throw error. (PR #187)
TBD
-
maxintfloat
(maxintfixed
andminintfixed
?) -
parse
andtryparse
for fixed point numbers with suffix -
bit shift operators (Issue #250)
- I think they are usuful but somewhat dangerous.
-
numerator
anddenominator
-
widemul
Ah, I forgot widemul
.