-- Copyright (C) 1986 by Xerox Corporation. All rights reserved. -- Libm.mesa -- NFS 11-Feb-86 9:31:43 -- C library math functions DIRECTORY DoubleReal USING [Double]; Libm: DEFINITIONS = { Double: TYPE = DoubleReal.Double; Complex: TYPE = MACHINE DEPENDENT RECORD [x, y: Double]; sin: PROCEDURE [x: Double] RETURNS [Double]; cos: PROCEDURE [x: Double] RETURNS [Double]; tan: PROCEDURE [x: Double] RETURNS [Double]; log: PROCEDURE [x: Double] RETURNS [Double]; log1p: PROCEDURE [x: Double] RETURNS [Double]; -- log(x+1) log10: PROCEDURE [x: Double] RETURNS [Double]; -- base 10 log lgamma: PROCEDURE [arg: Double] RETURNS [Double]; exp: PROCEDURE [x: Double] RETURNS [Double]; frexp: PROCEDURE [x: Double, i: LONG POINTER TO INTEGER] RETURNS [Double]; ldexp: PROCEDURE [x: Double, exp: INTEGER] RETURNS [Double]; asin: PROCEDURE [x: Double] RETURNS [Double]; acos: PROCEDURE [x: Double] RETURNS [Double]; atan: PROCEDURE [x: Double] RETURNS [Double]; atan2: PROCEDURE [y, x: Double] RETURNS [Double]; sinh: PROCEDURE [x: Double] RETURNS [Double]; cosh: PROCEDURE [x: Double] RETURNS [Double]; tanh: PROCEDURE [x: Double] RETURNS [Double]; asinh: PROCEDURE [x: Double] RETURNS [Double]; acosh: PROCEDURE [x: Double] RETURNS [Double]; atanh: PROCEDURE [x: Double] RETURNS [Double]; cabs: PROCEDURE [z: Complex] RETURNS [Double]; hypot: PROCEDURE [x, y: Double] RETURNS [Double]; sqrt: PROCEDURE [x: Double] RETURNS [Double]; cbrt: PROCEDURE [x: Double] RETURNS [Double]; -- cube root expm1: PROCEDURE [x: Double] RETURNS [Double]; pow: PROCEDURE [x, y: Double] RETURNS [Double]; fmod: PROCEDURE [x, y: Double] RETURNS [Double]; abs: PROCEDURE [i: INTEGER] RETURNS [INTEGER]; fabs: PROCEDURE [d: Double] RETURNS [Double]; modf: PROCEDURE [d: Double, iptr: LONG POINTER TO Double] RETURNS [Double]; floor: PROCEDURE [d: Double] RETURNS [Double]; ceil: PROCEDURE [d: Double] RETURNS [Double]; rint: PROCEDURE [x: Double] RETURNS [Double]; -- Bessel's function of the 1st and 2nd kinds. j0: PROCEDURE [arg: Double] RETURNS [Double]; -- order 0 j1: PROCEDURE [arg: Double] RETURNS [Double]; -- order 1 jn: PROCEDURE [n: INTEGER, x: Double] RETURNS [Double]; -- integer order y0: PROCEDURE [arg: Double] RETURNS [Double]; y1: PROCEDURE [arg: Double] RETURNS [Double]; yn: PROCEDURE [n: INTEGER, x: Double] RETURNS [Double]; }.