MCPcopy Create free account
hub / github.com/BitVM/BitVM / test_maximum_alstack_element_calculation_with_limbs

Function test_maximum_alstack_element_calculation_with_limbs

bitvm/src/hash/blake3.rs:583–613  ·  view source on GitHub ↗
(limb_lens: &[u8])

Source from the content-addressed store, hash-verified

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() {

Tested by

no test coverage detected