@@ -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_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_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_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_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_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_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_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_slice ( & [ 1.0 , 1.0 , 1.0 ] ) ) )
160127 . limit ( 5 )
161128 . load :: < Item > ( & mut conn) ?;
162129 assert_eq ! (
@@ -165,11 +132,7 @@ 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 ( items:: embedding. max_inner_product ( HalfVector :: from_slice ( & [ 1.0 , 1.0 , 1.0 ] ) ) )
173136 . order ( items:: id)
174137 . load :: < Option < f64 > > ( & mut conn) ?;
175138 assert_eq ! ( vec![ Some ( -3.0 ) , Some ( -6.0 ) , Some ( -4.0 ) , None ] , distances) ;
0 commit comments