Syntax10.Scn.Fnt ParcElems Alloc Syntax24b.Scn.Fnt Syntax10b.Scn.Fnt Syntax10i.Scn.Fnt FoldElems (* AMIGA *) MODULE MoreMath; (* MoreMathL by Christoph Steindl (CS), 11.11.94, AMIGA Ralf Degner (RD) 15.7.95 *) IMPORT SYSTEM, Math; CONST piOver2 = Math.pi / 2; PROCEDURE -ulr 04EH, 05EH, 04EH, 075H; (* ULNK A6; RTS *) PROCEDURE -ftan 0F2H, 02EH, 044H, 00FH, 0000H, 008H; (* FTAN.S (8, A6), FP0 *) PROCEDURE -fcot (* 1/tan(x) *) 0F2H, 000H, 05CH, 032H, (* FMOVECR.X $ 00000032, FP0 *) 0F2H, 02EH, 044H, 08FH, 0000H, 008H, (* FTAN.S (8, A6), FP1 *) 0F2H, 000H, 004H, 020H; (* FDIV.X FP1, FP0 *) PROCEDURE -fasin 0F2H, 02EH, 044H, 00CH, 0000H, 008H; (* FASIN.S (8, A6), FP0 *) PROCEDURE -facos 0F2H, 02EH, 044H, 01CH, 0000H, 008H; (* FACOS.S (8, A6), FP0 *) PROCEDURE -ftanh 0F2H, 02EH, 044H, 009H, 0000H, 008H, (* FTANH.S (8, A6), FP0 *) 04EH, 05EH, 04EH, 075H; (* ULNK A6; RTS *) PROCEDURE -fsinh 0F2H, 02EH, 044H, 002H, 0000H, 008H; (* FSINH.S (8, A6), FP0 *) PROCEDURE -fcosh 0F2H, 02EH, 044H, 019H, 0000H, 008H; (* FCOSH.S (8, A6), FP0 *) PROCEDURE -fatanh 0F2H, 02EH, 044H, 00DH, 0000H, 008H; (* FATANH.S (8, A6), FP0 *) PROCEDURE -facoth (* atanh(1/x) *) 0F2H, 000H, 05CH, 032H, (* FMOVECR.X $ 00000032, FP0 *) 0F2H, 02EH, 044H, 020H, 0000H, 008H, (* FDIV.S (8, A6), FP0 *) 0F2H, 000H, 000H, 00DH; (* FATANH.X FP0, FP0 *) PROCEDURE tan* (x: REAL): REAL; BEGIN ftan; ulr END tan; PROCEDURE cot* (x: REAL): REAL; BEGIN fcot; ulr END cot; PROCEDURE arcsin* (x: REAL): REAL; BEGIN fasin; ulr END arcsin; PROCEDURE arccot* (x: REAL): REAL; BEGIN RETURN piOver2 - Math.arctan(x) END arccot; PROCEDURE arccos* (x: REAL): REAL; BEGIN facos; ulr END arccos; PROCEDURE tanh* (x: REAL): REAL; BEGIN ftanh; ulr END tanh; PROCEDURE sinh* (x: REAL): REAL; BEGIN fsinh; ulr END sinh; PROCEDURE cosh* (x: REAL): REAL; BEGIN fcosh; ulr END cosh; PROCEDURE coth* (x: REAL): REAL; VAR e1, e2: REAL; BEGIN e1 := Math.exp(x); e2 := 1 / e1; RETURN (e1 + e2) / (e1 - e2) END coth; PROCEDURE arctanh* (x: REAL): REAL; BEGIN fatanh; ulr END arctanh; PROCEDURE arcsinh* (x: REAL): REAL; BEGIN RETURN arctanh(x / Math.sqrt(1 + x * x)) END arcsinh; PROCEDURE arcosh* (x: REAL): REAL; BEGIN RETURN arctanh(Math.sqrt(x * x - 1) / x) END arcosh; PROCEDURE arcoth* (x: REAL): REAL; BEGIN facoth; ulr END arcoth; END MoreMath.Mod