Node:Quantities,
Next:Logical Number Operations,
Previous:Procedures,
Up:Extensions
Quantities
As a super-class of numbers, Kawa also provides quantities.
A quantity is a product of a unit and a pure number.
The number part can be an arbitrary complex number.
The unit is a product of integer powers of base units,
such as meter or second.
Kawa quantities are a generalization of the quantities in DSSSL,
which only has length-derived quantities.
The precise syntax of quantity literals may change,
but some examples are 10pt
(10 points), 5s
(5 seconds),
and 4cm^2
(4 square centimeters).
quantity? object
|
Function |
True iff object is a quantity. Note that all numbers are
quantities, but not the other way round.
Currently, there are no quantities that re not numbers.
To distinguish a plain unit-less number from a quantity,
you can use complex? .
|
quantity->number q
|
Function |
Returns the pure number part of the quantity q, relative to
primitive (base) units.
If q is a number, returns q.
If q is a unit, yields the magitude of q relative to base units.
|
quantity->unit q
|
Function |
Returns the unit of the quantity q.
If q is a number, returns the empty unit.
|
make-quantity x unit
|
Function |
Returns the product of x (a pure number) and unit.
You can specify a string instead of unit, such as "cm"
or "s" (seconds).
|
define-base-unit unit-name dimension
|
Syntax |
Define unit-name as a base (primitive) unit,
which is used to measure along the specified dimension.
(define-base-unit dollar "Money")
|
define-unit unit-name expression
|
Syntax |
Define unit-name as a unit (that can be used in literals)
equal to the quantity expression.
(define-unit cent 0.01dollar)
|