beautypg.com

Mathematics

Page 445

background image

UM013037-1212

Mathematics

Zilog Developer Studio II – Z8 Encore!

User Manual

421

If the value of an object of type

char

sign-extends when used in an expression, the value

of CHAR_MIN is the same as that of SCHAR_MIN, and the value of CHAR_MAX is the
same as that of SCHAR_MAX. If the value of an object of type

char

does not sign-extend

when used in an expression, the value of CHAR_MIN is 0, and the value of CHAR_MAX
is the same as that of UCHAR_MAX.

Mathematics

The <

math.h

> header declares several mathematical functions and defines one macro.

The functions take double-precision arguments and return double-precision values. Integer
arithmetic functions and conversion functions are discussed later.

The

double

data type is implemented as

float

in the Z8 Encore! C-Compiler.

Macro

Treatment of Error Conditions

The behavior of each of these functions is defined for all values of its arguments. Each
function must return as if it were a single operation, without generating any externally vis-
ible exceptions.

For all functions, a domain error occurs if an input argument to the function is outside the
domain over which the function is defined. On a domain error, the function returns a spec-
ified value; the integer expression errno acquires the value of the EDOM macro.

Similarly, a range error occurs if the result of the function cannot be represented as a dou-
ble value. If the result overflows (the magnitude of the result is so large that it cannot be
represented in an object of the specified type), the function returns the value of the
HUGE_VAL macro, with the same sign as the correct value of the function; the integer

SHRT_MIN

Minimum value for an object of type short int.

UCHAR_MAX

Maximum value for an object of type unsigned char.

UINT_MAX

Maximum value for an object of type unsigned int.

ULONG_MAX

Maximum value for an object of type unsigned long int.

USHRT_MAX

Maximum value for an object of type unsigned short int.

MB_LEN_MAX

Maximum number of bytes in a multibyte character.

HUGE_VAL

Expands to a positive double expression, not necessarily represented as
a float.

Note: