summaryrefslogtreecommitdiffstats
path: root/scmhob.h
diff options
context:
space:
mode:
authorLaMont Jones <lamont@debian.org>2003-05-07 08:36:40 -0600
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:27 -0800
commite21d47d7813159bb71e0671df9b52ec0470c358d (patch)
tree3c7770ea846123c291f599044e9f234ac17616bb /scmhob.h
parent8cfce36c6a4fc2e0a0ab6ef2db66a23cbe462693 (diff)
parentdeda2c0fd8689349fea2a900199a76ff7ecb319e (diff)
downloadscm-e21d47d7813159bb71e0671df9b52ec0470c358d.tar.gz
scm-e21d47d7813159bb71e0671df9b52ec0470c358d.zip
Import Debian changes 5d6-3.2debian/5d6-3.2
scm (5d6-3.2) unstable; urgency=low * Fix hppa compile. Closes: #144062 scm (5d6-3.1) unstable; urgency=low * NMU with patch from James Troup, to fix FTBFS on sparc. Closes: #191171 scm (5d6-3) unstable; urgency=low * Add build depend on xlibs-dev (Closes: #148020) scm (5d6-2) unstable; urgency=low * Remove libregexx-dev from build-depends. * Change build to use ./scmlit rather than scmlit (should fix some build problems) (looks like alpha is mostly building) * New release (Closes: #140175) * Built with turtlegraphics last time (Closes: #58515) scm (5d6-1) unstable; urgency=low * New upstream. * Add xlib and turtlegr to requested list of features. (closes some bug) * Make clean actually clean most everything up. * Remove hacks renaming build to something else and just set build as a .PHONY target in debian/rules. * Add the turtlegr code. scm (5d5-1) unstable; urgency=low * New upstream * Has fixes for 64 bit archs. May fix alpha compile problem. Does fix (Closes: #140175) * Take out -O2 arg. scm (5d4-3) unstable; urgency=low * Don't link with regexx, but just use libc6's regular expression functions. * Define (terms) to output /usr/share/common-licenses/GPL (Closes: #119321) scm (5d4-2) unstable; urgency=low * Add texinfo to build depends (Closes: #107011) scm (5d4-1) unstable; urgency=low * New upstream release. * Move install-info --remove to prerm. scm (5d3-5) unstable; urgency=low * Move scm info files to section "The Algorithmic Language Scheme" to match up with guile. scm (5d3-4) unstable; urgency=low * Fix build depends (Closes: #76691) scm (5d3-3) unstable; urgency=low * Fix path in scm dhelp file. scm (5d3-2) unstable; urgency=low * Actually put the header files in the package. Oops. scm (5d3-1) unstable; urgency=low * New upstream. (Closes: #74761) * Make (terms) use new license location. * Make use libregexx rather than librx. * Fix build depends for above. * Using new regex lib seems to fix crash (Closes: #66787) * Consider adding scm-dev package with headers, but instead just add the headers to the scm package. (Closes: #70787) * Add doc-base support.
Diffstat (limited to 'scmhob.h')
-rw-r--r--scmhob.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/scmhob.h b/scmhob.h
new file mode 100644
index 0000000..b1480c1
--- /dev/null
+++ b/scmhob.h
@@ -0,0 +1,105 @@
+/* scmhob.h is a header file for scheme source compiled with hobbit5x
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997 Tanel Tammet
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 1, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+*/
+
+#include "scm.h"
+
+#define STBL_VECTOR_SET(v,k,o) (v[((long)INUM(k))] = o)
+#define STBL_VECTOR_REF(v,k) (v[((long)INUM(k))])
+#define CHAR_LESSP(x,y) ((ICHR(x) < ICHR(y)) ? BOOL_T : BOOL_F)
+#define CHAR_LEQP(x,y) ((ICHR(x) <= ICHR(y)) ? BOOL_T : BOOL_F)
+#define CHCI_EQ(x,y) ((upcase[ICHR(x)]==upcase[ICHR(y)]) ? BOOL_T : BOOL_F)
+#define CHCI_LESSP(x,y) ((upcase[ICHR(x)] < upcase[ICHR(y)]) ? BOOL_T : BOOL_F)
+#define CHCI_LEQP(x,y) ((upcase[ICHR(x)] <= upcase[ICHR(y)]) ? BOOL_T : BOOL_F)
+#define CHAR_ALPHAP(chr) ((isascii(ICHR(chr)) && isalpha(ICHR(chr))) ? BOOL_T : BOOL_F)
+#define CHAR_NUMP(chr) ((isascii(ICHR(chr)) && isdigit(ICHR(chr))) ? BOOL_T : BOOL_F)
+#define CHAR_WHITEP(chr) ((isascii(ICHR(chr)) && isspace(ICHR(chr))) ? BOOL_T : BOOL_F)
+#define CHAR_UPPERP(chr) ((isascii(ICHR(chr)) && isupper(ICHR(chr))) ? BOOL_T : BOOL_F)
+#define CHAR_LOWERP(chr) ((isascii(ICHR(chr)) && islower(ICHR(chr))) ? BOOL_T : BOOL_F)
+#define CHAR2INT(chr) MAKINUM(ICHR(chr))
+#define INT2CHAR(n) MAKICHR(INUM(n))
+#define CHAR_UPCASE(chr) MAKICHR(upcase[ICHR(chr)])
+#define CHAR_DOWNCASE(chr) MAKICHR(downcase[ICHR(chr)])
+#define ST_LENGTH(str) MAKINUM(LENGTH(str))
+#define ST_REF(str,k) MAKICHR(CHARS(str)[INUM(k)])
+#define VECTOR_LENGTH(v) MAKINUM(LENGTH(v))
+
+#ifdef FLOATS
+#include <math.h>
+#endif
+#ifdef BIGDIG
+#define PRE_TRANSC_FUN(x) (INUMP(x) ? (double) INUM(x) : (REALP(x) ? (double) REALPART(x) : (double) big2dbl(x)))
+#else
+#define PRE_TRANSC_FUN(x) (INUMP(x) ? (double) INUM(x) : (double) REALPART(x))
+#endif
+
+#define SIN_FUN(x) (makdbl( sin( PRE_TRANSC_FUN(x)), 0.0))
+#define COS_FUN(x) (makdbl( cos( PRE_TRANSC_FUN(x)), 0.0))
+#define TAN_FUN(x) (makdbl( tan( PRE_TRANSC_FUN(x)), 0.0))
+#define ASIN_FUN(x) (makdbl( asin( PRE_TRANSC_FUN(x)), 0.0))
+#define ACOS_FUN(x) (makdbl( acos( PRE_TRANSC_FUN(x)), 0.0))
+#define ATAN_FUN(x) (makdbl( atan( PRE_TRANSC_FUN(x)), 0.0))
+#define SINH_FUN(x) (makdbl( sinh( PRE_TRANSC_FUN(x)), 0.0))
+#define COSH_FUN(x) (makdbl( cosh( PRE_TRANSC_FUN(x)), 0.0))
+#define TANH_FUN(x) (makdbl( tanh( PRE_TRANSC_FUN(x)), 0.0))
+#define ASINH_FUN(x) (makdbl( asinh( PRE_TRANSC_FUN(x)), 0.0))
+#define ACOSH_FUN(x) (makdbl( acosh( PRE_TRANSC_FUN(x)), 0.0))
+#define ATANH_FUN(x) (makdbl( atanh( PRE_TRANSC_FUN(x)), 0.0))
+#define SQRT_FUN(x) (makdbl( sqrt( PRE_TRANSC_FUN(x)), 0.0))
+#define EXPT_FUN(x,y) (makdbl( pow(( PRE_TRANSC_FUN(x)), ( PRE_TRANSC_FUN(y))), 0.0))
+#define EXP_FUN(x) (makdbl( exp( PRE_TRANSC_FUN(x)), 0.0))
+#define LOG_FUN(x) (makdbl( log( PRE_TRANSC_FUN(x)), 0.0))
+#define ABS_FUN(x) (makdbl( fabs( PRE_TRANSC_FUN(x)), 0.0))
+#define EX2IN_FUN(x) (makdbl( PRE_TRANSC_FUN(x), 0.0))
+#define FLOOR_FUN(x) (makdbl( floor( PRE_TRANSC_FUN(x)), 0.0))
+#define CEILING_FUN(x) (makdbl( ceil( PRE_TRANSC_FUN(x)), 0.0))
+#define TRUNCATE_FUN(x) (makdbl( ltrunc( PRE_TRANSC_FUN(x)), 0.0))
+#define ROUND_FUN(x) (makdbl(round( PRE_TRANSC_FUN(x)), 0.0))
+
+/* the following defs come from the #ifdef HOBBIT part of scm.h */
+
+#define SBOOL(x) ((x) ? BOOL_T : BOOL_F)
+
+#define BOOLEAN_P(x) ((x)==BOOL_T || (x)==BOOL_F)
+#define CHAR_P ICHRP
+#define SYMBOL_P(x) (ISYMP(x) || (!(IMP(x)) && SYMBOLP(x)))
+#define VECTOR_P(x) (!(IMP(x)) && VECTORP(x))
+#define PAIR_P(x) (!(IMP(x)) && CONSP(x))
+#define NUMBER_P INUMP
+#define INTEGER_P INUMP
+#define STRING_P(x) (!(IMP(x)) && STRINGP(x))
+#define NULL_P NULLP
+#define ZERO_P(x) ((x)==INUM0)
+#define POSITIVE_P(x) ((x) > INUM0)
+#define NEGATIVE_P(x) ((x) < INUM0)
+
+#define NOT(x) ((x)==BOOL_F ? BOOL_T : BOOL_F)
+#define SET_CAR(x,y) (CAR(x) = (SCM)(y))
+#define SET_CDR(x,y) (CDR(x) = (SCM)(y))
+#define VECTOR_SET(v,k,o) (VELTS(v)[((long)INUM(k))] = o)
+#define VECTOR_REF(v,k) (VELTS(v)[((long)INUM(k))])
+#define GLOBAL(x) (*(x))
+
+#define append2(lst1,lst2) (append(cons2(lst1,lst2,EOL)))
+#define procedure_pred_(x) (BOOL_T==procedurep(x))
+
+/* new for hobbit5 - scm5 */
+
+/*
+SCM intp(SCM);
+SCM eqv(SCM,SCM);
+*/