ReactOS 0.4.15-dev-7842-g558ab78
fpscr.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS CRT library
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Headers for ARM fpcsr
5 * COPYRIGHT: Copyright 2021 Roman Masanin <36927roma@gmail.com>
6 */
7
8#include <float.h>
9
10#define ARM_CW_STATUS_MASK 0x9F
11#define ARM_CW_IM (1 << 0) /* Invalid operation mask */
12#define ARM_CW_ZM (1 << 1) /* Zero divide mask */
13#define ARM_CW_OM (1 << 2) /* Overflow mask */
14#define ARM_CW_UM (1 << 3) /* Underflow mask */
15#define ARM_CW_PM (1 << 4) /* Precision mask */
16#define ARM_CW_DM (1 << 7) /* Denormal operand mask */
17
18#define ARM_CW_RC_NEAREST 0 /* round to nearest */
19#define ARM_CW_RC_UP 1 /* round up */
20#define ARM_CW_RC_DOWN 2 /* round down */
21#define ARM_CW_RC_ZERO 3 /* round toward zero (chop) */
22
23typedef union _ARM_FPSCR
24{
25 unsigned int raw;
26 struct
27 {
28 unsigned int exception: 8;
29 unsigned int ex_control: 8;
30 unsigned int len: 3;
31 unsigned int unused3: 1;
32 unsigned int stride: 2;
33 unsigned int rounding_mode: 2;
34 unsigned int flush_to_zero: 1;
35 unsigned int unused4: 3;
36 unsigned int status_flag: 4;
39
40void __setfp(unsigned int);
41unsigned int __getfp(void);
union _ARM_FPSCR ARM_FPSCR
void __setfp(unsigned int)
unsigned int __getfp(void)
struct _ARM_FPSCR::@4300 data
unsigned int raw
Definition: fpscr.h:25
unsigned int status_flag
Definition: fpscr.h:36
unsigned int rounding_mode
Definition: fpscr.h:33
unsigned int stride
Definition: fpscr.h:32
unsigned int len
Definition: fpscr.h:30
unsigned int flush_to_zero
Definition: fpscr.h:34
unsigned int unused3
Definition: fpscr.h:31
unsigned int unused4
Definition: fpscr.h:35
unsigned int exception
Definition: fpscr.h:28
unsigned int ex_control
Definition: fpscr.h:29