@@ -249,14 +249,15 @@ end
249
249
# En_cf_nogamma and En_cf_gamma
250
250
# returns (evaluated result, # iterations used, whether En_cf_gamma was chosen)
251
251
function En_cf (ν:: Number , z:: Number , niter:: Int = 1000 )
252
- gammapart, cfpart, iters = En_cf_gamma (ν, z, niter)
253
- gammaabs, cfabs = abs (gammapart), abs (cfpart )
254
- if gammaabs != Inf && gammaabs > 1.0 && gammaabs > cfabs
255
- # significant gamma part, use this
256
- return gammapart + cfpart, iters, true
257
- else
258
- return En_cf_nogamma (ν, z, niter) ... , false
252
+ if real ( 1 - ν) > 0
253
+ gammapart, cfpart, iters = En_cf_gamma (ν, z, niter )
254
+ gammaabs, cfabs = abs (gammapart), abs (cfpart)
255
+ if gammaabs != Inf && gammaabs > 1.0 && gammaabs > cfabs
256
+ # significant gamma part, use this
257
+ return gammapart + cfpart, iters, true
258
+ end
259
259
end
260
+ return En_cf_nogamma (ν, z, niter)... , false
260
261
end
261
262
262
263
# Compute expint(ν, z₀+Δ) given start = expint(ν, z₀), as described by [Amos 1980].
0 commit comments