A unit is a physical quantity that other quantities are compared against. It defines a scale on which certain physical quantities can be measured in. The very same physical quantity can be measured in different scales. There are as well different kinds of physical quantities that can be measured on the same scale.
The conversion mapping of units without common origin is no more linear but mostly affine linear. An affine mapping consists of a combination of a factor and an offset. Best known examples are temperatures (Celsius, Fahrenheit,..)
Units that are directly based on empirical observation, like material hardness or customer satisfaction, need a more general, nonlinear conversion mapping. Though these are rare cases, they do occur in practice and should be handled somehow.
fixed, i.e. static at compile time. Use compile-time polymorphism. No RAM needed to hold members. Stringent dimension checking; checks may not fail at runtime. Avoids automatic conversion between static quantities. Should be fast on optimising compilers. Only linear units, i.e. no affine units, no nonlinearities.
dynamic in the sense of runtime-polymorphism. Needs RAM to hold members. Needs CPU cycles to to the checking. Checks may fail at runtime. Is able to handle offsets, i.e. affine units. Thus more costly, but as well much more flexible.
Generated on Mon Apr 2 22:25:06 2007 for physical_svn by 1.5.1-p1