xref: /netbsd-src/external/gpl3/gcc/dist/libgfortran/ieee/ieee_features.F90 (revision b1e838363e3c6fc78a55519254d99869742dd33c)
1181254a7Smrg!    Implementation of the IEEE_FEATURES standard intrinsic module
2*b1e83836Smrg!    Copyright (C) 2013-2022 Free Software Foundation, Inc.
3181254a7Smrg!    Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4181254a7Smrg!
5181254a7Smrg! This file is part of the GNU Fortran runtime library (libgfortran).
6181254a7Smrg!
7181254a7Smrg! Libgfortran is free software; you can redistribute it and/or
8181254a7Smrg! modify it under the terms of the GNU General Public
9181254a7Smrg! License as published by the Free Software Foundation; either
10181254a7Smrg! version 3 of the License, or (at your option) any later version.
11181254a7Smrg!
12181254a7Smrg! Libgfortran is distributed in the hope that it will be useful,
13181254a7Smrg! but WITHOUT ANY WARRANTY; without even the implied warranty of
14181254a7Smrg! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15181254a7Smrg! GNU General Public License for more details.
16181254a7Smrg!
17181254a7Smrg! Under Section 7 of GPL version 3, you are granted additional
18181254a7Smrg! permissions described in the GCC Runtime Library Exception, version
19181254a7Smrg! 3.1, as published by the Free Software Foundation.
20181254a7Smrg!
21181254a7Smrg! You should have received a copy of the GNU General Public License and
22181254a7Smrg! a copy of the GCC Runtime Library Exception along with this program;
23181254a7Smrg! see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24181254a7Smrg! <http://www.gnu.org/licenses/>.  */
25181254a7Smrg
26181254a7Smrgmodule IEEE_FEATURES
27181254a7Smrg
28181254a7Smrg  implicit none
29181254a7Smrg  private
30181254a7Smrg
31181254a7Smrg  type, public :: IEEE_FEATURES_TYPE
32181254a7Smrg    private
33181254a7Smrg    integer :: hidden
34181254a7Smrg  end type
35181254a7Smrg
36181254a7Smrg  type(IEEE_FEATURES_TYPE), parameter, public :: &
37181254a7Smrg    IEEE_DATATYPE       = IEEE_FEATURES_TYPE(0), &
38181254a7Smrg    IEEE_DENORMAL       = IEEE_FEATURES_TYPE(1), &
39181254a7Smrg    IEEE_SUBNORMAL      = IEEE_FEATURES_TYPE(1), &
40181254a7Smrg    IEEE_DIVIDE         = IEEE_FEATURES_TYPE(2), &
41181254a7Smrg    IEEE_HALTING        = IEEE_FEATURES_TYPE(3), &
42181254a7Smrg    IEEE_INEXACT_FLAG   = IEEE_FEATURES_TYPE(4), &
43181254a7Smrg    IEEE_INF            = IEEE_FEATURES_TYPE(5), &
44181254a7Smrg    IEEE_INVALID_FLAG   = IEEE_FEATURES_TYPE(6), &
45181254a7Smrg    IEEE_NAN            = IEEE_FEATURES_TYPE(7), &
46181254a7Smrg    IEEE_ROUNDING       = IEEE_FEATURES_TYPE(8), &
47181254a7Smrg    IEEE_SQRT           = IEEE_FEATURES_TYPE(9), &
48181254a7Smrg    IEEE_UNDERFLOW_FLAG = IEEE_FEATURES_TYPE(10)
49181254a7Smrg
50181254a7Smrgend module IEEE_FEATURES
51