-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomers
Description
The OrdinalPatterns documentation string promises that the user can provide a comparator function (defaults to lt = isless) to determine how two elements of a state are deemed to be "equal" (useful to prevent bias when there are tied values).
This function lt gets stored in the encoding::OrdinalPatternEncoding field of the OrdinalPatterns struct. However, the function isn't actually used in encode. We did use it before, but after we transitioned to the formal encode/decode interface, we forgot to pass the argument on to the underlying sortperm! call.
The fix is easy. Here's the source code:
function encode(encoding::OrdinalPatternEncoding{m}, χ::AbstractVector) where {m}
if m != length(χ)
throw(ArgumentError("Permutation order and length of input must match!"))
end
perm = sortperm!(encoding.perm, χ)
return permutation_to_integer(perm)
endTODO:
- Pass on
lttosortperm!when computing the permutation pattern.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomers