1 ! Implementation of the IEEE_FEATURES standard intrinsic module 2 ! Copyright (C) 2013-2024 Free Software Foundation, Inc. 3 ! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 4 ! 5 ! This file is part of the GNU Fortran runtime library (libgfortran). 6 ! 7 ! Libgfortran is free software; you can redistribute it and/or 8 ! modify it under the terms of the GNU General Public 9 ! License as published by the Free Software Foundation; either 10 ! version 3 of the License, or (at your option) any later version. 11 ! 12 ! Libgfortran is distributed in the hope that it will be useful, 13 ! but WITHOUT ANY WARRANTY; without even the implied warranty of 14 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 ! GNU General Public License for more details. 16 ! 17 ! Under Section 7 of GPL version 3, you are granted additional 18 ! permissions described in the GCC Runtime Library Exception, version 19 ! 3.1, as published by the Free Software Foundation. 20 ! 21 ! You should have received a copy of the GNU General Public License and 22 ! a copy of the GCC Runtime Library Exception along with this program; 23 ! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 24 ! <http://www.gnu.org/licenses/>. */ 25 26 module IEEE_FEATURES 27 28 implicit none 29 private 30 31 type, public :: IEEE_FEATURES_TYPE 32 private 33 integer :: hidden 34 end type 35 36 type(IEEE_FEATURES_TYPE), parameter, public :: & 37 IEEE_DATATYPE = IEEE_FEATURES_TYPE(0), & 38 IEEE_DENORMAL = IEEE_FEATURES_TYPE(1), & 39 IEEE_SUBNORMAL = IEEE_FEATURES_TYPE(1), & 40 IEEE_DIVIDE = IEEE_FEATURES_TYPE(2), & 41 IEEE_HALTING = IEEE_FEATURES_TYPE(3), & 42 IEEE_INEXACT_FLAG = IEEE_FEATURES_TYPE(4), & 43 IEEE_INF = IEEE_FEATURES_TYPE(5), & 44 IEEE_INVALID_FLAG = IEEE_FEATURES_TYPE(6), & 45 IEEE_NAN = IEEE_FEATURES_TYPE(7), & 46 IEEE_ROUNDING = IEEE_FEATURES_TYPE(8), & 47 IEEE_SQRT = IEEE_FEATURES_TYPE(9), & 48 IEEE_UNDERFLOW_FLAG = IEEE_FEATURES_TYPE(10) 49 50 end module IEEE_FEATURES 51