Skip to content

Cannot compute quantile(x::Array{Millisecond,1}) #53

Description

@ianfiske
ms = Millisecond.(1:10)
quantile(ms, 0.5)

gives

ERROR: MethodError: no method matching isnan(::Millisecond)
Closest candidates are:
  isnan(::BigFloat) at mpfr.jl:881
  isnan(::Missing) at missing.jl:100
  isnan(::Float16) at float.jl:537
  ...
Stacktrace:
 [1] _quantilesort!(::Array{Millisecond,1}, ::Bool, ::Float64, ::Float64) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Statistics/src/Statistics.jl:960
 [2] quantile!(::Array{Millisecond,1}, ::Float64; sorted::Bool, alpha::Float64, beta::Float64) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Statistics/src/Statistics.jl:943
 [3] quantile(::Array{Millisecond,1}, ::Float64; sorted::Bool, alpha::Float64, beta::Float64) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Statistics/src/Statistics.jl:1052
 [4] quantile(::Array{Millisecond,1}, ::Float64) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Statistics/src/Statistics.jl:1052
 [5] top-level scope at REPL[14]:1
 [6] include_string(::Function, ::Module, ::String, ::String) at ./loading.jl:1088

on Julia 1.5.2.

The root issue is of course

julia> isnan(Millisecond(1))
ERROR: MethodError: no method matching isnan(::Millisecond)
Closest candidates are:
  isnan(::BigFloat) at mpfr.jl:881
  isnan(::Missing) at missing.jl:100
  isnan(::Float16) at float.jl:537

since _quantilesort! calls isnan(x[end])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions