@ -3,8 +3,6 @@
// General includes.
// General includes.
# include "cl_sysdep.h"
# include "cl_sysdep.h"
CL_PROVIDE ( cl_F_mostneg )
// Specification.
// Specification.
# include "cln/float.h"
# include "cln/float.h"
@ -19,22 +17,7 @@ CL_PROVIDE(cl_F_mostneg)
namespace cln {
namespace cln {
// Exponent so groß wie möglich, Mantisse 1...1, Vorzeichen -.
static const cl_SF most_negative_SF =
make_SF ( - 1 , SF_exp_high , bit ( SF_mant_len + 1 ) - 1 ) ;
static const cl_FF most_negative_FF =
encode_FF ( - 1 , FF_exp_high - FF_exp_mid , bit ( FF_mant_len + 1 ) - 1 ) ;
static const cl_DF most_negative_DF =
# if (cl_word_size==64)
encode_DF ( - 1 , DF_exp_high - DF_exp_mid , bit ( DF_mant_len + 1 ) - 1 ) ;
# else
encode_DF ( - 1 , DF_exp_high - DF_exp_mid , bit ( DF_mant_len - 32 + 1 ) - 1 , bitm ( 32 ) - 1 ) ;
# endif
inline const cl_LF most_negative_LF ( uintC len )
static inline const cl_LF most_negative_LF ( uintC len )
{
{
var Lfloat erg = allocate_lfloat ( len , LF_exp_high , - 1 ) ;
var Lfloat erg = allocate_lfloat ( len , LF_exp_high , - 1 ) ;
fill_loop_up ( & TheLfloat ( erg ) - > data [ 0 ] , len , ~ ( uintD ) 0 ) ;
fill_loop_up ( & TheLfloat ( erg ) - > data [ 0 ] , len , ~ ( uintD ) 0 ) ;
@ -43,6 +26,21 @@ inline const cl_LF most_negative_LF (uintC len)
const cl_F most_negative_float ( float_format_t f )
const cl_F most_negative_float ( float_format_t f )
{
{
// Exponent so groß wie möglich, Mantisse 1...1, Vorzeichen -.
static const cl_SF most_negative_SF =
make_SF ( - 1 , SF_exp_high , bit ( SF_mant_len + 1 ) - 1 ) ;
static const cl_FF most_negative_FF =
encode_FF ( - 1 , FF_exp_high - FF_exp_mid , bit ( FF_mant_len + 1 ) - 1 ) ;
static const cl_DF most_negative_DF =
# if (cl_word_size==64)
encode_DF ( - 1 , DF_exp_high - DF_exp_mid , bit ( DF_mant_len + 1 ) - 1 ) ;
# else
encode_DF ( - 1 , DF_exp_high - DF_exp_mid , bit ( DF_mant_len - 32 + 1 ) - 1 , bitm ( 32 ) - 1 ) ;
# endif
floatformatcase ( ( uintC ) f
floatformatcase ( ( uintC ) f
, return most_negative_SF ;
, return most_negative_SF ;
, return most_negative_FF ;
, return most_negative_FF ;
@ -53,4 +51,3 @@ const cl_F most_negative_float (float_format_t f)
} // namespace cln
} // namespace cln
CL_PROVIDE_END ( cl_F_mostneg )