mod address;
mod array_shape;
mod choose;
mod core;
mod dynamic;
mod legacy; pub(crate) mod lookup_utils; mod reference_info; mod stack;
pub use address::AddressFn;
pub use array_shape::{ToColFn, ToRowFn};
pub use choose::ChooseFn;
pub use core::{HLookupFn, MatchFn, VLookupFn};
pub use dynamic::{
FilterFn, GroupByFn, PivotByFn, RandArrayFn, SortByFn, SortFn, UniqueFn, XLookupFn, XMatchFn,
};
pub use legacy::LookupFn;
pub use reference_info::{ColumnFn, ColumnsFn, RowFn, RowsFn};
pub use stack::{HStackFn, VStackFn};
pub use choose::{ChooseColsFn, ChooseRowsFn};
pub fn register_builtins() {
use crate::function_registry::register_function;
use std::sync::Arc;
register_function(Arc::new(MatchFn));
register_function(Arc::new(VLookupFn));
register_function(Arc::new(HLookupFn));
register_function(Arc::new(LookupFn));
register_function(Arc::new(ChooseFn));
register_function(Arc::new(RowFn));
register_function(Arc::new(RowsFn));
register_function(Arc::new(ColumnFn));
register_function(Arc::new(ColumnsFn));
register_function(Arc::new(AddressFn));
dynamic::register_builtins();
stack::register_builtins();
array_shape::register_builtins();
register_function(Arc::new(choose::ChooseColsFn));
register_function(Arc::new(choose::ChooseRowsFn));
}