JuliaMath / FixedPointNumbers.jl

fixed point types for julia

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Supplemental support for numerical and mathematical functions

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

To be dropped

  • abs(::Normed) specialization is not helpful. (PR #187)
    • The fallback implementation works fine.
  • 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

Ah, I forgot widemul.