diff options
Diffstat (limited to 'softfloat/softfloat.h')
-rw-r--r-- | softfloat/softfloat.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/softfloat/softfloat.h b/softfloat/softfloat.h index 72daccb..09d7235 100644 --- a/softfloat/softfloat.h +++ b/softfloat/softfloat.h @@ -157,7 +157,6 @@ uint_fast64_t f16_to_ui64_r_minMag( float16_t, bool ); int_fast32_t f16_to_i32_r_minMag( float16_t, bool ); int_fast64_t f16_to_i64_r_minMag( float16_t, bool ); float32_t f16_to_f32( float16_t ); -float32_t bf16_to_f32( bfloat16_t ); float64_t f16_to_f64( float16_t ); #ifdef SOFTFLOAT_FAST_INT64 extFloat80_t f16_to_extF80( float16_t ); @@ -187,6 +186,18 @@ float16_t f16_rsqrte7( float16_t ); float16_t f16_recip7( float16_t ); /*---------------------------------------------------------------------------- +| BFloat16 operations. +*----------------------------------------------------------------------------*/ +float32_t bf16_to_f32( bfloat16_t ); +float64_t bf16_to_f64( bfloat16_t ); +bfloat16_t bf16_add( bfloat16_t, bfloat16_t ); +bfloat16_t bf16_sub( bfloat16_t, bfloat16_t ); +bfloat16_t bf16_mul( bfloat16_t, bfloat16_t ); +bfloat16_t bf16_mulAdd( bfloat16_t, bfloat16_t, bfloat16_t ); +bfloat16_t bf16_div( bfloat16_t, bfloat16_t ); +bfloat16_t bf16_sqrt( bfloat16_t ); + +/*---------------------------------------------------------------------------- | 32-bit (single-precision) floating-point operations. *----------------------------------------------------------------------------*/ uint_fast16_t f32_to_ui16( float32_t, uint_fast8_t, bool ); @@ -199,8 +210,8 @@ uint_fast32_t f32_to_ui32_r_minMag( float32_t, bool ); uint_fast64_t f32_to_ui64_r_minMag( float32_t, bool ); int_fast32_t f32_to_i32_r_minMag( float32_t, bool ); int_fast64_t f32_to_i64_r_minMag( float32_t, bool ); -float16_t f32_to_f16( float32_t ); bfloat16_t f32_to_bf16( float32_t ); +float16_t f32_to_f16( float32_t ); float64_t f32_to_f64( float32_t ); #ifdef SOFTFLOAT_FAST_INT64 extFloat80_t f32_to_extF80( float32_t ); @@ -240,6 +251,7 @@ uint_fast32_t f64_to_ui32_r_minMag( float64_t, bool ); uint_fast64_t f64_to_ui64_r_minMag( float64_t, bool ); int_fast32_t f64_to_i32_r_minMag( float64_t, bool ); int_fast64_t f64_to_i64_r_minMag( float64_t, bool ); +bfloat16_t f64_to_bf16( float64_t ); float16_t f64_to_f16( float64_t ); float32_t f64_to_f32( float64_t ); #ifdef SOFTFLOAT_FAST_INT64 |