@@ -36,7 +36,6 @@ impl FromSql<HalfVectorType, Pg> for HalfVector {
3636mod  tests { 
3737    use  crate :: { HalfVector ,  VectorExpressionMethods } ; 
3838    use  diesel:: prelude:: * ; 
39-     use  half:: f16; 
4039
4140    table !  { 
4241        use  diesel:: sql_types:: * ; 
@@ -74,25 +73,13 @@ mod tests {
7473
7574        let  new_items = vec ! [ 
7675            NewItem  { 
77-                 embedding:  Some ( HalfVector :: from( vec![ 
78-                     f16:: from_f32( 1.0 ) , 
79-                     f16:: from_f32( 1.0 ) , 
80-                     f16:: from_f32( 1.0 ) , 
81-                 ] ) ) , 
76+                 embedding:  Some ( HalfVector :: from_f32_slice( & [ 1.0 ,  1.0 ,  1.0 ] ) ) , 
8277            } , 
8378            NewItem  { 
84-                 embedding:  Some ( HalfVector :: from( vec![ 
85-                     f16:: from_f32( 2.0 ) , 
86-                     f16:: from_f32( 2.0 ) , 
87-                     f16:: from_f32( 2.0 ) , 
88-                 ] ) ) , 
79+                 embedding:  Some ( HalfVector :: from_f32_slice( & [ 2.0 ,  2.0 ,  2.0 ] ) ) , 
8980            } , 
9081            NewItem  { 
91-                 embedding:  Some ( HalfVector :: from( vec![ 
92-                     f16:: from_f32( 1.0 ) , 
93-                     f16:: from_f32( 1.0 ) , 
94-                     f16:: from_f32( 2.0 ) , 
95-                 ] ) ) , 
82+                 embedding:  Some ( HalfVector :: from_f32_slice( & [ 1.0 ,  1.0 ,  2.0 ] ) ) , 
9683            } , 
9784            NewItem  {  embedding:  None  } , 
9885        ] ; 
@@ -105,32 +92,20 @@ mod tests {
10592        assert_eq ! ( 4 ,  all. len( ) ) ; 
10693
10794        let  neighbors = items:: table
108-             . order ( items:: embedding. l2_distance ( HalfVector :: from ( vec ! [ 
109-                 f16:: from_f32( 1.0 ) , 
110-                 f16:: from_f32( 1.0 ) , 
111-                 f16:: from_f32( 1.0 ) , 
112-             ] ) ) ) 
95+             . order ( items:: embedding. l2_distance ( HalfVector :: from_f32_slice ( & [ 1.0 ,  1.0 ,  1.0 ] ) ) ) 
11396            . limit ( 5 ) 
11497            . load :: < Item > ( & mut  conn) ?; 
11598        assert_eq ! ( 
11699            vec![ 1 ,  3 ,  2 ,  4 ] , 
117100            neighbors. iter( ) . map( |v| v. id) . collect:: <Vec <i32 >>( ) 
118101        ) ; 
119102        assert_eq ! ( 
120-             Some ( HalfVector :: from( vec![ 
121-                 f16:: from_f32( 1.0 ) , 
122-                 f16:: from_f32( 1.0 ) , 
123-                 f16:: from_f32( 1.0 ) 
124-             ] ) ) , 
103+             Some ( HalfVector :: from_f32_slice( & [ 1.0 ,  1.0 ,  1.0 ] ) ) , 
125104            neighbors. first( ) . unwrap( ) . embedding
126105        ) ; 
127106
128107        let  neighbors = items:: table
129-             . order ( items:: embedding. max_inner_product ( HalfVector :: from ( vec ! [ 
130-                 f16:: from_f32( 1.0 ) , 
131-                 f16:: from_f32( 1.0 ) , 
132-                 f16:: from_f32( 1.0 ) , 
133-             ] ) ) ) 
108+             . order ( items:: embedding. max_inner_product ( HalfVector :: from_f32_slice ( & [ 1.0 ,  1.0 ,  1.0 ] ) ) ) 
134109            . limit ( 5 ) 
135110            . load :: < Item > ( & mut  conn) ?; 
136111        assert_eq ! ( 
@@ -139,11 +114,7 @@ mod tests {
139114        ) ; 
140115
141116        let  neighbors = items:: table
142-             . order ( items:: embedding. cosine_distance ( HalfVector :: from ( vec ! [ 
143-                 f16:: from_f32( 1.0 ) , 
144-                 f16:: from_f32( 1.0 ) , 
145-                 f16:: from_f32( 1.0 ) , 
146-             ] ) ) ) 
117+             . order ( items:: embedding. cosine_distance ( HalfVector :: from_f32_slice ( & [ 1.0 ,  1.0 ,  1.0 ] ) ) ) 
147118            . limit ( 5 ) 
148119            . load :: < Item > ( & mut  conn) ?; 
149120        assert_eq ! ( 
@@ -152,11 +123,7 @@ mod tests {
152123        ) ; 
153124
154125        let  neighbors = items:: table
155-             . order ( items:: embedding. l1_distance ( HalfVector :: from ( vec ! [ 
156-                 f16:: from_f32( 1.0 ) , 
157-                 f16:: from_f32( 1.0 ) , 
158-                 f16:: from_f32( 1.0 ) , 
159-             ] ) ) ) 
126+             . order ( items:: embedding. l1_distance ( HalfVector :: from_f32_slice ( & [ 1.0 ,  1.0 ,  1.0 ] ) ) ) 
160127            . limit ( 5 ) 
161128            . load :: < Item > ( & mut  conn) ?; 
162129        assert_eq ! ( 
@@ -165,11 +132,9 @@ mod tests {
165132        ) ; 
166133
167134        let  distances = items:: table
168-             . select ( items:: embedding. max_inner_product ( HalfVector :: from ( vec ! [ 
169-                 f16:: from_f32( 1.0 ) , 
170-                 f16:: from_f32( 1.0 ) , 
171-                 f16:: from_f32( 1.0 ) , 
172-             ] ) ) ) 
135+             . select ( 
136+                 items:: embedding. max_inner_product ( HalfVector :: from_f32_slice ( & [ 1.0 ,  1.0 ,  1.0 ] ) ) , 
137+             ) 
173138            . order ( items:: id) 
174139            . load :: < Option < f64 > > ( & mut  conn) ?; 
175140        assert_eq ! ( vec![ Some ( -3.0 ) ,  Some ( -6.0 ) ,  Some ( -4.0 ) ,  None ] ,  distances) ; 
0 commit comments