# erfinv(x::BigFloat) not defined, but says to be depreciated

**URL:** <https://discourse.julialang.org/t/erfinv-x-bigfloat-not-defined-but-says-to-be-depreciated/4685>\
**Category:** Internals & Design\
**Created:** [July 6, 2017, 10:34am UTC](https://discourse.julialang.org/t/erfinv-x-bigfloat-not-defined-but-says-to-be-depreciated/4685 "2017-07-06T10:34:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rawlik](https://avatars.discourse-cdn.com/v4/letter/r/a87d85/32.png) [@rawlik](https://discourse.julialang.org/u/rawlik)\
**Post date:** [July 6, 2017, 10:34am UTC](https://discourse.julialang.org/t/erfinv-x-bigfloat-not-defined-but-says-to-be-depreciated/4685/1 "2017-07-06T10:34:45Z")

</div>

```julia
               _
   _ _ _(_)_ | A fresh approach to technical computing
  (_) | (_) (_) | Documentation: https://docs.julialang.org
   _ _ _| |_ __ _ | Type "?help" for help.
  | | | | | | |/ _` | |
  | | |_| | | | (_| | | Version 0.6.0 (2017-06-19 13:05 UTC)
 _/ |\ __'_|_|_|\__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin13.4.0

julia> Pkg.update()
INFO: Updating METADATA...
INFO: Computing changes...
INFO: No packages to install, update or remove

julia> using SpecialFunctions

julia> erfinv(BigFloat(0.1))
ERROR: erfinv(1.000000000000000055511151231257827021181583404541015625000000000000000000000000e-01,) has been moved to the package SpecialFunctions.jl.
Run Pkg.add("SpecialFunctions") to install SpecialFunctions on Julia v0.6 and later,
and then run `using SpecialFunctions`.
Stacktrace:
 [1] erfinv(::BigFloat) at ./deprecated.jl:1294

```

This error is misleading. The problem is that erfinv(x::BigFloat) is not defined, not that it has been moved.

```julia
julia> @which erfinv(BigFloat(0.1))
erfinv(args...) in Base at deprecated.jl:1294

```

Wouldn’t it be more sensible, that `depreciated.jl` defines only those methods of `erfinv` that have been implemented?

---

<div class="post-metadata">

**Author:** ![mzaffalon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mzaffalon/32/214168_2.png) [@mzaffalon](https://discourse.julialang.org/u/mzaffalon)\
**Post date:** [July 6, 2017, 11:14am UTC](https://discourse.julialang.org/t/erfinv-x-bigfloat-not-defined-but-says-to-be-depreciated/4685/2 "2017-07-06T11:14:15Z")

</div>

You are right, the function for `BigFloat` is not defined. Can you please file an issue at [SpecialFunctions.jl](https://github.com/JuliaMath/SpecialFunctions.jl)?

---

<div class="post-metadata">

**Author:** ![ararslan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ararslan/32/3825_2.png) [@ararslan](https://discourse.julialang.org/u/ararslan)\
**Post date:** [July 7, 2017, 11:04pm UTC](https://discourse.julialang.org/t/erfinv-x-bigfloat-not-defined-but-says-to-be-depreciated/4685/3 "2017-07-07T23:04:41Z")

</div>

This is an issue with the deprecation in Base, not with the SpecialFunctions package. Typically when we do deprecations like this, we try to be as general as possible to make sure people know that the function was moved, regardless of how they’re trying to use it.

In more recent deprecations like this, I’ve avoided repeating the input so that the message is clearer than the function has moved but not necessarily that the method ever necessarily existed. That is, you’d get `ERROR: erfinv has moved` rather than `ERROR: erfinv(1.000......) has moved`. It might be a good idea to change the existing deprecation to that, though I’m not sure whether that’s something that could be backported to 0.6.

---

<div class="post-metadata">

**Author:** ![PieterjanRobbe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pieterjanrobbe/32/3298_2.png) [@PieterjanRobbe](https://discourse.julialang.org/u/PieterjanRobbe)\
**Post date:** [August 1, 2017, 11:42am UTC](https://discourse.julialang.org/t/erfinv-x-bigfloat-not-defined-but-says-to-be-depreciated/4685/4 "2017-08-01T11:42:47Z")

</div>

Also, if you forget the . notation for arrays, you get the same error about the function being moved instead of a deprecation warning (on 0.6).

```julia
erfinv(rand(10))
ERROR: erfinv([0.105557, 0.669202, 0.139597, 0.331199, 0.0114656, 0.125419, 0.932514, 0.748232, 0.231306, 0.145145],) has been moved to the package SpecialFunctions.jl.
Run Pkg.add("SpecialFunctions") to install SpecialFunctions on Julia v0.6 and later,
and then run `using SpecialFunctions`.
Stacktrace:
 [1] #erfinv#802(::Array{Any,1}, ::Function, ::Array{Float64,1}, ::Vararg{Array{Float64,1},N} where N) at ./deprecated.jl:1294
 [2] erfinv(::Array{Float64,1}, ::Vararg{Array{Float64,1},N} where N) at ./deprecated.jl:1294

```
