@@ -42,14 +42,14 @@ impl<T: core::fmt::Debug + DefaultStrategy, const LANES: usize> DefaultStrategy
42
42
}
43
43
44
44
pub fn test_1 < A : core:: fmt:: Debug + DefaultStrategy > (
45
- f : impl Fn ( A ) -> proptest:: test_runner:: TestCaseResult ,
45
+ f : & dyn Fn ( A ) -> proptest:: test_runner:: TestCaseResult ,
46
46
) {
47
47
let mut runner = proptest:: test_runner:: TestRunner :: default ( ) ;
48
48
runner. run ( & A :: default_strategy ( ) , f) . unwrap ( ) ;
49
49
}
50
50
51
51
pub fn test_2 < A : core:: fmt:: Debug + DefaultStrategy , B : core:: fmt:: Debug + DefaultStrategy > (
52
- f : impl Fn ( A , B ) -> proptest:: test_runner:: TestCaseResult ,
52
+ f : & dyn Fn ( A , B ) -> proptest:: test_runner:: TestCaseResult ,
53
53
) {
54
54
let mut runner = proptest:: test_runner:: TestRunner :: default ( ) ;
55
55
runner
@@ -59,17 +59,18 @@ pub fn test_2<A: core::fmt::Debug + DefaultStrategy, B: core::fmt::Debug + Defau
59
59
. unwrap ( ) ;
60
60
}
61
61
62
+ #[ inline( never) ]
62
63
pub fn test_unary_elementwise < Scalar , ScalarResult , Vector , VectorResult , const LANES : usize > (
63
- fv : impl Fn ( Vector ) -> VectorResult ,
64
- fs : impl Fn ( Scalar ) -> ScalarResult ,
65
- check : impl Fn ( [ Scalar ; LANES ] ) -> bool ,
64
+ fv : & dyn Fn ( Vector ) -> VectorResult ,
65
+ fs : & dyn Fn ( Scalar ) -> ScalarResult ,
66
+ check : & dyn Fn ( [ Scalar ; LANES ] ) -> bool ,
66
67
) where
67
68
Scalar : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
68
69
ScalarResult : Copy + Default + biteq:: BitEq + core:: fmt:: Debug + DefaultStrategy ,
69
70
Vector : Into < [ Scalar ; LANES ] > + From < [ Scalar ; LANES ] > + Copy ,
70
71
VectorResult : Into < [ ScalarResult ; LANES ] > + From < [ ScalarResult ; LANES ] > + Copy ,
71
72
{
72
- test_1 ( |x : [ Scalar ; LANES ] | {
73
+ test_1 ( & |x : [ Scalar ; LANES ] | {
73
74
proptest:: prop_assume!( check( x) ) ;
74
75
let result_1: [ ScalarResult ; LANES ] = fv ( x. into ( ) ) . into ( ) ;
75
76
let result_2: [ ScalarResult ; LANES ] = {
@@ -84,6 +85,7 @@ pub fn test_unary_elementwise<Scalar, ScalarResult, Vector, VectorResult, const
84
85
} ) ;
85
86
}
86
87
88
+ #[ inline( never) ]
87
89
pub fn test_binary_elementwise <
88
90
Scalar1 ,
89
91
Scalar2 ,
@@ -93,9 +95,9 @@ pub fn test_binary_elementwise<
93
95
VectorResult ,
94
96
const LANES : usize ,
95
97
> (
96
- fv : impl Fn ( Vector1 , Vector2 ) -> VectorResult ,
97
- fs : impl Fn ( Scalar1 , Scalar2 ) -> ScalarResult ,
98
- check : impl Fn ( [ Scalar1 ; LANES ] , [ Scalar2 ; LANES ] ) -> bool ,
98
+ fv : & dyn Fn ( Vector1 , Vector2 ) -> VectorResult ,
99
+ fs : & dyn Fn ( Scalar1 , Scalar2 ) -> ScalarResult ,
100
+ check : & dyn Fn ( [ Scalar1 ; LANES ] , [ Scalar2 ; LANES ] ) -> bool ,
99
101
) where
100
102
Scalar1 : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
101
103
Scalar2 : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
@@ -104,7 +106,7 @@ pub fn test_binary_elementwise<
104
106
Vector2 : Into < [ Scalar2 ; LANES ] > + From < [ Scalar2 ; LANES ] > + Copy ,
105
107
VectorResult : Into < [ ScalarResult ; LANES ] > + From < [ ScalarResult ; LANES ] > + Copy ,
106
108
{
107
- test_2 ( |x : [ Scalar1 ; LANES ] , y : [ Scalar2 ; LANES ] | {
109
+ test_2 ( & |x : [ Scalar1 ; LANES ] , y : [ Scalar2 ; LANES ] | {
108
110
proptest:: prop_assume!( check( x, y) ) ;
109
111
let result_1: [ ScalarResult ; LANES ] = fv ( x. into ( ) , y. into ( ) ) . into ( ) ;
110
112
let result_2: [ ScalarResult ; LANES ] = {
@@ -119,6 +121,7 @@ pub fn test_binary_elementwise<
119
121
} ) ;
120
122
}
121
123
124
+ #[ inline( never) ]
122
125
pub fn test_binary_scalar_rhs_elementwise <
123
126
Scalar1 ,
124
127
Scalar2 ,
@@ -127,17 +130,17 @@ pub fn test_binary_scalar_rhs_elementwise<
127
130
VectorResult ,
128
131
const LANES : usize ,
129
132
> (
130
- fv : impl Fn ( Vector , Scalar2 ) -> VectorResult ,
131
- fs : impl Fn ( Scalar1 , Scalar2 ) -> ScalarResult ,
132
- check : impl Fn ( [ Scalar1 ; LANES ] , Scalar2 ) -> bool ,
133
+ fv : & dyn Fn ( Vector , Scalar2 ) -> VectorResult ,
134
+ fs : & dyn Fn ( Scalar1 , Scalar2 ) -> ScalarResult ,
135
+ check : & dyn Fn ( [ Scalar1 ; LANES ] , Scalar2 ) -> bool ,
133
136
) where
134
137
Scalar1 : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
135
138
Scalar2 : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
136
139
ScalarResult : Copy + Default + biteq:: BitEq + core:: fmt:: Debug + DefaultStrategy ,
137
140
Vector : Into < [ Scalar1 ; LANES ] > + From < [ Scalar1 ; LANES ] > + Copy ,
138
141
VectorResult : Into < [ ScalarResult ; LANES ] > + From < [ ScalarResult ; LANES ] > + Copy ,
139
142
{
140
- test_2 ( |x : [ Scalar1 ; LANES ] , y : Scalar2 | {
143
+ test_2 ( & |x : [ Scalar1 ; LANES ] , y : Scalar2 | {
141
144
proptest:: prop_assume!( check( x, y) ) ;
142
145
let result_1: [ ScalarResult ; LANES ] = fv ( x. into ( ) , y) . into ( ) ;
143
146
let result_2: [ ScalarResult ; LANES ] = {
@@ -152,6 +155,7 @@ pub fn test_binary_scalar_rhs_elementwise<
152
155
} ) ;
153
156
}
154
157
158
+ #[ inline( never) ]
155
159
pub fn test_binary_scalar_lhs_elementwise <
156
160
Scalar1 ,
157
161
Scalar2 ,
@@ -160,17 +164,17 @@ pub fn test_binary_scalar_lhs_elementwise<
160
164
VectorResult ,
161
165
const LANES : usize ,
162
166
> (
163
- fv : impl Fn ( Scalar1 , Vector ) -> VectorResult ,
164
- fs : impl Fn ( Scalar1 , Scalar2 ) -> ScalarResult ,
165
- check : impl Fn ( Scalar1 , [ Scalar2 ; LANES ] ) -> bool ,
167
+ fv : & dyn Fn ( Scalar1 , Vector ) -> VectorResult ,
168
+ fs : & dyn Fn ( Scalar1 , Scalar2 ) -> ScalarResult ,
169
+ check : & dyn Fn ( Scalar1 , [ Scalar2 ; LANES ] ) -> bool ,
166
170
) where
167
171
Scalar1 : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
168
172
Scalar2 : Copy + Default + core:: fmt:: Debug + DefaultStrategy ,
169
173
ScalarResult : Copy + Default + biteq:: BitEq + core:: fmt:: Debug + DefaultStrategy ,
170
174
Vector : Into < [ Scalar2 ; LANES ] > + From < [ Scalar2 ; LANES ] > + Copy ,
171
175
VectorResult : Into < [ ScalarResult ; LANES ] > + From < [ ScalarResult ; LANES ] > + Copy ,
172
176
{
173
- test_2 ( |x : Scalar1 , y : [ Scalar2 ; LANES ] | {
177
+ test_2 ( & |x : Scalar1 , y : [ Scalar2 ; LANES ] | {
174
178
proptest:: prop_assume!( check( x, y) ) ;
175
179
let result_1: [ ScalarResult ; LANES ] = fv ( x, y. into ( ) ) . into ( ) ;
176
180
let result_2: [ ScalarResult ; LANES ] = {
0 commit comments