// Standard C++ <cfloat> header
// Copyright (C) Florian Negele

// This file is part of the Eigen Compiler Suite.

// The ECS is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// The ECS is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// Under Section 7 of the GNU General Public License version 3,
// the copyright holder grants you additional permissions to use
// this file as described in the ECS Runtime Support Exception.

// You should have received a copy of the GNU General Public License
// and a copy of the ECS Runtime Support Exception along with
// the ECS.  If not, see <https://www.gnu.org/licenses/>.

#ifndef ECS_CPP_CFLOAT_HEADER_INCLUDED
#define ECS_CPP_CFLOAT_HEADER_INCLUDED

#define DECIMAL_DIG 17
#define FLT_EVAL_METHOD (-1)
#define FLT_RADIX 2
#define FLT_ROUNDS (-1)

#define FLT_DIG 6
#define FLT_EPSILON 1.19209290e-07f
#define FLT_MANT_DIG 24
#define FLT_MAX 3.40282347e+38f
#define FLT_MAX_10_EXP (+38)
#define FLT_MAX_EXP (+128)
#define FLT_MIN 1.17549435e-38f
#define FLT_MIN_10_EXP (-37)
#define FLT_MIN_EXP (-125)

#define DBL_DIG 15
#define DBL_EPSILON 2.2204460492503131e-16
#define DBL_MANT_DIG 53
#define DBL_MAX 1.7976931348623157e+308
#define DBL_MAX_10_EXP (+308)
#define DBL_MAX_EXP (+1024)
#define DBL_MIN 2.2250738585072014e-308
#define DBL_MIN_10_EXP (-307)
#define DBL_MIN_EXP (-1021)

#define LDBL_DIG DBL_DIG
#define LDBL_EPSILON DBL_EPSILON
#define LDBL_MANT_DIG DBL_MANT_DIG
#define LDBL_MAX DBL_MAX
#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
#define LDBL_MAX_EXP DBL_MAX_EXP
#define LDBL_MIN DBL_MIN
#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
#define LDBL_MIN_EXP DBL_MIN_EXP

#endif // ECS_CPP_CFLOAT_HEADER_INCLUDED
