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) - [ ]
fmaandmuladd - [x]
rationalize(Issue #184, PR #186) - [x] 3-arg
remanddiv(cld) (PR #226, PR #230) - [ ]
rem2piandmod2pi - [x]
signbitfor 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(maxintfixedandminintfixed?) -
parseandtryparsefor fixed point numbers with suffix -
bit shift operators (Issue #250)
- I think they are usuful but somewhat dangerous.
-
numeratoranddenominator -
widemul
Ah, I forgot widemul.