summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/scmhob.h285
1 files changed, 106 insertions, 179 deletions
diff --git a/libguile/scmhob.h b/libguile/scmhob.h
index 6bd61489a..06760c970 100644
--- a/libguile/scmhob.h
+++ b/libguile/scmhob.h
@@ -1,6 +1,3 @@
-/* This was modified to try out compiling with Guile. */
-
-
/* scmhob.h is a header file for scheme source compiled with hobbit4d
Copyright (C) 1992, 1993, 1994, 1995 Tanel Tammet
@@ -20,186 +17,116 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <stdio.h>
-#include <ctype.h>
-#include "libguile/_scm.h"
-
-
-
-#define abrt scm_abort
-#define absval scm_abs
-#define angle scm_angle
-#define append scm_append
-#define assoc scm_assoc
-#define assq scm_assq
-#define assv scm_assv
-#define big2dbl scm_big2dbl
-#define close_port scm_close_port
-#define cons scm_cons
-#define cur_input_port scm_current_input_port
-#define cur_output_port scm_current_output_port
-#define difference scm_difference
-#define display scm_display
-#define divide scm_divide
-#define eof_objectp scm_eof_object_p
-#define eqp scm_eq_p
-#define equal scm_equal_p
-#define eqv scm_eqv_p
-#define evenp scm_even_p
-#define exactp scm_exact_p
-#define greaterp scm_gr_p
-#define greqp scm_geq_p
-#define imag_part scm_imag_part
-#define in2ex scm_inexact_to_exact
-#define inexactp scm_inexact_p
-#define input_portp scm_input_port_p
-#define intp scm_integer_p
-#define length scm_length
-#define leqp scm_leq_p
-#define lessp scm_less_p
-#define lgcd scm_gcd
-#define list_ref scm_list_ref
-#define list_tail scm_list_tail
-#define listp scm_list_p
-#define llcm scm_lcm
-#define lmax scm_max
-#define lmin scm_min
-#define lquotient scm_quotient
-#define lread(X) scm_read((X), SCM_UNDEFINED)
-#define lremainder scm_remainder
-#define lwrite scm_write
-#define magnitude scm_magnitude
-#define makcclo scm_makcclo
-#define makdbl scm_makdbl
-#define make_string scm_make_string
-#define make_vector scm_make_vector
-#define makpolar scm_make_polar
-#define makrect scm_make_rectangular
-#define member scm_member
-#define memq scm_memq
-#define memv scm_memv
-#define modulo scm_modulo
-#define my_time scm_get_internal_run_time
-#define negativep scm_negative_p
-#define newline scm_newline
-#define number2string scm_number_to_string
-#define oddp scm_odd_p
-#define open_file scm_open_file
-#define output_portp scm_output_port_p
-#define peek_char scm_peek_char
-#define positivep scm_positive_p
-#define procedurep scm_procedure_p
-#define product scm_product
-#define quit scm_quit
-#define read_char scm_read_char
-#define real_part scm_real_part
-#define realp scm_real_p
-#define reverse scm_reverse
-#define set_inp scm_set_current_input_port
-#define set_outp scm_set_current_output_port
-#define st_append scm_string_append
-#define st_equal scm_string_equal_p
-#define st_leqp scm_string_leq_p
-#define st_lessp scm_string_less_p
-#define st_set scm_string_set_x
-#define stci_equal scm_string_ci_equal_p
-#define stci_leqp scm_string_ci_leq_p
-#define stci_lessp scm_string_ci_less_p
-#define string scm_string
-#define string2list scm_string_to_list
-#define string2number scm_string_to_number
-#define string2symbol scm_string_to_symbol
-#define string_copy scm_string_copy
-#define string_fill scm_string_fill_x
-#define substring scm_substring
-#define sum scm_sum
-#define symbol2string scm_symbol_to_string
-#define vector scm_vector
-#define vector2list scm_vector_to_list
-#define vector_ref scm_vector_ref
-#define vector_set scm_vector_set_x
-#define write_char scm_write_char
-#define zerop scm_zero_p
-
-
-
-#define STBL_VECTOR_SET(v,k,o) (v[((long)SCM_INUM(k))] = o)
-#define STBL_VECTOR_REF(v,k) (v[((long)SCM_INUM(k))])
-#define CHAR_LESSP(x,y) ((SCM_ICHR(x) < SCM_ICHR(y)) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHAR_LEQP(x,y) ((SCM_ICHR(x) <= SCM_ICHR(y)) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHCI_EQ(x,y) ((upcase[SCM_ICHR(x)]==upcase[SCM_ICHR(y)]) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHCI_LESSP(x,y) ((upcase[SCM_ICHR(x)] < upcase[SCM_ICHR(y)]) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHCI_LEQP(x,y) ((upcase[SCM_ICHR(x)] <= upcase[SCM_ICHR(y)]) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHAR_ALPHAP(chr) ((isascii(SCM_ICHR(chr)) && isalpha(SCM_ICHR(chr))) ? SCM_BOOL_T : SCM_BOOL_F)
-#define SCM_CHAR_NUMP(chr) ((isascii(SCM_ICHR(chr)) && isdigit(SCM_ICHR(chr))) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHAR_WHITEP(chr) ((isascii(SCM_ICHR(chr)) && isspace(SCM_ICHR(chr))) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHAR_UPPERP(chr) ((isascii(SCM_ICHR(chr)) && isupper(SCM_ICHR(chr))) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHAR_LOWERP(chr) ((isascii(SCM_ICHR(chr)) && islower(SCM_ICHR(chr))) ? SCM_BOOL_T : SCM_BOOL_F)
-#define CHAR2INT(chr) SCM_MAKINUM(SCM_ICHR(chr))
-#define INT2CHAR(n) SCM_MAKICHR(SCM_INUM(n))
-#define CHAR_UPCASE(chr) SCM_MAKICHR(upcase[SCM_ICHR(chr)])
-#define CHAR_DOWNCASE(chr) SCM_MAKICHR(downcase[SCM_ICHR(chr)])
-#define ST_LENGTH(str) SCM_MAKINUM(SCM_LENGTH(str))
-#define ST_REF(str,k) SCM_MAKICHR(SCM_CHARS(str)[SCM_INUM(k)])
-#define VECTOR_LENGTH(v) SCM_MAKINUM(SCM_LENGTH(v))
-
-#ifdef SCM_FLOATS
-#include <math.h>
-#endif
-#ifdef SCM_BIGDIG
-#define PRE_TRANSC_FUN(x) (SCM_INUMP(x) ? (double) SCM_INUM(x) : (SCM_REALP(x) ? (double) SCM_REALPART(x) : (double) big2dbl(x)))
-#else
-#define PRE_TRANSC_FUN(x) (SCM_INUMP(x) ? (double) SCM_INUM(x) : (double) SCM_REALPART(x))
-#endif
+#include <libguile.h>
-#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 SCM_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 */
+/* Specifique à hobbit */
+#define GLOBAL(x) (*(x))
+#define VECTOR_SET(v,k,o) (SCM_VELTS(v)[((long)SCM_INUM(k))] = o)
+#define VECTOR_REF(v,k) (SCM_VELTS(v)[((long)SCM_INUM(k))])
+#define VECTOR_LENGTH(v) SCM_MAKINUM(SCM_LENGTH(v))
+
+/* Pourrait etre mis dans le noyau de hobbit */
+/*#define vector_fill_excl_ scm_vector_fill_x*/
+
+/* Passage scm --> guile */
+#define EOL SCM_EOL
+#define CAR SCM_CAR
+#define CDR SCM_CDR
+#define NFALSEP SCM_NFALSEP
+#define BOOL_F SCM_BOOL_F
+#define BOOL_T SCM_BOOL_T
+#define MAKINUM SCM_MAKINUM
+#define listofnull scm_listofnull
+#define tc7_subr_1 scm_tc7_subr_1
+#define tc7_subr_2 scm_tc7_subr_2
+#define tc7_subr_3 scm_tc7_subr_3
+#define tc7_lsubr scm_tc7_lsubr
+#define apply scm_apply
+#define cons scm_cons
+#define divide scm_divide
+#define eqp scm_eq_p
+#define evenp scm_even_p
+#define greaterp scm_gr_p
+#define lessp scm_less_p
+#define lremainder scm_remainder
+#define makrect scm_make_rectangular
+#define product scm_product
+#define sum scm_sum
+#define difference scm_difference
+#define intern(x,y) scm_permanent_object(scm_intern((x),(y)))
+#define make_subr scm_make_subr
+#define make_vector(vec,fill) scm_make_vector((vec),(fill),SCM_BOOL_F)
+#define absval scm_magnitude
+#define string2number scm_string_to_number
+#define makfromstr(x,y) scm_makfromstr((x),(y),0)
+#define list_ref scm_list_ref
+#define NULL_P SCM_NULLP
#define SBOOL(x) ((x) ? SCM_BOOL_T : SCM_BOOL_F)
+#define INUM SCM_INUM
+#define cur_output_port scm_current_output_port
+#define display scm_display
+#define newline scm_newline
+#define makcclo scm_makcclo
+#define UNSPECIFIED SCM_UNSPECIFIED
+#define tc7_subr_0 scm_tc7_subr_0
+#define equal scm_equal_p
+#define assv scm_assv
+#define PAIR_P(x) (!(SCM_IMP(x)) && SCM_CONSP(x))
+#define SET_CDR SCM_SETCDR
+#define eval scm_eval
+
+#define close_port scm_close_port
+#define lwrite scm_write
+#define open_file scm_open_file
+#define set_outp scm_set_current_output_port
+#define MAKICHR SCM_MAKICHR
+#define memq scm_memq
+
+#define cur_input_port scm_current_input_port
+#define set_inp scm_set_current_input_port
+#define lread scm_read
+#define eof_objectp scm_eof_object_p
+
+#define modulo scm_modulo
+#define CHAR2INT(chr) scm_ulong2num((unsigned long)SCM_ICHR(chr))
+#define ST_LENGTH(str) SCM_MAKINUM (SCM_ROLENGTH (str))
+#define ST_REF(str,k) SCM_MAKICHR (SCM_ROUCHARS (str)[SCM_INUM (k)])
+#define NOT(x) ((x)==SCM_BOOL_F ? SCM_BOOL_T : SCM_BOOL_F)
-#define BOOLEAN_P(x) ((x)==SCM_BOOL_T || (x)==SCM_BOOL_F)
-#define CHAR_P SCM_ICHRP
-#define SYMBOL_P(x) (SCM_ISYMP(x) || (!(SCM_IMP(x)) && SCM_SYMBOLP(x)))
-#define VECTOR_P(x) (!(SCM_IMP(x)) && SCM_VECTORP(x))
-#define PAIR_P(x) (!(SCM_IMP(x)) && SCM_CONSP(x))
-#define NUMBER_P SCM_INUMP
-#define INTEGER_P SCM_INUMP
+#define SYMBOL_P(x) (!(SCM_IMP(x)) && SCM_SYMBOLP(x))
#define STRING_P(x) (!(SCM_IMP(x)) && SCM_STRINGP(x))
-#define NULL_P SCM_NULLP
-#define ZERO_P(x) ((x)==SCM_INUM0)
-#define POSITIVE_P(x) ((x) > SCM_INUM0)
-#define NEGATIVE_P(x) ((x) < SCM_INUM0)
+#define BOOLEAN_P(obj) ((SCM_BOOL_F==(obj)) || (SCM_BOOL_T==(obj)))
+#if defined(SCM_FLOATS) || defined(SCM_BIGDIG)
+#define NUMBER_P(x) ((SCM_INUMP(x)) || (SCM_NIMP(x) && SCM_NUMP(x)))
+#else
+#define NUMBER_P SCM_INUMP
+#endif
+#define number2string scm_number_to_string
+#define symbol2string scm_symbol_to_string
-#define NOT(x) ((x)==SCM_BOOL_F ? SCM_BOOL_T : SCM_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) (SCM_VELTS(v)[((long)SCM_INUM(k))] = o)
-#define VECTOR_REF(v,k) (SCM_VELTS(v)[((long)SCM_INUM(k))])
-#define CL_VECTOR_SET(v,k,o) (SCM_VELTS(v)[k] = o)
-#define CL_VECTOR_REF(v,k) (SCM_VELTS(v)[k])
-#define GLOBAL(x) (*(x))
+#define append2(lst1,lst2) (scm_list_append(scm_cons2((lst1),(lst2),SCM_EOL)))
+#define st_append scm_string_append
+
+#define string scm_string
+#define string2list scm_string_to_list
+#define string2symbol scm_string_to_symbol
+#define INTEGER_P(x) (scm_integer_p(x) == SCM_BOOL_T)
-#define append2(lst1,lst2) (append(scm_cons2(lst1,lst2,SCM_EOL)))
-#define procedure_pred_(x) (SCM_BOOL_T==procedurep(x))
+#define listp scm_list_p
+#define assoc scm_assoc
+
+#define assq scm_assq
+#define memv scm_memv
+#define member scm_member
+#define append scm_list_append
+
+#define CHAR_P SCM_ICHRP
+#define CHAR_UPCASE(chr) SCM_MAKICHR(scm_upcase(SCM_ICHR(chr)))
+#define CHAR_DOWNCASE(chr) SCM_MAKICHR(scm_downcase(SCM_ICHR(chr)))
+#define procedurep(x) (scm_procedure_p(x) == SCM_BOOL_T)
+#define VECTOR_P(x) (!(SCM_IMP(x)) && SCM_VECTORP(x))
+#define reverse scm_list_reverse
+#define length scm_list_length
+#define input_portp scm_input_port_p
+#define output_portp scm_output_port_p