LoadError: MethodError: no method matching quantile(::Distributions.JohnsonSU{Float64}, ::Float64)


#1

Hi smart community,

I faced this problem after having added a univariate continuous to Distributions.jl and univariates.jl Always working on Julia 0.5.1. However, I didn’t face any similar problem when I was on Julia 0.4.6. .
How can I fix the errors below ?
I would be thnakful,

================================================================
LoadError: MethodError: no method matching quantile(::Distributions.JohnsonSU{Float64}, ::Float64)
Closest candidates are:
  quantile(::Distributions.Distribution{Distributions.Univariate,S<:Distributions.ValueSupport}, ::Real) at C:\Users\sbouiw.ADS-IRO.002\AppData\Local\JuliaPro\pkgs-0.5.1.1\v0.5\Distributions\src\univariates.jl:163
  quantile(!Matched::Distributions.DiscreteUniform, ::Float64) at C:\Users\sbouiw.ADS-IRO.002\AppData\Local\JuliaPro\pkgs-0.5.1.1\v0.5\Distributions\src\univariate\discrete\discreteuniform.jl:114
  quantile(!Matched::Distributions.EmpiricalUnivariateDistribution, ::Float64) at C:\Users\sbouiw.ADS-IRO.002\AppData\Local\JuliaPro\pkgs-0.5.1.1\v0.5\Distributions\src\empirical.jl:61
  ...
while loading C:\Users\sbouiw.ADS-IRO.002\Desktop\Airplane-V5.9\AirplaneRealStats5.9.jl, in expression starting on line 385
 in _quantile!(::Array{Float64,1}, ::Distributions.JohnsonSU{Float64}, ::Array{Float64,1}) at univariates.jl:194
 in quantile(::Distributions.JohnsonSU{Float64}, ::Array{Float64,1}) at univariates.jl:205
 in System(::Float64, ::Bool, ::Bool, ::Bool) at AirplaneRealStats5.9.jl:65
 in include_string(::String, ::String) at loading.jl:441
 in include_string(::Module, ::String, ::String) at eval.jl:32
 in (::Atom.##59#62{String,String})() at eval.jl:81
 in withpath(::Atom.##59#62{String,String}, ::String) at utils.jl:30
 in withpath(::Function, ::String) at eval.jl:46
 in macro expansion at eval.jl:79 [inlined]
 in (::Atom.##58#61{Dict{String,Any}})() at task.jl:60

#2

Please post a minimum reproducible example, ie include the code where you define your distribution etc.


#3
# Constructor definition
  function System(mu::Float64, arrivalDelay::Bool, onlineCps::Bool, balakSeq::Bool)
      Que = new()
      Que.genArr = JohnsonSU(0, 3.5 , 1, 0 ) # Airplane Arrival time
      Que.arrivalDelayActivated = arrivalDelay # Activate/Desactivate the Arrival delays genArr
      Que.permutationMethod = onlineCps # Activate/Desactivate permutation between Airplanes
      Que.balakSeq = balakSeq
      Que.genServ = Exponential(1/mu) # Airplane landing and takeoff time         
      Que.waitList = Airplane[]
      Que.servList = Deque{Airplane}()
      Que.sequence = Deque{Airplane}()
      Que.accWait = Accumulate("Size of System")
      Que.tallyWaits = Tally("Waiting times")
      Que.waitTallySt = TallyStore("Waiting times")
      Que.tallyDelays = Tally("Delays")
      Que.tallyDelaysCost = Tally("Delays Cost")  
      rng_gen = MRG32k3aGen(seeds)          
      Que.rngArr = next_stream(rng_gen)
      Que.rngServ = next_stream(rng_gen)
      
      println("Quantile genArr = ", quantile(Que.genArr, [0.05, 0.95]))
      println("Quantile genServ = ", quantile(Que.genServ, [0.5, 0.95]))
      
      return Que 
  end
end