Cargo Features

[dependencies]
simd-kernels = { version = "0.2.0", default-features = false, features = ["large_string", "datetime", "simd", "fast_hash", "linear_algebra", "universal_functions", "fourier_transforms", "probability_distributions", "extended_numeric_types", "ordered-float", "cc"] }
large_string default

Enables large_string of minarrow ^0.2.0

minarrow:

Int64-based string

datetime

Enables datetime of minarrow ^0.2.0

minarrow:

Adds Datetime array types.

Affects unary::unary_negate_int_datetime

simd default

Enables simd of minarrow ^0.2.0

minarrow:

Adds SIMD for the Bitmask and Arithmetic kernels
A much more extensive set of kernels is available under the downstream simd-kernels crate.

Affects comparison::cmp_bitmask_simd, common::simd, lognormal::simd, neg_binomial::simd

fast_hash

Replaces all hashmaps and hashsets used for count distinct operations and categorical dictionary interning with the faster ahash.

Enables ahash

linear_algebra = blas, lapack

Enables linear algebra kernels. These call out to BLAS and LAPACK. Both Intel and OpenBLAS are supported. Prefer Intel if you have intel for speed, except that it is not fully open source, and one should understand its license terms, with an FAQ available at https://www.intel.com/content/www/us/en/developer/articles/tool/onemkl-license-faq.html

⚠️ Warning: Multivariate modules are still under development, and are not fully tested.

Affects distributions::multivariate, multivariate::mvt_sample, simd-kernels::scientific.blas_lapack, simd-kernels::scientific.matrix, simd-kernels::scientific.vector

universal_functions default

Arbitrary element-wise functions. This pattern provides the basis,
and it is extendable to any set.

Affects simd-kernels::scientific.scalar

fourier_transforms default

Enables FFT kernels

Enables num-complex

Affects simd-kernels::scientific.fft

probability_distributions default

Enables CDF and PDF probability distributions

Affects simd-kernels::scientific.distributions, simd-kernels::scientific.erf

default = fourier_transforms, large_string, probability_distributions, simd, universal_functions

These default features are set whenever simd-kernels is added without default-features = false somewhere in the dependency tree.

extended_numeric_types

Enables extended_numeric_types of minarrow ^0.2.0

minarrow:

Adds UInt8, UInt16, Int8, Int16 types.

Highly recommend keeping these off unless required E.g., constrained or embedded environments, as they add combinatorial weight to the binary and enum match arms.

For most analytical use cases, they get upcasted anyway.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

ordered-float implicit feature

Enables ordered-float

ordered-float:

Wrappers for total ordering on floats

blas linear_algebra?
lapack linear_algebra?
cc build implicit feature