()
| 1479 | |
| 1480 | #[test] |
| 1481 | fn test_prf() { |
| 1482 | let helper = |iv: u64, t: Type| -> Result<()> { |
| 1483 | let c = simple_context(|g| { |
| 1484 | let i1 = g.random(array_type(vec![128], BIT))?; |
| 1485 | let i2 = g.random(array_type(vec![128], BIT))?; |
| 1486 | let p1 = g.prf(i1.clone(), iv, t.clone())?; |
| 1487 | let p2 = g.prf(i2, iv, t.clone())?; |
| 1488 | let p3 = g.prf(i1, iv, t.clone())?; |
| 1489 | g.create_vector(t.clone(), vec![p1, p2, p3]) |
| 1490 | })?; |
| 1491 | let mut evaluator = SimpleEvaluator { |
| 1492 | prng: PRNG::new(None)?, |
| 1493 | prfs: HashMap::new(), |
| 1494 | }; |
| 1495 | let v = evaluator.evaluate_context(c, Vec::new())?; |
| 1496 | let ot = vector_type(3, t.clone()); |
| 1497 | assert_eq!(evaluator.prfs.len(), 2); |
| 1498 | assert!(v.check_type(ot)?); |
| 1499 | Ok(()) |
| 1500 | }; |
| 1501 | || -> Result<()> { |
| 1502 | helper(0, scalar_type(BIT))?; |
| 1503 | helper(1, scalar_type(UINT8))?; |
| 1504 | helper(2, scalar_type(INT32))?; |
| 1505 | helper(3, array_type(vec![2, 5], BIT))?; |
| 1506 | helper(4, array_type(vec![2, 5], UINT8))?; |
| 1507 | helper(5, array_type(vec![2, 5], INT32))?; |
| 1508 | helper(6, tuple_type(vec![scalar_type(BIT), scalar_type(INT32)]))?; |
| 1509 | helper( |
| 1510 | 7, |
| 1511 | tuple_type(vec![ |
| 1512 | vector_type(3, scalar_type(BIT)), |
| 1513 | vector_type(5, scalar_type(BIT)), |
| 1514 | scalar_type(BIT), |
| 1515 | scalar_type(INT32), |
| 1516 | ]), |
| 1517 | )?; |
| 1518 | helper( |
| 1519 | 8, |
| 1520 | named_tuple_type(vec![ |
| 1521 | ("field 1".to_owned(), scalar_type(BIT)), |
| 1522 | ("field 2".to_owned(), scalar_type(INT32)), |
| 1523 | ]), |
| 1524 | ) |
| 1525 | }() |
| 1526 | .unwrap() |
| 1527 | } |
| 1528 | |
| 1529 | fn cuckoo_helper( |
| 1530 | input_shape: ArrayShape, |
nothing calls this directly
no test coverage detected