diff options
Diffstat (limited to 'source/genLoops.h')
-rw-r--r-- | source/genLoops.h | 69 |
1 files changed, 66 insertions, 3 deletions
diff --git a/source/genLoops.h b/source/genLoops.h index 30363af..2125a96 100644 --- a/source/genLoops.h +++ b/source/genLoops.h @@ -1,12 +1,12 @@ /*============================================================================ -This C header file is part of TestFloat, Release 3a, a package of programs for +This C header file is part of TestFloat, Release 3b, a package of programs for testing the correctness of floating-point arithmetic complying with the IEEE Standard for Floating-Point, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California. -All rights reserved. +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -50,6 +50,11 @@ void gen_a_ui32( void ); void gen_a_ui64( void ); void gen_a_i32( void ); void gen_a_i64( void ); +#ifdef FLOAT16 +void gen_a_f16( void ); +void gen_ab_f16( void ); +void gen_abc_f16( void ); +#endif void gen_a_f32( void ); void gen_ab_f32( void ); void gen_abc_f32( void ); @@ -67,6 +72,9 @@ void gen_ab_f128( void ); void gen_abc_f128( void ); #endif +#ifdef FLOAT16 +void gen_a_ui32_z_f16( float16_t ( uint32_t ) ); +#endif void gen_a_ui32_z_f32( float32_t ( uint32_t ) ); void gen_a_ui32_z_f64( float64_t ( uint32_t ) ); #ifdef EXTFLOAT80 @@ -75,6 +83,9 @@ void gen_a_ui32_z_extF80( void ( uint32_t, extFloat80_t * ) ); #ifdef FLOAT128 void gen_a_ui32_z_f128( void ( uint32_t, float128_t * ) ); #endif +#ifdef FLOAT16 +void gen_a_ui64_z_f16( float16_t ( uint64_t ) ); +#endif void gen_a_ui64_z_f32( float32_t ( uint64_t ) ); void gen_a_ui64_z_f64( float64_t ( uint64_t ) ); #ifdef EXTFLOAT80 @@ -83,6 +94,9 @@ void gen_a_ui64_z_extF80( void ( uint64_t, extFloat80_t * ) ); #ifdef FLOAT128 void gen_a_ui64_z_f128( void ( uint64_t, float128_t * ) ); #endif +#ifdef FLOAT16 +void gen_a_i32_z_f16( float16_t ( int32_t ) ); +#endif void gen_a_i32_z_f32( float32_t ( int32_t ) ); void gen_a_i32_z_f64( float64_t ( int32_t ) ); #ifdef EXTFLOAT80 @@ -91,6 +105,9 @@ void gen_a_i32_z_extF80( void ( int32_t, extFloat80_t * ) ); #ifdef FLOAT128 void gen_a_i32_z_f128( void ( int32_t, float128_t * ) ); #endif +#ifdef FLOAT16 +void gen_a_i64_z_f16( float16_t ( int64_t ) ); +#endif void gen_a_i64_z_f32( float32_t ( int64_t ) ); void gen_a_i64_z_f64( float64_t ( int64_t ) ); #ifdef EXTFLOAT80 @@ -100,6 +117,40 @@ void gen_a_i64_z_extF80( void ( int64_t, extFloat80_t * ) ); void gen_a_i64_z_f128( void ( int64_t, float128_t * ) ); #endif +#ifdef FLOAT16 +void + gen_a_f16_z_ui32_rx( + uint_fast32_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool ); +void + gen_a_f16_z_ui64_rx( + uint_fast64_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool ); +void + gen_a_f16_z_i32_rx( + int_fast32_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool ); +void + gen_a_f16_z_i64_rx( + int_fast64_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool ); +void gen_a_f16_z_ui32_x( uint_fast32_t ( float16_t, bool ), bool ); +void gen_a_f16_z_ui64_x( uint_fast64_t ( float16_t, bool ), bool ); +void gen_a_f16_z_i32_x( int_fast32_t ( float16_t, bool ), bool ); +void gen_a_f16_z_i64_x( int_fast64_t ( float16_t, bool ), bool ); +void gen_a_f16_z_f32( float32_t ( float16_t ) ); +void gen_a_f16_z_f64( float64_t ( float16_t ) ); +#ifdef EXTFLOAT80 +void gen_a_f16_z_extF80( void ( float16_t, extFloat80_t * ) ); +#endif +#ifdef FLOAT128 +void gen_a_f16_z_f128( void ( float16_t, float128_t * ) ); +#endif +void gen_az_f16( float16_t ( float16_t ) ); +void + gen_az_f16_rx( + float16_t ( float16_t, uint_fast8_t, bool ), uint_fast8_t, bool ); +void gen_abz_f16( float16_t ( float16_t, float16_t ) ); +void gen_abcz_f16( float16_t ( float16_t, float16_t, float16_t ) ); +void gen_ab_f16_z_bool( bool ( float16_t, float16_t ) ); +#endif + void gen_a_f32_z_ui32_rx( uint_fast32_t ( float32_t, uint_fast8_t, bool ), uint_fast8_t, bool ); @@ -116,6 +167,9 @@ void gen_a_f32_z_ui32_x( uint_fast32_t ( float32_t, bool ), bool ); void gen_a_f32_z_ui64_x( uint_fast64_t ( float32_t, bool ), bool ); void gen_a_f32_z_i32_x( int_fast32_t ( float32_t, bool ), bool ); void gen_a_f32_z_i64_x( int_fast64_t ( float32_t, bool ), bool ); +#ifdef FLOAT16 +void gen_a_f32_z_f16( float16_t ( float32_t ) ); +#endif void gen_a_f32_z_f64( float64_t ( float32_t ) ); #ifdef EXTFLOAT80 void gen_a_f32_z_extF80( void ( float32_t, extFloat80_t * ) ); @@ -147,6 +201,9 @@ void gen_a_f64_z_ui32_x( uint_fast32_t ( float64_t, bool ), bool ); void gen_a_f64_z_ui64_x( uint_fast64_t ( float64_t, bool ), bool ); void gen_a_f64_z_i32_x( int_fast32_t ( float64_t, bool ), bool ); void gen_a_f64_z_i64_x( int_fast64_t ( float64_t, bool ), bool ); +#ifdef FLOAT16 +void gen_a_f64_z_f16( float16_t ( float64_t ) ); +#endif void gen_a_f64_z_f32( float32_t ( float64_t ) ); #ifdef EXTFLOAT80 void gen_a_f64_z_extF80( void ( float64_t, extFloat80_t * ) ); @@ -193,6 +250,9 @@ void gen_a_extF80_z_ui64_x( uint_fast64_t ( const extFloat80_t *, bool ), bool ); void gen_a_extF80_z_i32_x( int_fast32_t ( const extFloat80_t *, bool ), bool ); void gen_a_extF80_z_i64_x( int_fast64_t ( const extFloat80_t *, bool ), bool ); +#ifdef FLOAT16 +void gen_a_extF80_z_f16( float16_t ( const extFloat80_t * ) ); +#endif void gen_a_extF80_z_f32( float32_t ( const extFloat80_t * ) ); void gen_a_extF80_z_f64( float64_t ( const extFloat80_t * ) ); #ifdef FLOAT128 @@ -251,6 +311,9 @@ void gen_a_f128_z_ui32_x( uint_fast32_t ( const float128_t *, bool ), bool ); void gen_a_f128_z_ui64_x( uint_fast64_t ( const float128_t *, bool ), bool ); void gen_a_f128_z_i32_x( int_fast32_t ( const float128_t *, bool ), bool ); void gen_a_f128_z_i64_x( int_fast64_t ( const float128_t *, bool ), bool ); +#ifdef FLOAT16 +void gen_a_f128_z_f16( float16_t ( const float128_t * ) ); +#endif void gen_a_f128_z_f32( float32_t ( const float128_t * ) ); void gen_a_f128_z_f64( float64_t ( const float128_t * ) ); #ifdef EXTFLOAT80 |