/* Translated into C++ by SciPy developers in 2024. * Original header with Copyright information appears below. * * Since we support only IEEE-754 floating point numbers, conditional logic * supporting other arithmetic types has been removed. */ /* * * * const.c * * Globally declared constants * * * * SYNOPSIS: * * extern double nameofconstant; * * * * * DESCRIPTION: * * This file contains a number of mathematical constants and * also some needed size parameters of the computer arithmetic. * The values are supplied as arrays of hexadecimal integers * for IEEE arithmetic, and in a normal decimal scientific notation for * other machines. The particular notation used is determined * by a symbol (IBMPC, or UNK) defined in the include file * mconf.h. * * The default size parameters are as follows. * * For UNK mode: * MACHEP = 1.38777878078144567553E-17 2**-56 * MAXLOG = 8.8029691931113054295988E1 log(2**127) * MINLOG = -8.872283911167299960540E1 log(2**-128) * * For IEEE arithmetic (IBMPC): * MACHEP = 1.11022302462515654042E-16 2**-53 * MAXLOG = 7.09782712893383996843E2 log(2**1024) * MINLOG = -7.08396418532264106224E2 log(2**-1022) * * The global symbols for mathematical constants are * SQ2OPI = 7.9788456080286535587989E-1 sqrt( 2/pi ) * LOGSQ2 = 3.46573590279972654709E-1 log(2)/2 * THPIO4 = 2.35619449019234492885 3*pi/4 * * These lists are subject to change. */ /* const.c */ /* * Cephes Math Library Release 2.3: March, 1995 * Copyright 1984, 1995 by Stephen L. Moshier */ #pragma once namespace xsf { namespace cephes { namespace detail { constexpr std::uint64_t MAXITER = 500; constexpr double MACHEP = 1.11022302462515654042E-16; // 2**-53 constexpr double MAXLOG = 7.09782712893383996732E2; // log(DBL_MAX) constexpr double MINLOG = -7.451332191019412076235E2; // log 2**-1022 constexpr double SQRT1OPI = 5.64189583547756286948E-1; // sqrt( 1/pi) constexpr double SQRT2OPI = 7.9788456080286535587989E-1; // sqrt( 2/pi ) constexpr double SQRT2PI = 0.79788456080286535587989; // sqrt(2pi) constexpr double LOGSQ2 = 3.46573590279972654709E-1; // log(2)/2 constexpr double THPIO4 = 2.35619449019234492885; // 3*pi/4 constexpr double SQRT3 = 1.732050807568877293527; // sqrt(3) constexpr double PI180 = 1.74532925199432957692E-2; // pi/180 constexpr double SQRTPI = 2.50662827463100050242E0; // sqrt(pi) constexpr double LOGPI = 1.14472988584940017414; // log(pi) constexpr double MAXGAM = 171.624376956302725; constexpr double LOGSQRT2PI = 0.9189385332046727; // log(sqrt(pi)) // Following two added by SciPy developers. // Euler's constant constexpr double SCIPY_EULER = 0.577215664901532860606512090082402431; // e as long double constexpr long double SCIPY_El = 2.718281828459045235360287471352662498L; } // namespace detail } // namespace cephes } // namespace xsf