FixedPointNumbers.jl icon indicating copy to clipboard operation
FixedPointNumbers.jl copied to clipboard

Supplemental support for numerical and mathematical functions

Open kimikage opened this issue 4 years ago • 1 comments

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)
  • [x] bitstring (PR #195)
  • [x] big (Issue #184, PR #186)
  • [x] clamp (Issue #179, PR #194)
  • [x] copysign(x::Fixed, y) and flipsign(x::Fixed, y) for speed performance (PR #187)
  • [ ] fma and muladd
  • [x] rationalize (Issue #184, PR #186)
  • [x] 3-arg rem and div (cld) (PR #226, PR #230)
  • [ ] rem2pi and mod2pi
  • [x] signbit for speed performance (for Normed) (PR #187)

To be dropped

  • [x] abs(::Normed) specialization is not helpful. (PR #187)
    • The fallback implementation works fine.
  • [x] copysign(x::Normed, y) and flipsign(x::Normed, y) should be throw error. (PR #187)

TBD

  • maxintfloat (maxintfixed and minintfixed?)

  • parse and tryparse for fixed point numbers with suffix

  • bit shift operators (Issue #250)

    • I think they are usuful but somewhat dangerous.
  • numerator and denominator

  • widemul

kimikage avatar Jun 22 '20 07:06 kimikage

Ah, I forgot widemul.

kimikage avatar Aug 13 '20 15:08 kimikage