@@ -94,21 +94,6 @@ function rem2pi(x::DoubleFloat{T}) where {T<:IEEEFloat}
9494 return HI (x) < 0 ? - m : m
9595end
9696
97- function rem1pi (x:: DoubleFloat{T} ) where {T<: IEEEFloat }
98- m = mod1pi (x)
99- return HI (x) < 0 ? - m : m
100- end
101-
102- function remhalfpi (x:: DoubleFloat{T} ) where {T<: IEEEFloat }
103- m = modhalfpi (x)
104- return HI (x) < 0 ? - m : m
105- end
106-
107- function remqrtrpi (x:: DoubleFloat{T} ) where {T<: IEEEFloat }
108- m = modqrtrpi (x)
109- return HI (x) < 0 ? - m : m
110- end
111-
11297# ========================================== ^^^^^ =========================================
11398
11499const pi_1o1_t64_hi = pi_1o1_t64[1 ]
131116mod1pipm (x:: DoubleFloat{Float32} ) = DoubleFloat {Float32} (mod1pipm (DoubleFloat {Float64} (x)))
132117mod1pipm (x:: DoubleFloat{Float16} ) = DoubleFloat {Float16} (mod1pipm (DoubleFloat {Float64} (x)))
133118
134- function modhalfpipm (x:: DoubleFloat{Float64} )
135- abs (x) < halfpi_d64 && return x
136- w1 = mul323 (inv_pi_1o2_t64, HILO (x))
137- w2 = two_sum (w1[1 ] - trunc (w1[1 ]), w1[2 ], w1[3 ])
138- y = mul322 (pi_1o2_t64, w2)
139- z = Double64 (y)
140- return z
141- end
142-
143- modhalfpipm (x:: DoubleFloat{Float32} ) = DoubleFloat {Float32} (modhalfpipm (DoubleFloat {Float64} (x)))
144- modhalfpipm (x:: DoubleFloat{Float16} ) = DoubleFloat {Float16} (modhalfpipm (DoubleFloat {Float64} (x)))
145-
146- function modqrtrpipm (x:: DoubleFloat{Float64} )
147- abs (x) < qrtrpi_d64 && return x
148- w1 = mul323 (inv_pi_1o4_t64, HILO (x))
149- w2 = two_sum (w1[1 ] - trunc (w1[1 ]), w1[2 ], w1[3 ])
150- y = mul322 (pi_1o4_t64, w2)
151- z = Double64 (y)
152- return z
153- end
154-
155- modqrtrpipm (x:: DoubleFloat{Float32} ) = DoubleFloat {Float32} (modqrtrpipm (DoubleFloat {Float64} (x)))
156- modqrtrpipm (x:: DoubleFloat{Float16} ) = DoubleFloat {Float16} (modqrtrpipm (DoubleFloat {Float64} (x)))
157-
158-
159-
160119#=
161120 rem2pi(x) = x - 2π*round(x/(2π),r)
162121 rem2pi(x, RoundDown) == mod2pi(x)
@@ -178,15 +137,3 @@ rem2pi(x::DoubleFloat{Float32}, rounding::RoundingMode) =
178137 DoubleFloat {Float32} (rem2pi (DoubleFloat {Float64} (x), rounding))
179138rem2pi (x:: DoubleFloat{Float16} , rounding:: RoundingMode ) =
180139 DoubleFloat {Float16} (rem2pi (DoubleFloat {Float64} (x), rounding))
181-
182-
183- rem1pi (x:: DoubleFloat{Float64} , rounding:: RoundingMode{:Down} ) = mod1pi (x)
184- rem1pi (x:: DoubleFloat{Float64} , rounding:: RoundingMode{:Up} ) = - rem1pi (- x, RoundDown)
185- rem1pi (x:: DoubleFloat{Float64} , rounding:: RoundingMode{:Nearest} ) = modhalfpipm (x)
186- rem1pi (x:: DoubleFloat{Float64} , rounding:: RoundingMode{:ToZero} ) =
187- signbit (x) ? rem1pi (x, RoundUp) : rem1pi (x, RoundDown)
188-
189- rem1pi (x:: DoubleFloat{Float32} , rounding:: RoundingMode ) =
190- DoubleFloat {Float32} (rem1pi (DoubleFloat {Float64} (x), rounding))
191- rem1pi (x:: DoubleFloat{Float16} , rounding:: RoundingMode ) =
192- DoubleFloat {Float16} (rem1pi (DoubleFloat {Float64} (x), rounding))
0 commit comments