use vortex_array::Canonical;
use vortex_array::dtype::DType;
use vortex_array::dtype::Nullability;
pub fn is_integer_primitive(canonical: &Canonical) -> bool {
matches!(canonical, Canonical::Primitive(p) if p.ptype().is_int())
}
pub fn is_float_primitive(canonical: &Canonical) -> bool {
matches!(canonical, Canonical::Primitive(p) if !p.ptype().is_int())
}
pub fn is_utf8_string(canonical: &Canonical) -> bool {
matches!(canonical,
Canonical::VarBinView(v) if
v.dtype().eq_ignore_nullability(&DType::Utf8(Nullability::NonNullable))
)
}
mod dict;
pub use dict::FloatDictScheme;
pub use dict::IntDictScheme;
pub use dict::StringDictScheme;
pub use dict::float_dictionary_encode;
pub use dict::integer_dictionary_encode;
mod constant;
pub use constant::BoolConstantScheme;
pub use constant::FloatConstantScheme;
pub use constant::IntConstantScheme;
pub use constant::StringConstantScheme;