Mark Poliakov 7a0d528cda Add 'lib/runtime/' from commit 'db5cddbec10c4b7c086eda716d48d4711632901f'
git-subtree-dir: lib/runtime
git-subtree-mainline: 566a2341f5b726d86f5d42a72beb9c70b83f31b6
git-subtree-split: db5cddbec10c4b7c086eda716d48d4711632901f
2024-03-12 15:54:48 +02:00

35 lines
766 B
C

#pragma once
typedef union
{
float value;
uint32_t word;
} ieee_float_shape_type;
/* Get a 32 bit int from a float. */
#define GET_FLOAT_WORD(i,d) \
do { \
ieee_float_shape_type gf_u; \
gf_u.value = (d); \
(i) = gf_u.word; \
} while (/*CONSTCOND*/0)
/* Set a float from a 32 bit int. */
#define SET_FLOAT_WORD(d,i) \
do { \
ieee_float_shape_type sf_u; \
sf_u.word = (i); \
(d) = sf_u.value; \
} while (/*CONSTCOND*/0)
float __ieee754_sqrtf(float x);
float __ieee754_powf(float x, float y);
float __ieee754_hypotf(float x, float y);
float __ieee754_fmodf(float x, float y);
float scalbnf(float x, int n);
float copysignf(float x, float y);
float fabsf(float x);