Previous: argument-summary Up: ../chrrtn.html Next: chrasc
Although the KARxxx routines are functionally identical on all machines, internally they have to deal with the word size, character size, and byte storage order of the host machine. They therefore tend to need modification for each new host, and if they are written in assembly code, must be entirely rewritten to be retargeted. The CHRxxx routines are much easier to adapt, since they can largely be written in standard conforming FORTRAN 77, although one may still wish for efficiency reasons to write some of them in a lower level language. CHRASC and CHRORD need to deal with the possibility that ICHAR() (if they use it) may return a negative value which must be remapped. CHRASC and CHRLCL will need a lookup table on non-ASCII hosts. CHRCHR and CHRLCL need to be able to select low order bits of their argument; they currently use the bit primitive IBTAND for this purpose, but the mask values may need adjustment for other machines. CHRVFY and CHRXLT are implemented with lookup tables whose dimensions must be at least as large as the host character set size.