ReactOS 0.4.15-dev-7942-gd23573b
fabsf.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS CRT library
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Portable implementation of fabsf
5 * COPYRIGHT: Copyright 2021 Timo Kreuzer <timo.kreuzer@reactos.org>
6 */
7
8#include <math.h>
9
11float
14 _In_ float x)
15{
16 /* Load the value as uint */
17 unsigned int u32 = *(unsigned int*)&x;
18
19 /* Clear the sign bit */
20 u32 &= ~(1 << 31);
21
22 /* Check for NAN */
23 if (u32 > 0x7F800000)
24 {
25 /* Set error bit */
26 *(unsigned int*)&x |= 0x00400000;
27 return x;
28 }
29
30 /* Convert back to float */
31 return *(float*)&u32;
32}
#define __cdecl
Definition: accygwin.h:79
ULONG32 u32
Definition: btrfs.h:14
_Check_return_ float __cdecl fabsf(_In_ float x)
Definition: fabsf.c:13
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define _Check_return_
Definition: ms_sal.h:557
#define _In_
Definition: ms_sal.h:308