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 
38 void LispMathInit(void);
39 LispObj *LispFloatCoerce(LispBuiltin*, LispObj*);
40 
41 LispObj *Lisp_Mul(LispBuiltin*);
42 LispObj *Lisp_Plus(LispBuiltin*);
43 LispObj *Lisp_Minus(LispBuiltin*);
44 LispObj *Lisp_Div(LispBuiltin*);
45 LispObj *Lisp_OnePlus(LispBuiltin*);
46 LispObj *Lisp_OneMinus(LispBuiltin*);
47 LispObj *Lisp_Less(LispBuiltin*);
48 LispObj *Lisp_LessEqual(LispBuiltin*);
49 LispObj *Lisp_Equal_(LispBuiltin*);
50 LispObj *Lisp_Greater(LispBuiltin*);
51 LispObj *Lisp_GreaterEqual(LispBuiltin*);
52 LispObj *Lisp_NotEqual(LispBuiltin*);
53 LispObj *Lisp_Max(LispBuiltin*);
54 LispObj *Lisp_Min(LispBuiltin*);
55 LispObj *Lisp_Mod(LispBuiltin*);
56 LispObj *Lisp_Abs(LispBuiltin*);
57 LispObj *Lisp_Complex(LispBuiltin*);
58 LispObj *Lisp_Complexp(LispBuiltin*);
59 LispObj *Lisp_Conjugate(LispBuiltin*);
60 LispObj *Lisp_Decf(LispBuiltin*);
61 LispObj *Lisp_Denominator(LispBuiltin*);
62 LispObj *Lisp_Evenp(LispBuiltin*);
63 LispObj *Lisp_Float(LispBuiltin*);
64 LispObj *Lisp_Floatp(LispBuiltin*);
65 LispObj *Lisp_Gcd(LispBuiltin*);
66 LispObj *Lisp_Imagpart(LispBuiltin*);
67 LispObj *Lisp_Incf(LispBuiltin*);
68 LispObj *Lisp_Integerp(LispBuiltin*);
69 LispObj *Lisp_Isqrt(LispBuiltin*);
70 LispObj *Lisp_Lcm(LispBuiltin*);
71 LispObj *Lisp_Logand(LispBuiltin*);
72 LispObj *Lisp_Logeqv(LispBuiltin*);
73 LispObj *Lisp_Logior(LispBuiltin*);
74 LispObj *Lisp_Lognot(LispBuiltin*);
75 LispObj *Lisp_Logxor(LispBuiltin*);
76 LispObj *Lisp_Minusp(LispBuiltin*);
77 LispObj *Lisp_Numberp(LispBuiltin*);
78 LispObj *Lisp_Numerator(LispBuiltin*);
79 LispObj *Lisp_Oddp(LispBuiltin*);
80 LispObj *Lisp_Plusp(LispBuiltin*);
81 LispObj *Lisp_Rational(LispBuiltin*);
82 #if 0
83 LispObj *Lisp_Rationalize(LispBuiltin*);
84 #endif
85 LispObj *Lisp_Rationalp(LispBuiltin*);
86 LispObj *Lisp_Realpart(LispBuiltin*);
87 LispObj *Lisp_Rem(LispBuiltin*);
88 LispObj *Lisp_Sqrt(LispBuiltin*);
89 LispObj *Lisp_Zerop(LispBuiltin*);
90 LispObj *Lisp_Ceiling(LispBuiltin*);
91 LispObj *Lisp_Fceiling(LispBuiltin*);
92 LispObj *Lisp_Floor(LispBuiltin*);
93 LispObj *Lisp_Ffloor(LispBuiltin*);
94 LispObj *Lisp_Round(LispBuiltin*);
95 LispObj *Lisp_Fround(LispBuiltin*);
96 LispObj *Lisp_Truncate(LispBuiltin*);
97 LispObj *Lisp_Ftruncate(LispBuiltin*);
98 
99 
100 #endif /* Lisp_math_h */
101