Search Top Index
HELP DECIMALS Mark Rubinstein, December 1984, A.S. Oct 1986 For a tutorial introduction to the different kinds of numbers that POPLOG recognises and uses see TEACH DECIMALS. POPLOG has several kinds of numbers - integers, bigintegers, decimals ("reals") double decimals (called "ddecimals" in POPLOG) complex numbers ratios *DDECIMAL numbers are more accurate (contain more significant digits) than DECIMAL numbers. The other side of the coin is that POPLOG has to use more memory to store them, and their use can cause additional "garbage collections". When a number is read (from a file or from the terminal) without a decimal point, an INTEGER is created. If a decimal point is read then a DDECIMAL is created. However if the result of a computation is a real number then POPLOG returns a DECIMAL number, e.g. dataword(1) => ** integer dataword(4.5) => ** ddecimal dataword(9/2) => ** decimal (See HELP *DATAWORD). POPLOG can be made to return DDECIMAL numbers by assigning TRUE to POPDPRECISION (see REF *POPDPRECISION). It is also possible to ensure that a number read in is either a single or double precision number, by using "s0" or "d0" at the end, e.g. dataword(1.0s0) => ** decimal dataword(1.0d0) => ** ddecimal An "exponent" notation is available for decimals using "e" followed by the power of 10 to be used: 3.123e3 => ** 3123.0 3.123e-3 => ** 0.003123 If, instead of "e" "s" is used, the number will be read as a SINGLE decimal number,e.g. 3.123s-3=> ** 0.003123 -- See also ------------------------------------------------------------ HELP *NUMBERS - on number datatypes in POP-11, and procedures which operate on them. REF *ITEMISE - on the workings of the itemiser, and textual representations of all POP-11 datatypes. HELP *PRINT - on the POP-11 printing mechanism. HELP *BIGINTEGERS - on bigintegers. REF *NUMBERS - technical overview of numbers and associated procedures. --- C.all/help/decimals ------------------------------------------------ --- Copyright University of Sussex 1987. All rights reserved. ----------