SentinelArrays.jl
SentinelArrays.jl copied to clipboard
Array types that can use sentinel values of the element type for special values
In Julia v1.10, I used Aqua to detect method ambiguities in my package https://github.com/impICNF/ContinuousNormalizingFlows.jl/issues/356 and some of its report were related to this package: ```julia Ambiguity #1
This package incorrectly implements [`argmax`](https://docs.julialang.org/en/v1/base/collections/#Base.argmax) for `ChainedVector`s. It returns the maximum value, rather than its index. ```julia julia> using SentinelArrays julia> arrays = [ [18, 70, 92, 15, 65], [25,...
Formerly, `vcat(a::ChainedVector)` would fail with an error. This PR adds a method to match the typical Julia behavior that `vcat(a)=a`.
https://github.com/JuliaData/SentinelArrays.jl/blob/fa840f994ae821d921a9973fbd5e244d35102b1c/src/BufferedVectors.jl#L32 I think the piracy here should be avoided if possible. I noticed this when the error message for something like `push!(0, 0)` changed
Let me know what you think. I took the liberty of rewriting the tests using ReTest, as it allows for much faster iteration in development. Maybe besides tests that only...
This PR includes only a switch from using Test to using ReTest and an arranging of the testsets into (two) different files. The previous runtests.jl contained two testsets, `MissingVectors` and...
I have a date vector (originally from CSV.read) on which `extrema` fails, see below Interestingly when I copy the data, things work. I.e. `extrema(dd[1:end])` works below is an MWE. ```...
As part of a drive to improve the code quality of a Julia package, I checked for method ambiguities using Aqua. I found 17 ambiguities in our package and its...
In some practical cases `SentinelVector` is much slower than `Vector`. For example for data tested in https://bkamins.github.io/julialang/2022/12/23/duckdb.html. We have: ``` julia> summary(posts) "42710197×3 DataFrame" julia> typeof.(eachcol(posts)) 3-element Vector{DataType}: SentinelArrays.ChainedVector{Union{Missing, Int64},...