MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_float

Function test_float

arrow-arith/src/numeric.rs:1175–1208  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1173
1174 #[test]
1175 fn test_float() {
1176 let a = Float32Array::from(vec![1., f32::MAX, 6., -4., -1., 0.]);
1177 let b = Float32Array::from(vec![1., f32::MAX, f32::MAX, -3., 45., 0.]);
1178 let result = add(&a, &b).unwrap();
1179 assert_eq!(
1180 result.as_ref(),
1181 &Float32Array::from(vec![2., f32::INFINITY, f32::MAX, -7., 44.0, 0.])
1182 );
1183
1184 let result = sub(&a, &b).unwrap();
1185 assert_eq!(
1186 result.as_ref(),
1187 &Float32Array::from(vec![0., 0., f32::MIN, -1., -46., 0.])
1188 );
1189
1190 let result = mul(&a, &b).unwrap();
1191 assert_eq!(
1192 result.as_ref(),
1193 &Float32Array::from(vec![1., f32::INFINITY, f32::INFINITY, 12., -45., 0.])
1194 );
1195
1196 let result = div(&a, &b).unwrap();
1197 let r = result.as_primitive::<Float32Type>();
1198 assert_eq!(r.value(0), 1.);
1199 assert_eq!(r.value(1), 1.);
1200 assert!(r.value(2) < f32::EPSILON);
1201 assert_eq!(r.value(3), -4. / -3.);
1202 assert!(r.value(5).is_nan());
1203
1204 let result = rem(&a, &b).unwrap();
1205 let r = result.as_primitive::<Float32Type>();
1206 assert_eq!(&r.values()[..5], &[0., 0., 6., -1., -1.]);
1207 assert!(r.value(5).is_nan());
1208 }
1209
1210 #[test]
1211 fn test_decimal() {

Callers

nothing calls this directly

Calls 5

addFunction · 0.85
subFunction · 0.85
mulFunction · 0.85
divFunction · 0.85
remFunction · 0.85

Tested by

no test coverage detected