11// makes configuration easier
22#![ allow( unused_macros) ]
3+ #![ feature( f128) ]
34
45use testcrate:: * ;
56
@@ -96,7 +97,7 @@ fn leading_zeros() {
9697// https://github.com/rust-lang/rust/issues/73920.
9798// TODO how do we resolve this indeterminacy?
9899macro_rules! pow {
99- ( $( $f: ty, $tolerance: expr, $fn: ident) ;* ; ) => {
100+ ( $( $f: ty, $tolerance: expr, $fn: ident) ;* ; ) => {
100101 $(
101102 fuzz_float_2( N , |x: $f, y: $f| {
102103 if !( Float :: is_subnormal( x) || Float :: is_subnormal( y) || x. is_nan( ) ) {
@@ -123,7 +124,7 @@ macro_rules! pow {
123124 } ;
124125 if !good {
125126 panic!(
126- "{}({}, {}): std: {}, builtins: {}" ,
127+ "{}({:? }, {:? }): std: {:? }, builtins: {:? }" ,
127128 stringify!( $fn) , x, n, tmp0, tmp1
128129 ) ;
129130 }
@@ -143,4 +144,11 @@ fn float_pow() {
143144 f32 , 1e-4 , __powisf2;
144145 f64 , 1e-12 , __powidf2;
145146 ) ;
147+
148+ #[ cfg( not( feature = "no-f16-f128" ) ) ]
149+ {
150+ use compiler_builtins:: float:: pow:: __powitf2;
151+
152+ pow ! ( f128, 1e-24 , __powitf2; ) ;
153+ }
146154}
0 commit comments