RAPI
R_ext/Constants.h
Go to the documentation of this file.
00001 /*
00002  *  R : A Computer Language for Statistical Data Analysis
00003  *  Copyright (C) 1995, 1996  Robert Gentleman and Ross Ihaka
00004  *  Copyright (C) 1998-2012   The R Core Team.
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU Lesser General Public License as published by
00008  *  the Free Software Foundation; either version 2.1 of the License, or
00009  *  (at your option) any later version.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *  GNU Lesser General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU Lesser General Public License
00017  *  along with this program; if not, a copy is available at
00018  *  https://www.R-project.org/Licenses/
00019  */
00020 
00021 /* Included by R.h: API */
00022 
00023 #ifndef R_EXT_CONSTANTS_H_
00024 #define R_EXT_CONSTANTS_H_
00025 
00026 /* usually in math.h, but not with strict C99 compliance */
00027 #ifndef M_PI
00028 #define M_PI 3.141592653589793238462643383279502884197169399375
00029 #endif
00030 
00031 #ifndef STRICT_R_HEADERS
00032 #define PI             M_PI
00033 #include <float.h>  /* Defines the rest, at least in C99 */
00034 #define SINGLE_EPS     FLT_EPSILON
00035 #define SINGLE_BASE    FLT_RADIX
00036 #define SINGLE_XMIN    FLT_MIN
00037 #define SINGLE_XMAX    FLT_MAX
00038 #define DOUBLE_DIGITS  DBL_MANT_DIG
00039 #define DOUBLE_EPS     DBL_EPSILON
00040 #define DOUBLE_XMAX    DBL_MAX
00041 #define DOUBLE_XMIN    DBL_MIN
00042 #endif
00043 
00044 #endif /* R_EXT_CONSTANTS_H_ */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines