Functions and CALL Routines 
Computes machine and mathematical constants.
CONSTANT(constant<,
parameter>)


constant

is a character constant, variable, or expression
that identifies the constant to be returned. Valid constants are as follows:
Description 
Constant 
The natural base 
'E' 
Euler constant 
'EULER' 
Pi 
'PI' 
Exact integer 
'EXACTINT' <,nbytes> 
The largest doubleprecision number 
'BIG' 
The log with respect to base of BIG 
'LOGBIG' <,base> 
The square root of BIG 
'SQRTBIG' 
The smallest doubleprecision number 
'SMALL' 
The log with respect to base of SMALL 
'LOGSMALL' <,base> 
The square root of SMALL 
'SQRTSMALL' 
Machine precision constant 
'MACEPS' 
The log with respect to base of MACEPS 
'LOGMACEPS' <,base> 
The square root of MACEPS 
'SQRTMACEPS' 

parameter

is an optional numeric parameter. Some of
the constants specified in constant have an optional argument
that alters the functionality of the CONSTANT function.
 CAUTION:
 In some operating environments, the runtime library might
have limitations that prevent the use of the full range of floatingpoint
numbers that the hardware provides.
In such cases, the CONSTANT
function attempts to return values that are compatible with the limitations
of the runtime library.
For example, if the runtime library cannot compute EXP(LOG(CONSTANT('BIG')))
, then CONSTANT('LOGBIG')
will not return the same value
as LOG(CONSTANT('BIG'))
,
but will return a value such that EXP(CONSTANT('LOGBIG'))
can be computed.
The natural base is described by the following
equation:
Euler's constant is described by the following equation:
Pi is the ratio between the circumference and the diameter
of a circle. Many expressions exist for computing this constant. One such
expression for the series is described by the following equation:
CONSTANT('EXACTINT' <, nbytes>)

where

nbytes

is a numeric value that is the number of
bytes.
Range: 
2 nbytes
8 
Default: 
8 
The exact integer is the largest integer k
such that all integers less than or equal to k in absolute value
have an exact representation in a SAS numeric variable of length nbytes. This information can be useful to know before you trim a SAS numeric
variable from the default 8 bytes of storage to a lower number of bytes to
save storage.
This case returns the largest doubleprecision floatingpoint
number (8bytes) that is representable on your computer.
CONSTANT('LOGBIG' <, base>)

where

base

is a numeric value that is the base of the
logarithm.
Restriction: 
The base
that you specify must be greater than the value of 1+SQRTMACEPS. 
Default: 
the natural base, E. 
This case returns the logarithm with
respect to base of the largest doubleprecision floatingpoint number (8bytes)
that is representable on your computer.
It is safe to exponentiate the given base
raised to a power less than or equal to CONSTANT('LOGBIG', base)
by using the power operation (**) without causing any overflows.
It is safe to exponentiate any floatingpoint number
less than or equal to CONSTANT('LOGBIG') by using the exponential function,
EXP, without causing any overflows.
This case returns the square root of the largest
doubleprecision
floatingpoint number (8bytes) that is representable on your computer.
It is safe to square any floatingpoint number less
than or equal to CONSTANT('SQRTBIG') without causing any overflows.
This case returns the smallest doubleprecision
floatingpoint number (8bytes) that is representable on your computer.
CONSTANT('LOGSMALL' <, base>)

where

base

is a numeric value that is the base of the
logarithm.
Restriction: 
The base
that you specify must be greater than the value of 1+SQRTMACEPS. 
Default: 
the natural base, E. 
This case returns the logarithm with
respect to base of the smallest doubleprecision floatingpoint number (8bytes)
that is representable on your computer.
It is safe to exponentiate the given base
raised to a power greater than or equal to CONSTANT('LOGSMALL', base) by using the power operation (**) without causing any underflows
or 0.
It is safe to exponentiate any floatingpoint number
greater than or equal to CONSTANT('LOGSMALL') by using the exponential function,
EXP, without causing any underflows or 0.
This case returns the square root of the smallest
doubleprecision
floatingpoint number (8bytes) that is representable on the computer.
It is safe to square any floatingpoint number greater
than or equal to CONSTANT('SQRTBIG') without causing any underflows or 0.
This case returns the smallest doubleprecision floatingpoint
number (8bytes)
for some integer j, such that
.
This constant is important in finite precision
computations.
CONSTANT('LOGMACEPS' <, base>)

where

base

is a numeric value that is the base of the
logarithm.
Restriction: 
The base
that you specify must be greater than the value of 1+SQRTMACEPS. 
Default: 
the natural base, E. 
This case returns the logarithm with
respect to base of CONSTANT('MACEPS').
This case returns the square root of
CONSTANT('MACEPS').
Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.