@@ -36,13 +36,11 @@ As suggested in this paper, the domain is restricted to ``(-\infty,1]``.
3636ellipk (m:: Real ) = _ellipk (float (m))
3737
3838function _ellipk (m:: Float64 )
39- flag_is_m_neg = false
40- if m < 0.0
39+ flag_is_m_neg = m < 0.0
40+ if flag_is_m_neg
4141 x = m / (m- 1 ) # dealing with negative args
42- flag_is_m_neg = true
43- elseif m >= 0.0
42+ else
4443 x = m
45- flag_is_m_neg = false
4644 end
4745
4846 if x == 0.0
@@ -54,7 +52,7 @@ function _ellipk(m::Float64)
5452 elseif x > 1.0
5553 throw (DomainError (m, " `m` must lie between -Inf and 1 ---- Domain: (-Inf,1.0]" ))
5654
57- elseif 0.0 <= x < 0.1 # Table 2 from paper
55+ elseif 0.0 < x < 0.1 # Table 2 from paper
5856 t = x- 0.05
5957 t = @horner (t,
6058 1.591003453790792180 , 0.416000743991786912 , 0.245791514264103415 ,
@@ -146,7 +144,8 @@ function _ellipk(m::Float64)
146144 1170222242422.439893 , 8777948323668.937971 , 66101242752484.95041 ,
147145 499488053713388.7989 , 37859743397240299.20 )
148146
149- elseif x >= 0.9
147+ else
148+ @assert 0.9 <= x < 1
150149 td = 1 - x
151150 td1 = td- 0.05
152151 qd = @horner (td,
@@ -207,13 +206,11 @@ As suggested in this paper, the domain is restricted to ``(-\infty,1]``.
207206ellipe (m:: Real ) = _ellipe (float (m))
208207
209208function _ellipe (m:: Float64 )
210- flag_is_m_neg = false
211- if m < 0.0
209+ flag_is_m_neg = m < 0.0
210+ if flag_is_m_neg
212211 x = m / (m- 1 ) # dealing with negative args
213- flag_is_m_neg = true
214- elseif m >= 0.0
212+ else
215213 x = m
216- flag_is_m_neg = false
217214 end
218215
219216 if x == 0.0
@@ -224,7 +221,7 @@ function _ellipe(m::Float64)
224221 elseif x > 1.0
225222 throw (DomainError (m," `m` must lie between -Inf and 1 ---- Domain : (-inf,1.0]" ))
226223
227- elseif 0.0 <= x < 0.1 # Table 2 from paper
224+ elseif 0.0 < x < 0.1 # Table 2 from paper
228225 t = x- 0.05
229226 t = @horner (t ,
230227 + 1.550973351780472328 , - 0.400301020103198524 , - 0.078498619442941939 ,
@@ -311,7 +308,8 @@ function _ellipe(m::Float64)
311308 - 16120097.81581656797 , - 109209938.5203089915 , - 749380758.1942496220 ,
312309 - 5198725846.725541393 , - 36409256888.12139973 )
313310
314- elseif x >= 0.9
311+ else
312+ @assert 0.9 <= x < 1.0
315313 td = 1 - x
316314 td1 = td- 0.05
317315
0 commit comments