Go to the previous, next section.

Files ``builtin.h'` and corresponding ``.cc'` implementation
files contain various convenient
inline and non-inline utility functions. These include useful
enumeration types, such as `TRUE`

, `FALSE`

,the type
definition for pointers to libg++ error handling functions, and
the following functions.

`long abs(long x); double abs(double x);`

- inline versions of abs. Note that the standard libc.a version,
`int abs(int)`

is*not*declared as inline. `void clearbit(long& x, long b);`

- clears the b'th bit of x (inline).
`void setbit(long& x, long b);`

- sets the b'th bit of x (inline)
`int testbit(long x, long b);`

- returns the b'th bit of x (inline).
`int even(long y);`

- returns true if x is even (inline).
`int odd(long y);`

- returns true is x is odd (inline).
`int sign(long x); int sign(double x);`

- returns -1, 0, or 1, indicating whether x is less than, equal to, or
greater than zero (inline).
`long gcd(long x, long y);`

- returns the greatest common divisor of x and y.
`long lcm(long x, long y);`

- returns the least common multiple of x and y.
`long lg(long x);`

- returns the floor of the base 2 log of x.
`long pow(long x, long y); double pow(double x, long y);`

- returns x to the integer power y using via the iterative O(log y)
"Russian peasant" method.
`long sqr(long x); double sqr(double x);`

- returns x squared (inline).
`long sqrt(long y);`

- returns the floor of the square root of x.
`unsigned int hashpjw(const char* s);`

- a hash function for null-terminated char* strings using the
method described in Aho, Sethi, & Ullman, p 436.
`unsigned int multiplicativehash(int x);`

- a hash function for integers that returns the lower bits of
multiplying x by the golden ratio times pow(2, 32).
See Knuth, Vol 3, p 508.
`unsigned int foldhash(double x);`

- a hash function for doubles that exclusive-or's the first and
second words of x, returning the result as an integer.
`double start_timer()`

- Starts a process timer.
`double return_elapsed_time(double last_time)`

- Returns the process time since last_time.
If last_time == 0 returns the time since the last start_timer.
Returns -1 if start_timer was not first called.

File ``Maxima.h'` includes versions of `MAX, MIN`

for builtin types.

File ``compare.h'` includes versions of `compare(x, y)`

for builtin types. These return negative if the first argument
is less than the second, zero for equal, and positive for greater.

Go to the previous, next section.