xref: /freebsd/contrib/llvm-project/compiler-rt/lib/builtins/fp_mode.h (revision 68d75eff68281c1b445e3010bb975eae07aac225)
1*68d75effSDimitry Andric //===----- lib/fp_mode.h - Floaing-point environment mode utilities --C -*-===//
2*68d75effSDimitry Andric //
3*68d75effSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*68d75effSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*68d75effSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*68d75effSDimitry Andric //
7*68d75effSDimitry Andric //===----------------------------------------------------------------------===//
8*68d75effSDimitry Andric //
9*68d75effSDimitry Andric // This file is not part of the interface of this library.
10*68d75effSDimitry Andric //
11*68d75effSDimitry Andric // This file defines an interface for accessing hardware floating point
12*68d75effSDimitry Andric // environment mode.
13*68d75effSDimitry Andric //
14*68d75effSDimitry Andric //===----------------------------------------------------------------------===//
15*68d75effSDimitry Andric 
16*68d75effSDimitry Andric #ifndef FP_MODE
17*68d75effSDimitry Andric #define FP_MODE
18*68d75effSDimitry Andric 
19*68d75effSDimitry Andric typedef enum {
20*68d75effSDimitry Andric   FE_TONEAREST,
21*68d75effSDimitry Andric   FE_DOWNWARD,
22*68d75effSDimitry Andric   FE_UPWARD,
23*68d75effSDimitry Andric   FE_TOWARDZERO
24*68d75effSDimitry Andric } FE_ROUND_MODE;
25*68d75effSDimitry Andric 
26*68d75effSDimitry Andric FE_ROUND_MODE __fe_getround();
27*68d75effSDimitry Andric int __fe_raise_inexact();
28*68d75effSDimitry Andric 
29*68d75effSDimitry Andric #endif // FP_MODE_H
30