Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
ForwardDiff = "0.10, 1"
PrecompileTools = "1.0.1"
SafeTestsets = "0.1"
SciMLTesting = "2.2"
SciMLTesting = "2.4"
StableRNGs = "1"
Test = "1.10"
julia = "1.10"
Expand Down
2 changes: 1 addition & 1 deletion src/equality.jl
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ end
function findfirstsortedequal(
var::Int64,
vars::DenseVector{Int64},
::Val{basecase} = Base.libllvm_version >= v"17" ? Val(8) : Val(128),
::Val{basecase} = VERSION >= v"1.12" ? Val(8) : Val(128),
) where {basecase}
len = length(vars)
offset = 0
Expand Down
2 changes: 1 addition & 1 deletion src/guesser.jl
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ next correlated lookup by either
"""
struct Guesser{T <: AbstractVector}
v::T
idx_prev::Base.RefValue{Int}
idx_prev::typeof(Ref(1))
linear_lookup::Bool
end

Expand Down
18 changes: 9 additions & 9 deletions src/kinds.jl
Original file line number Diff line number Diff line change
Expand Up @@ -51,68 +51,68 @@ end

# Julia 1.10's `@enum` does not accept inline docstrings for individual
# values, so keep per-kind docs immediately next to the enum definition.
@doc """
"""
KIND_BINARY_BRACKET::StrategyKind

Select [`BinaryBracket`](@ref FindFirstFunctions.BinaryBracket), the plain
binary-search fallback for positional sorted searches.
""" KIND_BINARY_BRACKET

@doc """
"""
KIND_LINEAR_SCAN::StrategyKind

Select [`LinearScan`](@ref FindFirstFunctions.LinearScan), the hinted
strategy that walks linearly from a nearby index.
""" KIND_LINEAR_SCAN

@doc """
"""
KIND_SIMD_LINEAR_SCAN::StrategyKind

Select [`SIMDLinearScan`](@ref FindFirstFunctions.SIMDLinearScan), the
hinted linear scan with SIMD-specialized forward walks for supported dense
vectors.
""" KIND_SIMD_LINEAR_SCAN

@doc """
"""
KIND_BRACKET_GALLOP::StrategyKind

Select [`BracketGallop`](@ref FindFirstFunctions.BracketGallop), the hinted
strategy that expands a bidirectional exponential bracket before binary
searching inside it.
""" KIND_BRACKET_GALLOP

@doc """
"""
KIND_EXP_FROM_LEFT::StrategyKind

Select [`ExpFromLeft`](@ref FindFirstFunctions.ExpFromLeft), the hinted
strategy that treats the hint as a left bound and searches forward
exponentially.
""" KIND_EXP_FROM_LEFT

@doc """
"""
KIND_INTERPOLATION_SEARCH::StrategyKind

Select [`InterpolationSearch`](@ref FindFirstFunctions.InterpolationSearch),
the strategy that guesses from linear extrapolation across the vector
endpoints.
""" KIND_INTERPOLATION_SEARCH

@doc """
"""
KIND_BIT_INTERPOLATION_SEARCH::StrategyKind

Select
[`BitInterpolationSearch`](@ref FindFirstFunctions.BitInterpolationSearch),
the opt-in interpolation strategy that guesses from Float64 bit patterns.
""" KIND_BIT_INTERPOLATION_SEARCH

@doc """
"""
KIND_UNIFORM_STEP::StrategyKind

Select [`UniformStep`](@ref FindFirstFunctions.UniformStep), the direct
arithmetic lookup strategy for uniformly-spaced vectors and ranges.
""" KIND_UNIFORM_STEP

@doc """
"""
KIND_BISECT_THEN_SIMD::StrategyKind

Select [`BisectThenSIMD`](@ref FindFirstFunctions.BisectThenSIMD), the
Expand Down
2 changes: 1 addition & 1 deletion test/qa/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ Aqua = "0.8"
FindFirstFunctions = "1, 2.1, 3"
JET = "0.9, 0.10, 0.11"
SafeTestsets = "0.0.1, 0.1"
SciMLTesting = "2.1"
SciMLTesting = "2.4"
Test = "1.10"
20 changes: 3 additions & 17 deletions test/qa/qa.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,7 @@ using SciMLTesting, FindFirstFunctions, JET, Test

run_qa(
FindFirstFunctions;
explicit_imports = true,
ei_kwargs = (;
# All six are Base internals accessed by qualification (GC.@preserve,
# Base.@propagate_inbounds, Base.Order, Base.RefValue, Base.libllvm_version,
# Base.llvmcall). They are not public API, so ExplicitImports flags the
# qualified accesses; there is no public replacement. Source pkg: Base.
all_qualified_accesses_are_public = (;
ignore = (
Symbol("@preserve"),
Symbol("@propagate_inbounds"),
:Order,
:RefValue,
:libllvm_version,
:llvmcall,
),
),
),
# Custom LLVM IR has no public Julia entry point; Base.llvmcall is the compiler
# intrinsic required by the package's SIMD kernels.
ei_kwargs = (; all_qualified_accesses_are_public = (; ignore = (:llvmcall,))),
)
Loading