Mesquite provides utility classes for dealing with numbers. Some, such as MesquiteInteger, MesquiteLong and MesquiteDouble, are basically wrapper classes to allow the equivalent of a VAR parameter to be passed and its content changed by a method. They also provide various helping methods concerning minimum, maximum, String reading and writing, and so on. MesquiteDouble provides String output with more flexibility than the standard Double class.
For int, long and double variable types Mesquite defines some constant values to signify "unassigned", "infinity", "negative infinity", and "impossible". These constants are in the respective wrapper classes MesquiteInteger, MesquiteLong and MesquiteDouble.
The MesquiteNumber class is a special class to hold numerical information without specifying type (integer, long or double). It has storage for each, and by default stores as integer (hence, with full precision). If operations involve long or doubles, the storage gets "upgraded" accordingly. Many Mesquite calculations use MesquiteNumbers (or the corresponding NumberArray or Number2DArray) to avoid locking in to a particular numerical storage type.