diff --git a/programs/bpf/rust/sanity/src/lib.rs b/programs/bpf/rust/sanity/src/lib.rs index 129c34464..2da715d09 100644 --- a/programs/bpf/rust/sanity/src/lib.rs +++ b/programs/bpf/rust/sanity/src/lib.rs @@ -62,6 +62,15 @@ pub fn process_instruction( panic!(); } + { + // Test - float math functions + let zero = accounts[0].try_borrow_mut_data()?.len() as f64; + let num = zero + 8.0f64; + let num = num.powf(0.333f64); + // check that the result is in a correct interval close to 1.998614185980905 + assert!(1.9986f64 < num && num < 2.0f64); + } + sol_log_compute_units(); Ok(()) } diff --git a/programs/bpf/tests/programs.rs b/programs/bpf/tests/programs.rs index d3ddef01e..40296c7b7 100644 --- a/programs/bpf/tests/programs.rs +++ b/programs/bpf/tests/programs.rs @@ -1400,7 +1400,7 @@ fn assert_instruction_count() { ("solana_bpf_rust_noop", 480), ("solana_bpf_rust_param_passing", 146), ("solana_bpf_rust_rand", 487), - ("solana_bpf_rust_sanity", 1716), + ("solana_bpf_rust_sanity", 8397), ("solana_bpf_rust_secp256k1_recover", 25216), ("solana_bpf_rust_sha", 30704), ]);