#include "libm.h"
#include "libm_util.h"
#include "libm_inlines.h"
#include "libm_errno.h"
Go to the source code of this file.
◆ USE_HANDLE_ERRORF
◆ USE_INFINITYF_WITH_FLAGS
#define USE_INFINITYF_WITH_FLAGS |
◆ _hypotf()
Definition at line 45 of file hypotf.c.
46{
47
48
49
50
51
52 double dx =
x,
dy =
y, dr, retval;
53
54
55 const double large = 3.40282346638528859812e+38;
56
57
58 unsigned long long ux, uy,
avx, avy;
59
63 avy &= ~SIGNBIT_DP64;
66
68 {
70
71
74
75
76
77
78 return infinityf_with_flags(0);
79 else
80
81
82 return (float)retval;
83 }
84
86
87#if USE_SOFTWARE_SQRT
88 retval = sqrtf_amd_inline(
r);
89#else
90
92#endif
93
94 if (retval > large)
97 else
98 return (float)retval;
99}
float __cdecl _handle_errorf(char *fname, int opcode, unsigned long long value, int type, int flags, int error, float arg1, float arg2, int nargs)
__m128d _mm_setzero_pd(void)
__m128d _mm_sqrt_sd(__m128d a, __m128d b)
__m128d _mm_load_sd(double const *dp)
void _mm_store_sd(double *dp, __m128d a)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
#define EXPSHIFTBITS_DP64
#define GET_BITS_DP64(x, ux)
Referenced by _cabsf().