mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-14 21:32:49 -08:00
Removed init_numbers(), replacing it with static constants in all_symbols.d
This commit is contained in:
parent
ab72d1285d
commit
cf29412c64
7 changed files with 130 additions and 147 deletions
65
src/c/ecl_constants.h
Normal file
65
src/c/ecl_constants.h
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/* -*- mode: c; c-basic-offset: 8 -*- */
|
||||
/*
|
||||
ecl_constants.c -- constant values for all_symbols.d
|
||||
*/
|
||||
/*
|
||||
Copyright (c) 2010, Juan Jose Garcia Ripoll.
|
||||
|
||||
ECL is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
See file '../Copyright' for full details.
|
||||
*/
|
||||
|
||||
#include <float.h>
|
||||
#include <ecl/ecl-inl.h>
|
||||
|
||||
ecl_def_ct_single_float(flt_max,FLT_MAX,static,const);
|
||||
ecl_def_ct_single_float(flt_max_neg,-FLT_MAX,static,const);
|
||||
ecl_def_ct_single_float(flt_min,FLT_MIN,static,const);
|
||||
ecl_def_ct_single_float(flt_min_neg,-FLT_MIN,static,const);
|
||||
|
||||
#define ECL_LEAST_POSITIVE_SINGLE_FLOAT (cl_object)(&flt_min_data)
|
||||
#define ECL_LEAST_NEGATIVE_SINGLE_FLOAT (cl_object)(&flt_min_neg_data)
|
||||
#define ECL_MOST_POSITIVE_SINGLE_FLOAT (cl_object)(&flt_max_data)
|
||||
#define ECL_MOST_NEGATIVE_SINGLE_FLOAT (cl_object)(&flt_max_neg_data)
|
||||
|
||||
#define ECL_LEAST_POSITIVE_SHORT_FLOAT (cl_object)(&flt_min_data)
|
||||
#define ECL_LEAST_NEGATIVE_SHORT_FLOAT (cl_object)(&flt_min_neg_data)
|
||||
#define ECL_MOST_POSITIVE_SHORT_FLOAT (cl_object)(&flt_max_data)
|
||||
#define ECL_MOST_NEGATIVE_SHORT_FLOAT (cl_object)(&flt_max_neg_data)
|
||||
|
||||
ecl_def_ct_double_float(dbl_max,DBL_MAX,static,const);
|
||||
ecl_def_ct_double_float(dbl_max_neg,-DBL_MAX,static,const);
|
||||
ecl_def_ct_double_float(dbl_min,DBL_MIN,static,const);
|
||||
ecl_def_ct_double_float(dbl_min_neg,-DBL_MIN,static,const);
|
||||
|
||||
#define ECL_LEAST_POSITIVE_DOUBLE_FLOAT (cl_object)(&dbl_min_data)
|
||||
#define ECL_LEAST_NEGATIVE_DOUBLE_FLOAT (cl_object)(&dbl_min_neg_data)
|
||||
#define ECL_MOST_POSITIVE_DOUBLE_FLOAT (cl_object)(&dbl_max_data)
|
||||
#define ECL_MOST_NEGATIVE_DOUBLE_FLOAT (cl_object)(&dbl_max_neg_data)
|
||||
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
ecl_def_ct_long_float(ldbl_max,LDBL_MAX,static,const);
|
||||
ecl_def_ct_long_float(ldbl_max_neg,-LDBL_MAX,static,const);
|
||||
ecl_def_ct_long_float(ldbl_min,LDBL_MIN,static,const);
|
||||
ecl_def_ct_long_float(ldbl_min_neg,-LDBL_MIN,static,const);
|
||||
#define ECL_LEAST_POSITIVE_LONG_FLOAT (cl_object)(&ldbl_min_data)
|
||||
#define ECL_LEAST_NEGATIVE_LONG_FLOAT (cl_object)(&ldbl_min_neg_data)
|
||||
#define ECL_MOST_POSITIVE_LONG_FLOAT (cl_object)(&ldbl_max_data)
|
||||
#define ECL_MOST_NEGATIVE_LONG_FLOAT (cl_object)(&ldbl_max_neg_data)
|
||||
#else
|
||||
#define ECL_LEAST_POSITIVE_LONG_FLOAT (cl_object)(&dbl_min_data)
|
||||
#define ECL_LEAST_NEGATIVE_LONG_FLOAT (cl_object)(&dbl_min_neg_data)
|
||||
#define ECL_MOST_POSITIVE_LONG_FLOAT (cl_object)(&dbl_max_data)
|
||||
#define ECL_MOST_NEGATIVE_LONG_FLOAT (cl_object)(&dbl_max_neg_data)
|
||||
#endif
|
||||
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
ecl_def_ct_long_float(float_pi,ECL_PI_L,static,const);
|
||||
#else
|
||||
ecl_def_ct_double_float(float_pi,ECL_PI_D,static,const);
|
||||
#endif
|
||||
#define ECL_PI (cl_object)(&float_pi_data)
|
||||
42
src/c/main.d
42
src/c/main.d
|
|
@ -367,9 +367,9 @@ ecl_def_ct_ratio(minus_half,MAKE_FIXNUM(-1),MAKE_FIXNUM(2),static,const);
|
|||
ecl_def_ct_single_float(flt_one,1,static,const);
|
||||
ecl_def_ct_single_float(flt_one_neg,-1,static,const);
|
||||
ecl_def_ct_single_float(flt_two,2,static,const);
|
||||
ecl_def_ct_complex(flt_imag_unit,&flt_zerodata,&flt_onedata,static,const);
|
||||
ecl_def_ct_complex(flt_imag_unit_neg,&flt_zerodata,&flt_one_negdata,static,const);
|
||||
ecl_def_ct_complex(flt_imag_two,&flt_zerodata,&flt_twodata,static,const);
|
||||
ecl_def_ct_complex(flt_imag_unit,&flt_zero_data,&flt_one_data,static,const);
|
||||
ecl_def_ct_complex(flt_imag_unit_neg,&flt_zero_data,&flt_one_neg_data,static,const);
|
||||
ecl_def_ct_complex(flt_imag_two,&flt_zero_data,&flt_two_data,static,const);
|
||||
|
||||
struct cl_core_struct cl_core = {
|
||||
Cnil, /* packages */
|
||||
|
|
@ -399,24 +399,24 @@ struct cl_core_struct cl_core = {
|
|||
Cnil, /* default_dispatch_macro */
|
||||
|
||||
Cnil, /* char_names */
|
||||
(cl_object)&str_emptydata, /* null_string */
|
||||
(cl_object)&str_empty_data, /* null_string */
|
||||
|
||||
(cl_object)&plus_halfdata, /* plus_half */
|
||||
(cl_object)&minus_halfdata, /* minus_half */
|
||||
(cl_object)&flt_imag_unitdata, /* imag_unit */
|
||||
(cl_object)&flt_imag_unit_negdata, /* minus_imag_unit */
|
||||
(cl_object)&flt_imag_twodata, /* imag_two */
|
||||
(cl_object)&flt_zerodata, /* singlefloat_zero */
|
||||
(cl_object)&dbl_zerodata, /* doublefloat_zero */
|
||||
(cl_object)&flt_zero_negdata, /* singlefloat_minus_zero */
|
||||
(cl_object)&dbl_zero_negdata, /* doublefloat_minus_zero */
|
||||
(cl_object)&plus_half_data, /* plus_half */
|
||||
(cl_object)&minus_half_data, /* minus_half */
|
||||
(cl_object)&flt_imag_unit_data, /* imag_unit */
|
||||
(cl_object)&flt_imag_unit_neg_data, /* minus_imag_unit */
|
||||
(cl_object)&flt_imag_two_data, /* imag_two */
|
||||
(cl_object)&flt_zero_data, /* singlefloat_zero */
|
||||
(cl_object)&dbl_zero_data, /* doublefloat_zero */
|
||||
(cl_object)&flt_zero_neg_data, /* singlefloat_minus_zero */
|
||||
(cl_object)&dbl_zero_neg_data, /* doublefloat_minus_zero */
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
(cl_object)&ldbl_zerodata, /* longfloat_zero */
|
||||
(cl_object)&ldbl_zero_negdata, /* longfloat_minus_zero */
|
||||
(cl_object)&ldbl_zero_data, /* longfloat_zero */
|
||||
(cl_object)&ldbl_zero_neg_data, /* longfloat_minus_zero */
|
||||
#endif
|
||||
|
||||
(cl_object)&str_Gdata, /* gensym_prefix */
|
||||
(cl_object)&str_Tdata, /* gentemp_prefix */
|
||||
(cl_object)&str_G_data, /* gensym_prefix */
|
||||
(cl_object)&str_T_data, /* gentemp_prefix */
|
||||
MAKE_FIXNUM(0), /* gentemp_counter */
|
||||
|
||||
Cnil, /* Jan1st1970UT */
|
||||
|
|
@ -459,12 +459,12 @@ struct cl_core_struct cl_core = {
|
|||
0, /* last_var_index */
|
||||
Cnil, /* reused_indices */
|
||||
#endif
|
||||
(cl_object)&str_slashdata, /* slash */
|
||||
(cl_object)&str_slash_data, /* slash */
|
||||
|
||||
Cnil, /* compiler_dispatch */
|
||||
|
||||
(cl_object)&default_rehash_sizedata, /* rehash_size */
|
||||
(cl_object)&default_rehash_thresholddata /* rehash_threshold */
|
||||
(cl_object)&default_rehash_size_data, /* rehash_size */
|
||||
(cl_object)&default_rehash_threshold_data /* rehash_threshold */
|
||||
};
|
||||
|
||||
int
|
||||
|
|
@ -667,7 +667,7 @@ cl_boot(int argc, char **argv)
|
|||
cl_core.rehash_threshold,
|
||||
Ct); /* thread-safe */
|
||||
|
||||
init_number();
|
||||
ECL_SET(@'*random-state*', ecl_make_random_state(Ct));
|
||||
|
||||
ECL_SET(@'si::c-int-max', ecl_make_integer(INT_MAX));
|
||||
ECL_SET(@'si::c-int-min', ecl_make_integer(INT_MIN));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* -*- mode: c; c-basic-offset: 8 -*- */
|
||||
/*
|
||||
number.c -- Numeric constants.
|
||||
number.c -- constructing numbers.
|
||||
*/
|
||||
/*
|
||||
Copyright (c) 1984, Taiichi Yuasa and Masami Hagiya.
|
||||
|
|
@ -945,86 +945,3 @@ float_to_integer(float d)
|
|||
return _ecl_big_register_copy(z);
|
||||
}
|
||||
}
|
||||
|
||||
ecl_def_ct_single_float(flt_max,FLT_MAX,static,const);
|
||||
ecl_def_ct_single_float(flt_max_neg,-FLT_MAX,static,const);
|
||||
ecl_def_ct_single_float(flt_min,FLT_MIN,static,const);
|
||||
ecl_def_ct_single_float(flt_min_neg,-FLT_MIN,static,const);
|
||||
ecl_def_ct_double_float(dbl_max,DBL_MAX,static,const);
|
||||
ecl_def_ct_double_float(dbl_max_neg,-DBL_MAX,static,const);
|
||||
ecl_def_ct_double_float(dbl_min,DBL_MIN,static,const);
|
||||
ecl_def_ct_double_float(dbl_min_neg,-DBL_MIN,static,const);
|
||||
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
ecl_def_ct_long_float(ldbl_max,LDBL_MAX,static,const);
|
||||
ecl_def_ct_long_float(ldbl_max_neg,-LDBL_MAX,static,const);
|
||||
ecl_def_ct_long_float(ldbl_min,LDBL_MIN,static,const);
|
||||
ecl_def_ct_long_float(ldbl_min_neg,-LDBL_MIN,static,const);
|
||||
#endif
|
||||
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
ecl_def_ct_long_float(float_pi,ECL_PI_L,static,const);
|
||||
#else
|
||||
ecl_def_ct_double_float(float_pi,ECL_PI_D,static,const);
|
||||
#endif
|
||||
|
||||
void
|
||||
init_number(void)
|
||||
{
|
||||
cl_object num;
|
||||
|
||||
num = flt_max; /* ecl_make_singlefloat(FLT_MAX); */
|
||||
ECL_SET(@'MOST-POSITIVE-SHORT-FLOAT', num);
|
||||
ECL_SET(@'MOST-POSITIVE-SINGLE-FLOAT', num);
|
||||
|
||||
num = flt_max_neg; /* ecl_make_singlefloat(-FLT_MAX); */
|
||||
ECL_SET(@'MOST-NEGATIVE-SHORT-FLOAT', num);
|
||||
ECL_SET(@'MOST-NEGATIVE-SINGLE-FLOAT', num);
|
||||
|
||||
num = flt_min; /* ecl_make_singlefloat(FLT_MIN); */
|
||||
ECL_SET(@'LEAST-POSITIVE-SHORT-FLOAT', num);
|
||||
ECL_SET(@'LEAST-POSITIVE-SINGLE-FLOAT', num);
|
||||
ECL_SET(@'LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT', num);
|
||||
ECL_SET(@'LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT', num);
|
||||
|
||||
num = flt_min_neg; /* ecl_make_singlefloat(-FLT_MIN); */
|
||||
ECL_SET(@'LEAST-NEGATIVE-SHORT-FLOAT', num);
|
||||
ECL_SET(@'LEAST-NEGATIVE-SINGLE-FLOAT', num);
|
||||
ECL_SET(@'LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT', num);
|
||||
ECL_SET(@'LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT', num);
|
||||
|
||||
num = dbl_max; /* ecl_make_doublefloat(DBL_MAX); */
|
||||
ECL_SET(@'MOST-POSITIVE-DOUBLE-FLOAT', num);
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
num = ldbl_max; /* ecl_make_longfloat(LDBL_MAX); */
|
||||
#endif
|
||||
ECL_SET(@'MOST-POSITIVE-LONG-FLOAT', num);
|
||||
|
||||
num = dbl_max_neg; /* ecl_make_doublefloat(-DBL_MAX); */
|
||||
ECL_SET(@'MOST-NEGATIVE-DOUBLE-FLOAT', num);
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
num = ldbl_max_neg; /* ecl_make_longfloat(-LDBL_MAX); */
|
||||
#endif
|
||||
ECL_SET(@'MOST-NEGATIVE-LONG-FLOAT', num);
|
||||
|
||||
num = dbl_min; /* ecl_make_doublefloat(DBL_MIN); */
|
||||
ECL_SET(@'LEAST-POSITIVE-DOUBLE-FLOAT', num);
|
||||
ECL_SET(@'LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT', num);
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
num = ldbl_min; /* ecl_make_longfloat(LDBL_MIN); */
|
||||
#endif
|
||||
ECL_SET(@'LEAST-POSITIVE-LONG-FLOAT', num);
|
||||
ECL_SET(@'LEAST-POSITIVE-NORMALIZED-LONG-FLOAT', num);
|
||||
|
||||
num = dbl_min_neg; /* ecl_make_doublefloat(-DBL_MIN); */
|
||||
ECL_SET(@'LEAST-NEGATIVE-DOUBLE-FLOAT', num);
|
||||
ECL_SET(@'LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT', num);
|
||||
#ifdef ECL_LONG_FLOAT
|
||||
num = ldbl_min_neg; /* ecl_make_longfloat(-LDBL_MIN); */
|
||||
#endif
|
||||
ECL_SET(@'LEAST-NEGATIVE-LONG-FLOAT', num);
|
||||
ECL_SET(@'LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT', num);
|
||||
|
||||
ECL_SET(@'pi', float_pi);
|
||||
ECL_SET(@'*random-state*', ecl_make_random_state(Ct));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ struct {
|
|||
const char *name, *translation;
|
||||
}
|
||||
#else
|
||||
#include "ecl_constants.h"
|
||||
#define CLOS_
|
||||
#define EXT_
|
||||
#define SYS_
|
||||
|
|
@ -503,22 +504,22 @@ cl_symbols[] = {
|
|||
{"LDB", CL_ORDINARY, ECL_NAME(cl_ldb), 2, OBJNULL},
|
||||
{"LDB-TEST", CL_ORDINARY, ECL_NAME(cl_ldb_test), 2, OBJNULL},
|
||||
{"LDIFF", CL_ORDINARY, cl_ldiff, 2, OBJNULL},
|
||||
{"LEAST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-NORMALIZED-LONG-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"LEAST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_DOUBLE_FLOAT},
|
||||
{"LEAST-NEGATIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_LONG_FLOAT},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_DOUBLE_FLOAT},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_LONG_FLOAT},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_SHORT_FLOAT},
|
||||
{"LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_SINGLE_FLOAT},
|
||||
{"LEAST-NEGATIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_SHORT_FLOAT},
|
||||
{"LEAST-NEGATIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_NEGATIVE_SINGLE_FLOAT},
|
||||
{"LEAST-POSITIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_DOUBLE_FLOAT},
|
||||
{"LEAST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_LONG_FLOAT},
|
||||
{"LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_DOUBLE_FLOAT},
|
||||
{"LEAST-POSITIVE-NORMALIZED-LONG-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_LONG_FLOAT},
|
||||
{"LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_SHORT_FLOAT},
|
||||
{"LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_SINGLE_FLOAT},
|
||||
{"LEAST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_SHORT_FLOAT},
|
||||
{"LEAST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_LEAST_POSITIVE_SINGLE_FLOAT},
|
||||
{"LENGTH", CL_ORDINARY, cl_length, 1, OBJNULL},
|
||||
{"LET", CL_FORM, NULL, -1, OBJNULL},
|
||||
{"LET*", CL_FORM, NULL, -1, OBJNULL},
|
||||
|
|
@ -604,16 +605,16 @@ cl_symbols[] = {
|
|||
{"MINUSP", CL_ORDINARY, cl_minusp, 1, OBJNULL},
|
||||
{"MISMATCH", CL_ORDINARY, ECL_NAME(cl_mismatch), -1, OBJNULL},
|
||||
{"MOD", CL_ORDINARY, cl_mod, 2, OBJNULL},
|
||||
{"MOST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_NEGATIVE_DOUBLE_FLOAT},
|
||||
{"MOST-NEGATIVE-FIXNUM", CL_CONSTANT, NULL, -1, MAKE_FIXNUM(MOST_NEGATIVE_FIXNUM)},
|
||||
{"MOST-NEGATIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-NEGATIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-NEGATIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-POSITIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-NEGATIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_NEGATIVE_LONG_FLOAT},
|
||||
{"MOST-NEGATIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_NEGATIVE_SHORT_FLOAT},
|
||||
{"MOST-NEGATIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_NEGATIVE_SINGLE_FLOAT},
|
||||
{"MOST-POSITIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_POSITIVE_DOUBLE_FLOAT},
|
||||
{"MOST-POSITIVE-FIXNUM", CL_CONSTANT, NULL, -1, MAKE_FIXNUM(MOST_POSITIVE_FIXNUM)},
|
||||
{"MOST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"MOST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_POSITIVE_LONG_FLOAT},
|
||||
{"MOST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_POSITIVE_SHORT_FLOAT},
|
||||
{"MOST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_POSITIVE_SINGLE_FLOAT},
|
||||
{"MUFFLE-WARNING", CL_ORDINARY, NULL, -1, OBJNULL},
|
||||
{"MULTIPLE-VALUE-BIND", CL_FORM, NULL, -1, OBJNULL},
|
||||
{"MULTIPLE-VALUE-CALL", CL_FORM, NULL, -1, OBJNULL},
|
||||
|
|
@ -684,7 +685,7 @@ cl_symbols[] = {
|
|||
{"PATHNAMEP", CL_ORDINARY, cl_pathnamep, 1, OBJNULL},
|
||||
{"PEEK-CHAR", CL_ORDINARY, cl_peek_char, -1, OBJNULL},
|
||||
{"PHASE", CL_ORDINARY, ECL_NAME(cl_phase), 1, OBJNULL},
|
||||
{"PI", CL_CONSTANT, NULL, -1, OBJNULL},
|
||||
{"PI", CL_CONSTANT, NULL, -1, ECL_PI},
|
||||
{"PLUSP", CL_ORDINARY, cl_plusp, 1, OBJNULL},
|
||||
{"POP", CL_ORDINARY, NULL, -1, OBJNULL},
|
||||
{"POSITION", CL_ORDINARY, ECL_NAME(cl_position), -1, OBJNULL},
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ struct {
|
|||
const char *name, *translation;
|
||||
}
|
||||
#else
|
||||
#include "ecl_constants.h"
|
||||
#define CLOS_
|
||||
#define EXT_
|
||||
#define SYS_
|
||||
|
|
|
|||
|
|
@ -76,48 +76,48 @@
|
|||
(ecl_base_char*)(chars) }
|
||||
|
||||
#define ecl_def_ct_base_string(name,chars,len,static,const) \
|
||||
static const struct ecl_base_string name ## data = { \
|
||||
static const struct ecl_base_string name ## _data = { \
|
||||
(int8_t)t_base_string, 0, aet_bc, 0, \
|
||||
Cnil, (cl_index)(len), (cl_index)(len), \
|
||||
(ecl_base_char*)(chars) }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#define ecl_def_ct_single_float(name,f,static,const) \
|
||||
static const struct ecl_singlefloat name ## data = { \
|
||||
static const struct ecl_singlefloat name ## _data = { \
|
||||
(int8_t)t_singlefloat, 0, 0, 0, \
|
||||
(float)(f) }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#define ecl_def_ct_double_float(name,f,static,const) \
|
||||
static const struct ecl_doublefloat name ## data = { \
|
||||
static const struct ecl_doublefloat name ## _data = { \
|
||||
(int8_t)t_doublefloat, 0, 0, 0, \
|
||||
(double)(f) }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#define ecl_def_ct_long_float(name,f,static,const) \
|
||||
static const struct ecl_long_float name ## data = { \
|
||||
static const struct ecl_long_float name ## _data = { \
|
||||
(int8_t)t_longfloat, 0, 0, 0, \
|
||||
(long double)(f) }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#define ecl_def_ct_ratio(name,num,den,static,const) \
|
||||
static const struct ecl_ratio name ## data = { \
|
||||
static const struct ecl_ratio name ## _data = { \
|
||||
(int8_t)t_ratio, 0, 0, 0, \
|
||||
den, num }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#define ecl_def_ct_complex(name,real,imag,static,const) \
|
||||
static const struct ecl_complex name ## data = { \
|
||||
static const struct ecl_complex name ## _data = { \
|
||||
(int8_t)t_complex, 0, 0, 0, \
|
||||
(cl_object)real, (cl_object)imag }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#define ecl_def_ct_vector(name,type,raw,len,static,const) \
|
||||
static const struct ecl_vector name ## data = { \
|
||||
static const struct ecl_vector name ## _data = { \
|
||||
(int8_t)t_vector, 0, (type), 0, \
|
||||
Cnil, (cl_index)(len), (cl_index)(len), \
|
||||
ecl_cast_ptr(cl_object*,raw), 0 }; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
#ifdef ECL_SSE2
|
||||
|
||||
|
|
@ -126,11 +126,11 @@
|
|||
*/
|
||||
|
||||
#define ecl_def_ct_sse_pack(name,type,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) \
|
||||
static const struct ecl_sse_pack name ## data = { \
|
||||
static const struct ecl_sse_pack name ## _data = { \
|
||||
(int8_t)t_sse_pack, 0, (type), 0, \
|
||||
{{v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15}} \
|
||||
}; \
|
||||
static const cl_object name = (cl_object)(& name ## data)
|
||||
static const cl_object name = (cl_object)(& name ## _data)
|
||||
|
||||
/*
|
||||
* Missing SSE intrinsics
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ extern void init_file(void);
|
|||
extern void init_GC(void);
|
||||
#endif
|
||||
extern void init_macros(void);
|
||||
extern void init_number(void);
|
||||
extern void init_read(void);
|
||||
extern void init_stacks(cl_env_ptr);
|
||||
extern void init_unixint(int pass);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue