Unit object (UNIT)


Defines

#define UNITumMULT   0x2D74F
 The um* ROM marker.
#define UNITumDIV   0x2D759
 The um/ ROM marker.
#define UNITumPOW   0x2D763
 The um^ ROM marker.
#define UNITumP   0x2D76D
 The umP ROM marker.
#define UNITumEND   0x2D777
 The umEND ROM marker.
#define SAT_DOUNIT   SAT_DOEXT
 Alias for the prolog used for UNIT objects.

Functions

bool isUNIT (SatAddr src)
 Same as isCOL() but works on a UNIT object.
bool UNITdecode (SatAddr src, char *dst, int *nibbles)
 Same as COLdecode() but works on a UNIT object.
SatAddr UNITencode (const char *src, const int nibbles, SatAddr dst)
 Same as COLencode() but works on a UNIT object.
SatAddr makeUNIT (unsigned nibbles)
 Same as makeCOL() but works on a UNIT object.
int UNITnibbles (SatAddr src)
 Same as COLnibbles() but works on a UNIT object.
int UNITbytes (SatAddr src)
 Same as COLbytes() but works on a UNIT object.
SatAddr UNITfirstOb (SatAddr src, SatAddr *iter)
 Same as LISTfirstOb() but works on a UNIT object.
SatAddr UNITnextOb (SatAddr *iter)
 Same as LISTnextOb() but works on a UNIT object.
SatAddr UNITfirstEntry (SatAddr src)
 Same as LISTfirstEntry() but works on a UNIT object.
SatAddr UNITnextEntry (SatAddr entry)
 Same as LISTnextEntry() but works on a UNIT object.
SatAddr UNITencodeV (SatAddr dst,...)
 Same as COLencodeV() but works on a UNIT object.
SatAddr UNITencodeN (int n, SatAddr obs[], SatAddr dst)
 Same as COLencodeN() but works on a UNIT object.

Detailed Description

A UNIT object is structured a lot like a LIST, COL, or SYMB object, but the contents of a UNIT object are pretty rigidly defined. These functions don't enforce the structure of the contents. See Programming in System RPL chapter 13 for more details about units. I'm only providing rudimentary support for creating them here. Maybe in a later version I'll provide more.

These functions have identical meeting to the equivalent ones for COL objects or LIST objects. In other words, UNITxyz() has the same symantics as COLxyz(), except that it operates on a UNIT object

Most of the functions in this library use the name of the prolog as a prefix for the name of the function (e.g., real numbers use DOREAL for the prolog and the functions are all named REALxyz()). The UNIT object's prolog is DOEXT, but I'll use UNIT as the prefix instead. For convenience, I'll define SAT_DOUNIT also


Generated on Sat Apr 3 16:38:31 2010 for HPObjects by  doxygen 1.5.0