15dfecf96Smrg/*
25dfecf96Smrg * Copyright (c) 2001 by The XFree86 Project, Inc.
35dfecf96Smrg *
45dfecf96Smrg * Permission is hereby granted, free of charge, to any person obtaining a
55dfecf96Smrg * copy of this software and associated documentation files (the "Software"),
65dfecf96Smrg * to deal in the Software without restriction, including without limitation
75dfecf96Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
85dfecf96Smrg * and/or sell copies of the Software, and to permit persons to whom the
95dfecf96Smrg * Software is furnished to do so, subject to the following conditions:
105dfecf96Smrg *
115dfecf96Smrg * The above copyright notice and this permission notice shall be included in
125dfecf96Smrg * all copies or substantial portions of the Software.
135dfecf96Smrg *
145dfecf96Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
155dfecf96Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
165dfecf96Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
175dfecf96Smrg * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
185dfecf96Smrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
195dfecf96Smrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
205dfecf96Smrg * SOFTWARE.
215dfecf96Smrg *
225dfecf96Smrg * Except as contained in this notice, the name of the XFree86 Project shall
235dfecf96Smrg * not be used in advertising or otherwise to promote the sale, use or other
245dfecf96Smrg * dealings in this Software without prior written authorization from the
255dfecf96Smrg * XFree86 Project.
265dfecf96Smrg *
275dfecf96Smrg * Author: Paulo César Pereira de Andrade
285dfecf96Smrg */
295dfecf96Smrg
305dfecf96Smrg/* $XFree86: xc/programs/xedit/lisp/math.h,v 1.6tsi Exp $ */
315dfecf96Smrg
325dfecf96Smrg#ifndef Lisp_math_h
335dfecf96Smrg#define Lisp_math_h
345dfecf96Smrg
355dfecf96Smrg#include "lisp/internal.h"
365dfecf96Smrg#include "mp.h"
375dfecf96Smrg
385dfecf96Smrgvoid LispMathInit(void);
395dfecf96SmrgLispObj *LispFloatCoerce(LispBuiltin*, LispObj*);
405dfecf96Smrg
415dfecf96SmrgLispObj *Lisp_Mul(LispBuiltin*);
425dfecf96SmrgLispObj *Lisp_Plus(LispBuiltin*);
435dfecf96SmrgLispObj *Lisp_Minus(LispBuiltin*);
445dfecf96SmrgLispObj *Lisp_Div(LispBuiltin*);
455dfecf96SmrgLispObj *Lisp_OnePlus(LispBuiltin*);
465dfecf96SmrgLispObj *Lisp_OneMinus(LispBuiltin*);
475dfecf96SmrgLispObj *Lisp_Less(LispBuiltin*);
485dfecf96SmrgLispObj *Lisp_LessEqual(LispBuiltin*);
495dfecf96SmrgLispObj *Lisp_Equal_(LispBuiltin*);
505dfecf96SmrgLispObj *Lisp_Greater(LispBuiltin*);
515dfecf96SmrgLispObj *Lisp_GreaterEqual(LispBuiltin*);
525dfecf96SmrgLispObj *Lisp_NotEqual(LispBuiltin*);
535dfecf96SmrgLispObj *Lisp_Max(LispBuiltin*);
545dfecf96SmrgLispObj *Lisp_Min(LispBuiltin*);
555dfecf96SmrgLispObj *Lisp_Mod(LispBuiltin*);
565dfecf96SmrgLispObj *Lisp_Abs(LispBuiltin*);
575dfecf96SmrgLispObj *Lisp_Complex(LispBuiltin*);
585dfecf96SmrgLispObj *Lisp_Complexp(LispBuiltin*);
595dfecf96SmrgLispObj *Lisp_Conjugate(LispBuiltin*);
605dfecf96SmrgLispObj *Lisp_Decf(LispBuiltin*);
615dfecf96SmrgLispObj *Lisp_Denominator(LispBuiltin*);
625dfecf96SmrgLispObj *Lisp_Evenp(LispBuiltin*);
635dfecf96SmrgLispObj *Lisp_Float(LispBuiltin*);
645dfecf96SmrgLispObj *Lisp_Floatp(LispBuiltin*);
655dfecf96SmrgLispObj *Lisp_Gcd(LispBuiltin*);
665dfecf96SmrgLispObj *Lisp_Imagpart(LispBuiltin*);
675dfecf96SmrgLispObj *Lisp_Incf(LispBuiltin*);
685dfecf96SmrgLispObj *Lisp_Integerp(LispBuiltin*);
695dfecf96SmrgLispObj *Lisp_Isqrt(LispBuiltin*);
705dfecf96SmrgLispObj *Lisp_Lcm(LispBuiltin*);
715dfecf96SmrgLispObj *Lisp_Logand(LispBuiltin*);
725dfecf96SmrgLispObj *Lisp_Logeqv(LispBuiltin*);
735dfecf96SmrgLispObj *Lisp_Logior(LispBuiltin*);
745dfecf96SmrgLispObj *Lisp_Lognot(LispBuiltin*);
755dfecf96SmrgLispObj *Lisp_Logxor(LispBuiltin*);
765dfecf96SmrgLispObj *Lisp_Minusp(LispBuiltin*);
775dfecf96SmrgLispObj *Lisp_Numberp(LispBuiltin*);
785dfecf96SmrgLispObj *Lisp_Numerator(LispBuiltin*);
795dfecf96SmrgLispObj *Lisp_Oddp(LispBuiltin*);
805dfecf96SmrgLispObj *Lisp_Plusp(LispBuiltin*);
815dfecf96SmrgLispObj *Lisp_Rational(LispBuiltin*);
825dfecf96Smrg#if 0
835dfecf96SmrgLispObj *Lisp_Rationalize(LispBuiltin*);
845dfecf96Smrg#endif
855dfecf96SmrgLispObj *Lisp_Rationalp(LispBuiltin*);
865dfecf96SmrgLispObj *Lisp_Realpart(LispBuiltin*);
875dfecf96SmrgLispObj *Lisp_Rem(LispBuiltin*);
885dfecf96SmrgLispObj *Lisp_Sqrt(LispBuiltin*);
895dfecf96SmrgLispObj *Lisp_Zerop(LispBuiltin*);
905dfecf96SmrgLispObj *Lisp_Ceiling(LispBuiltin*);
915dfecf96SmrgLispObj *Lisp_Fceiling(LispBuiltin*);
925dfecf96SmrgLispObj *Lisp_Floor(LispBuiltin*);
935dfecf96SmrgLispObj *Lisp_Ffloor(LispBuiltin*);
945dfecf96SmrgLispObj *Lisp_Round(LispBuiltin*);
955dfecf96SmrgLispObj *Lisp_Fround(LispBuiltin*);
965dfecf96SmrgLispObj *Lisp_Truncate(LispBuiltin*);
975dfecf96SmrgLispObj *Lisp_Ftruncate(LispBuiltin*);
985dfecf96Smrg
995dfecf96Smrg
1005dfecf96Smrg#endif /* Lisp_math_h */
101