(limb_lens: &[u8])
| 581 | } |
| 582 | |
| 583 | fn test_maximum_alstack_element_calculation_with_limbs(limb_lens: &[u8]) { |
| 584 | for limb_len in limb_lens.iter().copied() { |
| 585 | for message_len in (64..=1024).step_by(64) { |
| 586 | // Block count depends on ceil(message_len / 64) |
| 587 | let blake3_script = blake3_compute_script_with_limb(message_len, limb_len); |
| 588 | let maximum_extra_elements = |
| 589 | maximum_number_of_altstack_elements_using_blake3(message_len, limb_len); |
| 590 | if maximum_extra_elements < 0 { |
| 591 | assert!(!test_blake3_stack_space( |
| 592 | blake3_script.clone(), |
| 593 | message_len, |
| 594 | limb_len, |
| 595 | 0 |
| 596 | )); |
| 597 | } else { |
| 598 | assert!(test_blake3_stack_space( |
| 599 | blake3_script.clone(), |
| 600 | message_len, |
| 601 | limb_len, |
| 602 | maximum_extra_elements |
| 603 | )); |
| 604 | assert!(!test_blake3_stack_space( |
| 605 | blake3_script.clone(), |
| 606 | message_len, |
| 607 | limb_len, |
| 608 | maximum_extra_elements + 1 |
| 609 | )); |
| 610 | } |
| 611 | } |
| 612 | } |
| 613 | } |
| 614 | |
| 615 | #[test] |
| 616 | fn test_maximum_alstack_element_calculation() { |
no test coverage detected