15Errors

There are two types of errors. The first type is system errors, which indicate something has gone badly wrong in the use of the underlying data structures. When the various routines are passed valid arguments, even if their values are inappropriate in a numerical sense, system errors should never be seen.

The second type of errors is user errors. These occur when the values passed in arguments are inappropriate, often leading some numerical conflict or indeterminacy, such as division by zero.

All errors print messages with the location of the error are identified by the name of the routine in which it was encountered. Recovery from some errors is possible, but not possible from others.

15.1 User Errors

Table 15.1 list all user errors detected. Properly constructed code may result in user errors if values generated at run time are passed to routines where they are outside the range of values for which proper results can be generated. Division by zero is a clear example.

Table 15.1 User errors, A–Z.

error message action
attempt to free memory not allocated in routine: xxx() brexit(2)
attempt to restart with bad state pointer (%0lX) not possible in routine: xxx() brexit(8)
attempt to scale by number with (%d) greater-than (1) components in routine: xxx() brexit(0)
attempt to take inverse of unit with zero signature in routine: xxx() brexit(6)
attempt to take inverse ...

Get Numerical Calculations in Clifford Algebra now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.