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