Home | History | Annotate | Line # | Download | only in ieee
      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