The <PalmMath.h> header defines Palm OS specific mathematical functions not specified in the ANSI/ISO standard.
Constants
Math Constants
Purpose
These constants are intended to be used as 32-bit floats. These constants should not be used as double precision arguments. However, a new double precision version of each of these may be created by removing the "f" suffix from the end of each decimal string.
Declared In
posix/sys/palmmath.h Constants
-
#define M_E 2.7182818284590452354f - Approximates the mathematical constant
e. -
#define M_LOG2E 1.4426950408889634074f - Approximates the mathematical constant log2(
e). -
#define M_LOG10E 0.43429448190325182765f - Approximates the mathematical constant log10(
e). -
#define M_LN2 0.69314718055994530942f - Approximates the mathematical constant loge(2).
-
#define M_LN10 2.30258509299404568402f - Approximates the mathematical constant loge(10).
-
#define M_PI 3.14159265358979323846f - Single precision approximation to p.
-
#define M_PI_2 1.57079632679489661923f - Single precision approximation to p/2.
-
#define M_1_PI 0.31830988618379067154f - Single precision approximation to 1/p.
-
#define M_PI_4 0.78539816339744830962f - Single precision approximation to p/4.
-
#define M_2_PI 0.63661977236758134308f - Single precision approximation to 2/p.
-
#define M_2_SQRTPI 1.12837916709551257390f - Single precision approximation to 2/Ðp.
-
#define M_SQRT2 1.41421356237309504880f - Approximates the mathematical constant Ð2.
-
#define M_SQRT1_2 0.70710678118654752440f - Approximates the mathematical constant 1/Ð2.
-
#define PI M_PI - Single precision approximation to p.
-
#define PI2 M_PI_2 - Single precision approximation to p/2.
-
#define M_PI_3 1.047197551196597746154f - Single precision approximation to p/3.
-
#define M_3_PI_4 2.356194490192344928846f - Single precision approximation to 3*p/4.
-
#define M_5_PI_4 3.926990816987241548076f - Single precision approximation to 5*p/4.
-
#define M_3_PI_2 4.71238898038468985769f - Single precision approximation to 3*p/2.
-
#define M_7_PI_4 5.497787143782138167306f - Single precision approximation to 7*p/4.
Functions and Macros
lceilf Function
Purpose
Computes the nearest 32-bit signed integer not less than x.
Declared In
posix/sys/palmmath.h Prototype
int32_t lceilf (
float x
)
Parameters
Returns
Returns the nearest 32-bit signed integer not less than x. In cases where x is out of the range of representable integers, +/-INT_MAX is returned.
Comments
Compatibility
This function is not in the C99 specification.
This function is a Palm OS extension (not present in C99 or Unix).
See Also
lfloorf Function
Purpose
Computes the nearest 32-bit signed integer not greater than x.
Declared In
posix/sys/palmmath.h Prototype
int32_t lfloorf (
float x
)
Parameters
Returns
Returns the nearest 32-bit signed integer not greater than x. In cases where x is out of the range of representable integers, +/-INT_MAX is returned.
Comments
Compatibility
This function is not in the C99 specification.
This function is a Palm OS extension (not present in C99 or Unix).
See Also
max_c Macro
Purpose
Returns the larger of two values.
Declared In
posix/sys/PalmMath.h Prototype
#define max_c( real floating a, real floating b )
Parameters
Returns
Returns the greater of the two input values.
Compatibility
This macro can be used in C code, unlike the standard max() macro, which uses C++ templates.
See Also
min_c Macro
Purpose
Returns the lesser of two values.
Declared In
posix/sys/PalmMath.h Prototype
#define min_c( real floating a, real floating b )
Parameters
Returns
Returns the lesser of the two input values.
Compatibility
This macro can be used in C code, unlike the standard min() macro, which uses C++ templates.
See Also
sincosf Function
Purpose
Computes an approximation to the sine (sin_val) and cosine (cos_val) of any angle in a single call.
Declared In
posix/sys/palmmath.h Prototype
void sincosf ( floatangle, float *cos_val, float *sin_val)
Parameters
Returns
Returns the approximation to the sine (sin_val) and cosine (cos_val) of the specified angle.
Compatibility
This function is not in the C99 specification.
This function is a Palm OS extension (not present in C99 or Unix).
