1/*
2 * Copyright (c) 2001 by The XFree86 Project, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
19 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 *
22 * Except as contained in this notice, the name of the XFree86 Project shall
23 * not be used in advertising or otherwise to promote the sale, use or other
24 * dealings in this Software without prior written authorization from the
25 * XFree86 Project.
26 *
27 * Author: Paulo César Pereira de Andrade
28 */
29
30/* $XFree86: xc/programs/xedit/lisp/math.h,v 1.6tsi Exp $ */
31
32#ifndef Lisp_math_h
33#define Lisp_math_h
34
35#include "lisp/internal.h"
36#include "mp.h"
37
38void LispMathInit(void);
39LispObj *LispFloatCoerce(LispBuiltin*, LispObj*);
40
41LispObj *Lisp_Mul(LispBuiltin*);
42LispObj *Lisp_Plus(LispBuiltin*);
43LispObj *Lisp_Minus(LispBuiltin*);
44LispObj *Lisp_Div(LispBuiltin*);
45LispObj *Lisp_OnePlus(LispBuiltin*);
46LispObj *Lisp_OneMinus(LispBuiltin*);
47LispObj *Lisp_Less(LispBuiltin*);
48LispObj *Lisp_LessEqual(LispBuiltin*);
49LispObj *Lisp_Equal_(LispBuiltin*);
50LispObj *Lisp_Greater(LispBuiltin*);
51LispObj *Lisp_GreaterEqual(LispBuiltin*);
52LispObj *Lisp_NotEqual(LispBuiltin*);
53LispObj *Lisp_Max(LispBuiltin*);
54LispObj *Lisp_Min(LispBuiltin*);
55LispObj *Lisp_Mod(LispBuiltin*);
56LispObj *Lisp_Abs(LispBuiltin*);
57LispObj *Lisp_Complex(LispBuiltin*);
58LispObj *Lisp_Complexp(LispBuiltin*);
59LispObj *Lisp_Conjugate(LispBuiltin*);
60LispObj *Lisp_Decf(LispBuiltin*);
61LispObj *Lisp_Denominator(LispBuiltin*);
62LispObj *Lisp_Evenp(LispBuiltin*);
63LispObj *Lisp_Float(LispBuiltin*);
64LispObj *Lisp_Floatp(LispBuiltin*);
65LispObj *Lisp_Gcd(LispBuiltin*);
66LispObj *Lisp_Imagpart(LispBuiltin*);
67LispObj *Lisp_Incf(LispBuiltin*);
68LispObj *Lisp_Integerp(LispBuiltin*);
69LispObj *Lisp_Isqrt(LispBuiltin*);
70LispObj *Lisp_Lcm(LispBuiltin*);
71LispObj *Lisp_Logand(LispBuiltin*);
72LispObj *Lisp_Logeqv(LispBuiltin*);
73LispObj *Lisp_Logior(LispBuiltin*);
74LispObj *Lisp_Lognot(LispBuiltin*);
75LispObj *Lisp_Logxor(LispBuiltin*);
76LispObj *Lisp_Minusp(LispBuiltin*);
77LispObj *Lisp_Numberp(LispBuiltin*);
78LispObj *Lisp_Numerator(LispBuiltin*);
79LispObj *Lisp_Oddp(LispBuiltin*);
80LispObj *Lisp_Plusp(LispBuiltin*);
81LispObj *Lisp_Rational(LispBuiltin*);
82#if 0
83LispObj *Lisp_Rationalize(LispBuiltin*);
84#endif
85LispObj *Lisp_Rationalp(LispBuiltin*);
86LispObj *Lisp_Realpart(LispBuiltin*);
87LispObj *Lisp_Rem(LispBuiltin*);
88LispObj *Lisp_Sqrt(LispBuiltin*);
89LispObj *Lisp_Zerop(LispBuiltin*);
90LispObj *Lisp_Ceiling(LispBuiltin*);
91LispObj *Lisp_Fceiling(LispBuiltin*);
92LispObj *Lisp_Floor(LispBuiltin*);
93LispObj *Lisp_Ffloor(LispBuiltin*);
94LispObj *Lisp_Round(LispBuiltin*);
95LispObj *Lisp_Fround(LispBuiltin*);
96LispObj *Lisp_Truncate(LispBuiltin*);
97LispObj *Lisp_Ftruncate(LispBuiltin*);
98
99
100#endif /* Lisp_math_h */
101