For all of the following functions, all arguments that are specified as being specialized to <machine-word> accept an instance of <abstract-integer>, which is then coerced to a <machine-word> before performing the operation.
Function
so%+ (m1 :: machine-word, m2 :: machine-word) => (sum :: machine-word)
Function
so%- (m1 :: machine-word, m2 :: machine-word) => (difference :: machine-word)
Function
so%* (m1 :: machine-word, m2 :: machine-word) => (product :: machine-word)
Function
so%negative (m :: machine-word) => (r :: machine-word)
Function
so%abs (m :: machine-word) => (r :: machine-word)
Function
so%shift-left (m :: machine-word, count :: integer) => (r :: machine-word)
m by count. An error is signaled unless 0 <= count < $machine-word-size. An error is signaled on overflow.