1use vortex_array::dtype::session::DTypeSessionExt;
9use vortex_array::scalar_fn::session::ScalarFnSessionExt;
10use vortex_array::session::ArraySessionExt;
11use vortex_session::VortexSession;
12
13use crate::encodings::turboquant::TurboQuant;
14use crate::fixed_shape::FixedShapeTensor;
15use crate::scalar_fns::cosine_similarity::CosineSimilarity;
16use crate::scalar_fns::inner_product::InnerProduct;
17use crate::scalar_fns::l2_denorm::L2Denorm;
18use crate::scalar_fns::l2_norm::L2Norm;
19use crate::vector::Vector;
20
21pub mod matcher;
22pub mod scalar_fns;
23
24pub mod fixed_shape;
25pub mod vector;
26
27pub mod encodings;
28
29mod utils;
30
31pub fn initialize(session: &VortexSession) {
33 session.dtypes().register(Vector);
34 session.dtypes().register(FixedShapeTensor);
35
36 session.arrays().register(TurboQuant);
37
38 session.scalar_fns().register(CosineSimilarity);
39 session.scalar_fns().register(InnerProduct);
40 session.scalar_fns().register(L2Denorm);
41 session.scalar_fns().register(L2Norm);
42}