*** empty log message ***

This commit is contained in:
hyung-hwan 2006-10-30 03:49:06 +00:00
parent 8748b41fa5
commit 859c42d281
5 changed files with 86 additions and 86 deletions

View File

@ -1,5 +1,5 @@
/* /*
* $Id: mem.c,v 1.18 2006-10-29 13:40:33 bacon Exp $ * $Id: mem.c,v 1.19 2006-10-30 03:49:05 bacon Exp $
*/ */
#include <ase/lsp/lsp_i.h> #include <ase/lsp/lsp_i.h>
@ -401,7 +401,7 @@ ase_lsp_obj_t* ase_lsp_makeintobj (ase_lsp_mem_t* mem, ase_long_t value)
ASE_LSP_OBJ_INT, ase_sizeof(ase_lsp_obj_int_t)); ASE_LSP_OBJ_INT, ase_sizeof(ase_lsp_obj_int_t));
if (obj == ASE_NULL) return ASE_NULL; if (obj == ASE_NULL) return ASE_NULL;
ASE_LSP_IVALUE(obj) = value; ASE_LSP_IVAL(obj) = value;
return obj; return obj;
} }
@ -414,7 +414,7 @@ ase_lsp_obj_t* ase_lsp_makerealobj (ase_lsp_mem_t* mem, ase_real_t value)
ASE_LSP_OBJ_REAL, ase_sizeof(ase_lsp_obj_real_t)); ASE_LSP_OBJ_REAL, ase_sizeof(ase_lsp_obj_real_t));
if (obj == ASE_NULL) return ASE_NULL; if (obj == ASE_NULL) return ASE_NULL;
ASE_LSP_RVALUE(obj) = value; ASE_LSP_RVAL(obj) = value;
return obj; return obj;
} }

View File

@ -1,5 +1,5 @@
/* /*
* $Id: obj.h,v 1.11 2006-10-29 13:00:39 bacon Exp $ * $Id: obj.h,v 1.12 2006-10-30 03:49:05 bacon Exp $
*/ */
#ifndef _ASE_LSP_OBJ_H_ #ifndef _ASE_LSP_OBJ_H_
@ -129,8 +129,8 @@ struct ase_lsp_obj_prim_t
#define ASE_LSP_LINK(x) (((ase_lsp_obj_t*)x)->hdr.link) #define ASE_LSP_LINK(x) (((ase_lsp_obj_t*)x)->hdr.link)
/* value access */ /* value access */
#define ASE_LSP_IVALUE(x) (((ase_lsp_obj_int_t*)x)->value) #define ASE_LSP_IVAL(x) (((ase_lsp_obj_int_t*)x)->value)
#define ASE_LSP_RVALUE(x) (((ase_lsp_obj_real_t*)x)->value) #define ASE_LSP_RVAL(x) (((ase_lsp_obj_real_t*)x)->value)
#if defined(__BORLANDC__) || defined(_MSC_VER) #if defined(__BORLANDC__) || defined(_MSC_VER)
#define ASE_LSP_SYMPTR(x) ((ase_char_t*)(((ase_lsp_obj_sym_t*)x) + 1)) #define ASE_LSP_SYMPTR(x) ((ase_char_t*)(((ase_lsp_obj_sym_t*)x) + 1))

View File

@ -1,5 +1,5 @@
/* /*
* $Id: prim_compar.c,v 1.8 2006-10-29 13:40:33 bacon Exp $ * $Id: prim_compar.c,v 1.9 2006-10-30 03:49:05 bacon Exp $
*/ */
#include <ase/lsp/lsp_i.h> #include <ase/lsp/lsp_i.h>
@ -22,11 +22,11 @@ ase_lsp_obj_t* ase_lsp_prim_eq (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_IVALUE(p1) == ASE_LSP_IVALUE(p2); res = ASE_LSP_IVAL(p1) == ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_IVALUE(p1) == ASE_LSP_RVALUE(p2); res = ASE_LSP_IVAL(p1) == ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -38,11 +38,11 @@ ase_lsp_obj_t* ase_lsp_prim_eq (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_RVALUE(p1) == ASE_LSP_IVALUE(p2); res = ASE_LSP_RVAL(p1) == ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_RVALUE(p1) == ASE_LSP_RVALUE(p2); res = ASE_LSP_RVAL(p1) == ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -104,11 +104,11 @@ ase_lsp_obj_t* ase_lsp_prim_ne (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_IVALUE(p1) != ASE_LSP_IVALUE(p2); res = ASE_LSP_IVAL(p1) != ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_IVALUE(p1) != ASE_LSP_RVALUE(p2); res = ASE_LSP_IVAL(p1) != ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -120,11 +120,11 @@ ase_lsp_obj_t* ase_lsp_prim_ne (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_RVALUE(p1) != ASE_LSP_IVALUE(p2); res = ASE_LSP_RVAL(p1) != ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_RVALUE(p1) != ASE_LSP_RVALUE(p2); res = ASE_LSP_RVAL(p1) != ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -187,11 +187,11 @@ ase_lsp_obj_t* ase_lsp_prim_gt (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_IVALUE(p1) > ASE_LSP_IVALUE(p2); res = ASE_LSP_IVAL(p1) > ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_IVALUE(p1) > ASE_LSP_RVALUE(p2); res = ASE_LSP_IVAL(p1) > ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -203,11 +203,11 @@ ase_lsp_obj_t* ase_lsp_prim_gt (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_RVALUE(p1) > ASE_LSP_IVALUE(p2); res = ASE_LSP_RVAL(p1) > ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_RVALUE(p1) > ASE_LSP_RVALUE(p2); res = ASE_LSP_RVAL(p1) > ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -270,11 +270,11 @@ ase_lsp_obj_t* ase_lsp_prim_lt (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_IVALUE(p1) < ASE_LSP_IVALUE(p2); res = ASE_LSP_IVAL(p1) < ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_IVALUE(p1) < ASE_LSP_RVALUE(p2); res = ASE_LSP_IVAL(p1) < ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -286,11 +286,11 @@ ase_lsp_obj_t* ase_lsp_prim_lt (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_RVALUE(p1) < ASE_LSP_IVALUE(p2); res = ASE_LSP_RVAL(p1) < ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_RVALUE(p1) < ASE_LSP_RVALUE(p2); res = ASE_LSP_RVAL(p1) < ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -352,11 +352,11 @@ ase_lsp_obj_t* ase_lsp_prim_ge (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_IVALUE(p1) >= ASE_LSP_IVALUE(p2); res = ASE_LSP_IVAL(p1) >= ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_IVALUE(p1) >= ASE_LSP_RVALUE(p2); res = ASE_LSP_IVAL(p1) >= ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -368,11 +368,11 @@ ase_lsp_obj_t* ase_lsp_prim_ge (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_RVALUE(p1) >= ASE_LSP_IVALUE(p2); res = ASE_LSP_RVAL(p1) >= ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_RVALUE(p1) >= ASE_LSP_RVALUE(p2); res = ASE_LSP_RVAL(p1) >= ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -434,11 +434,11 @@ ase_lsp_obj_t* ase_lsp_prim_le (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_IVALUE(p1) <= ASE_LSP_IVALUE(p2); res = ASE_LSP_IVAL(p1) <= ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_IVALUE(p1) <= ASE_LSP_RVALUE(p2); res = ASE_LSP_IVAL(p1) <= ASE_LSP_RVAL(p2);
} }
else else
{ {
@ -450,11 +450,11 @@ ase_lsp_obj_t* ase_lsp_prim_le (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT) if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_INT)
{ {
res = ASE_LSP_RVALUE(p1) <= ASE_LSP_IVALUE(p2); res = ASE_LSP_RVAL(p1) <= ASE_LSP_IVAL(p2);
} }
else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(p2) == ASE_LSP_OBJ_REAL)
{ {
res = ASE_LSP_RVALUE(p1) <= ASE_LSP_RVALUE(p2); res = ASE_LSP_RVAL(p1) <= ASE_LSP_RVAL(p2);
} }
else else
{ {

View File

@ -1,5 +1,5 @@
/* /*
* $Id: prim_math.c,v 1.13 2006-10-29 13:40:33 bacon Exp $ * $Id: prim_math.c,v 1.14 2006-10-30 03:49:06 bacon Exp $
*/ */
#include <ase/lsp/lsp_i.h> #include <ase/lsp/lsp_i.h>
@ -7,8 +7,8 @@
ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args) ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ase_lsp_obj_t* body, * tmp; ase_lsp_obj_t* body, * tmp;
ase_long_t ivalue = 0; ase_long_t ival = 0;
ase_real_t rvalue = .0; ase_real_t rval = .0;
ase_bool_t realnum = ase_false; ase_bool_t realnum = ase_false;
ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS); ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS);
@ -29,14 +29,14 @@ ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
if (body == args) if (body == args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
ivalue = ASE_LSP_IVALUE(tmp); ival = ASE_LSP_IVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
ivalue = ivalue + ASE_LSP_IVALUE(tmp); ival = ival + ASE_LSP_IVAL(tmp);
else else
rvalue = rvalue + ASE_LSP_IVALUE(tmp); rval = rval + ASE_LSP_IVAL(tmp);
} }
} }
else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL)
@ -45,16 +45,16 @@ ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
realnum = ase_true; realnum = ase_true;
rvalue = ASE_LSP_RVALUE(tmp); rval = ASE_LSP_RVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
{ {
realnum = ase_true; realnum = ase_true;
rvalue = (ase_real_t)ivalue; rval = (ase_real_t)ival;
} }
rvalue = rvalue + ASE_LSP_RVALUE(tmp); rval = rval + ASE_LSP_RVAL(tmp);
} }
} }
else else
@ -70,8 +70,8 @@ ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ASE_LSP_ASSERT (lsp, body == lsp->mem->nil); ASE_LSP_ASSERT (lsp, body == lsp->mem->nil);
tmp = (realnum)? tmp = (realnum)?
ase_lsp_makerealobj (lsp->mem, rvalue): ase_lsp_makerealobj (lsp->mem, rval):
ase_lsp_makeintobj (lsp->mem, ivalue); ase_lsp_makeintobj (lsp->mem, ival);
if (tmp == ASE_NULL) if (tmp == ASE_NULL)
{ {
lsp->errnum = ASE_LSP_ENOMEM; lsp->errnum = ASE_LSP_ENOMEM;
@ -84,8 +84,8 @@ ase_lsp_obj_t* ase_lsp_prim_plus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ase_lsp_obj_t* ase_lsp_prim_minus (ase_lsp_t* lsp, ase_lsp_obj_t* args) ase_lsp_obj_t* ase_lsp_prim_minus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ase_lsp_obj_t* body, * tmp; ase_lsp_obj_t* body, * tmp;
ase_long_t ivalue = 0; ase_long_t ival = 0;
ase_real_t rvalue = .0; ase_real_t rval = .0;
ase_bool_t realnum = ase_false; ase_bool_t realnum = ase_false;
ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS); ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS);
@ -103,14 +103,14 @@ ase_lsp_obj_t* ase_lsp_prim_minus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
if (body == args) if (body == args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
ivalue = ASE_LSP_IVALUE(tmp); ival = ASE_LSP_IVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
ivalue = ivalue - ASE_LSP_IVALUE(tmp); ival = ival - ASE_LSP_IVAL(tmp);
else else
rvalue = rvalue - ASE_LSP_IVALUE(tmp); rval = rval - ASE_LSP_IVAL(tmp);
} }
} }
else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL)
@ -119,16 +119,16 @@ ase_lsp_obj_t* ase_lsp_prim_minus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
realnum = ase_true; realnum = ase_true;
rvalue = ASE_LSP_RVALUE(tmp); rval = ASE_LSP_RVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
{ {
realnum = ase_true; realnum = ase_true;
rvalue = (ase_real_t)ivalue; rval = (ase_real_t)ival;
} }
rvalue = rvalue - ASE_LSP_RVALUE(tmp); rval = rval - ASE_LSP_RVAL(tmp);
} }
} }
else else
@ -144,8 +144,8 @@ ase_lsp_obj_t* ase_lsp_prim_minus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ASE_LSP_ASSERT (lsp, body == lsp->mem->nil); ASE_LSP_ASSERT (lsp, body == lsp->mem->nil);
tmp = (realnum)? tmp = (realnum)?
ase_lsp_makerealobj (lsp->mem, rvalue): ase_lsp_makerealobj (lsp->mem, rval):
ase_lsp_makeintobj (lsp->mem, ivalue); ase_lsp_makeintobj (lsp->mem, ival);
if (tmp == ASE_NULL) if (tmp == ASE_NULL)
{ {
lsp->errnum = ASE_LSP_ENOMEM; lsp->errnum = ASE_LSP_ENOMEM;
@ -158,8 +158,8 @@ ase_lsp_obj_t* ase_lsp_prim_minus (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ase_lsp_obj_t* ase_lsp_prim_mul (ase_lsp_t* lsp, ase_lsp_obj_t* args) ase_lsp_obj_t* ase_lsp_prim_mul (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ase_lsp_obj_t* body, * tmp; ase_lsp_obj_t* body, * tmp;
ase_long_t ivalue = 0; ase_long_t ival = 0;
ase_real_t rvalue = .0; ase_real_t rval = .0;
ase_bool_t realnum = ase_false; ase_bool_t realnum = ase_false;
ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS); ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS);
@ -176,14 +176,14 @@ ase_lsp_obj_t* ase_lsp_prim_mul (ase_lsp_t* lsp, ase_lsp_obj_t* args)
if (body == args) if (body == args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
ivalue = ASE_LSP_IVALUE(tmp); ival = ASE_LSP_IVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
ivalue = ivalue * ASE_LSP_IVALUE(tmp); ival = ival * ASE_LSP_IVAL(tmp);
else else
rvalue = rvalue * ASE_LSP_IVALUE(tmp); rval = rval * ASE_LSP_IVAL(tmp);
} }
} }
else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL)
@ -192,16 +192,16 @@ ase_lsp_obj_t* ase_lsp_prim_mul (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
realnum = ase_true; realnum = ase_true;
rvalue = ASE_LSP_RVALUE(tmp); rval = ASE_LSP_RVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
{ {
realnum = ase_true; realnum = ase_true;
rvalue = (ase_real_t)ivalue; rval = (ase_real_t)ival;
} }
rvalue = rvalue * ASE_LSP_RVALUE(tmp); rval = rval * ASE_LSP_RVAL(tmp);
} }
} }
else else
@ -217,8 +217,8 @@ ase_lsp_obj_t* ase_lsp_prim_mul (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ASE_LSP_ASSERT (lsp, body == lsp->mem->nil); ASE_LSP_ASSERT (lsp, body == lsp->mem->nil);
tmp = (realnum)? tmp = (realnum)?
ase_lsp_makerealobj (lsp->mem, rvalue): ase_lsp_makerealobj (lsp->mem, rval):
ase_lsp_makeintobj (lsp->mem, ivalue); ase_lsp_makeintobj (lsp->mem, ival);
if (tmp == ASE_NULL) if (tmp == ASE_NULL)
{ {
lsp->errnum = ASE_LSP_ENOMEM; lsp->errnum = ASE_LSP_ENOMEM;
@ -231,8 +231,8 @@ ase_lsp_obj_t* ase_lsp_prim_mul (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ase_lsp_obj_t* ase_lsp_prim_div (ase_lsp_t* lsp, ase_lsp_obj_t* args) ase_lsp_obj_t* ase_lsp_prim_div (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ase_lsp_obj_t* body, * tmp; ase_lsp_obj_t* body, * tmp;
ase_long_t ivalue = 0; ase_long_t ival = 0;
ase_real_t rvalue = .0; ase_real_t rval = .0;
ase_bool_t realnum = ase_false; ase_bool_t realnum = ase_false;
ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS); ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS);
@ -249,21 +249,21 @@ ase_lsp_obj_t* ase_lsp_prim_div (ase_lsp_t* lsp, ase_lsp_obj_t* args)
if (body == args) if (body == args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
ivalue = ASE_LSP_IVALUE(tmp); ival = ASE_LSP_IVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
{ {
if (ASE_LSP_IVALUE(tmp) == 0) if (ASE_LSP_IVAL(tmp) == 0)
{ {
lsp->errnum = ASE_LSP_EDIVBYZERO; lsp->errnum = ASE_LSP_EDIVBYZERO;
return ASE_NULL; return ASE_NULL;
} }
ivalue = ivalue / ASE_LSP_IVALUE(tmp); ival = ival / ASE_LSP_IVAL(tmp);
} }
else else
rvalue = rvalue / ASE_LSP_IVALUE(tmp); rval = rval / ASE_LSP_IVAL(tmp);
} }
} }
else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL)
@ -272,16 +272,16 @@ ase_lsp_obj_t* ase_lsp_prim_div (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ASE_LSP_ASSERT (lsp, realnum == ase_false); ASE_LSP_ASSERT (lsp, realnum == ase_false);
realnum = ase_true; realnum = ase_true;
rvalue = ASE_LSP_RVALUE(tmp); rval = ASE_LSP_RVAL(tmp);
} }
else else
{ {
if (!realnum) if (!realnum)
{ {
realnum = ase_true; realnum = ase_true;
rvalue = (ase_real_t)ivalue; rval = (ase_real_t)ival;
} }
rvalue = rvalue / ASE_LSP_RVALUE(tmp); rval = rval / ASE_LSP_RVAL(tmp);
} }
} }
else else
@ -297,8 +297,8 @@ ase_lsp_obj_t* ase_lsp_prim_div (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ASE_LSP_ASSERT (lsp, body == lsp->mem->nil); ASE_LSP_ASSERT (lsp, body == lsp->mem->nil);
tmp = (realnum)? tmp = (realnum)?
ase_lsp_makerealobj (lsp->mem, rvalue): ase_lsp_makerealobj (lsp->mem, rval):
ase_lsp_makeintobj (lsp->mem, ivalue); ase_lsp_makeintobj (lsp->mem, ival);
if (tmp == ASE_NULL) if (tmp == ASE_NULL)
{ {
lsp->errnum = ASE_LSP_ENOMEM; lsp->errnum = ASE_LSP_ENOMEM;
@ -311,7 +311,7 @@ ase_lsp_obj_t* ase_lsp_prim_div (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ase_lsp_obj_t* ase_lsp_prim_mod (ase_lsp_t* lsp, ase_lsp_obj_t* args) ase_lsp_obj_t* ase_lsp_prim_mod (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
ase_lsp_obj_t* body, * tmp; ase_lsp_obj_t* body, * tmp;
ase_long_t ivalue = 0; ase_long_t ival = 0;
ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS); ASE_LSP_ASSERT (lsp, ASE_LSP_TYPE(args) == ASE_LSP_OBJ_CONS);
@ -326,33 +326,33 @@ ase_lsp_obj_t* ase_lsp_prim_mod (ase_lsp_t* lsp, ase_lsp_obj_t* args)
{ {
if (body == args) if (body == args)
{ {
ivalue = ASE_LSP_IVALUE(tmp); ival = ASE_LSP_IVAL(tmp);
} }
else else
{ {
if (ASE_LSP_IVALUE(tmp) == 0) if (ASE_LSP_IVAL(tmp) == 0)
{ {
lsp->errnum = ASE_LSP_EDIVBYZERO; lsp->errnum = ASE_LSP_EDIVBYZERO;
return ASE_NULL; return ASE_NULL;
} }
ivalue = ivalue % ASE_LSP_IVALUE(tmp); ival = ival % ASE_LSP_IVAL(tmp);
} }
} }
else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL) else if (ASE_LSP_TYPE(tmp) == ASE_LSP_OBJ_REAL)
{ {
if (body == args) if (body == args)
{ {
ivalue = (ase_long_t)ASE_LSP_RVALUE(tmp); ival = (ase_long_t)ASE_LSP_RVAL(tmp);
} }
else else
{ {
ase_long_t tmpi = (ase_long_t)ASE_LSP_RVALUE(tmp); ase_long_t tmpi = (ase_long_t)ASE_LSP_RVAL(tmp);
if (tmpi == 0) if (tmpi == 0)
{ {
lsp->errnum = ASE_LSP_EDIVBYZERO; lsp->errnum = ASE_LSP_EDIVBYZERO;
return ASE_NULL; return ASE_NULL;
} }
ivalue = ivalue % tmpi; ival = ival % tmpi;
} }
} }
else else
@ -367,7 +367,7 @@ ase_lsp_obj_t* ase_lsp_prim_mod (ase_lsp_t* lsp, ase_lsp_obj_t* args)
ASE_LSP_ASSERT (lsp, body == lsp->mem->nil); ASE_LSP_ASSERT (lsp, body == lsp->mem->nil);
tmp = ase_lsp_makeintobj (lsp->mem, ivalue); tmp = ase_lsp_makeintobj (lsp->mem, ival);
if (tmp == ASE_NULL) if (tmp == ASE_NULL)
{ {
lsp->errnum = ASE_LSP_ENOMEM; lsp->errnum = ASE_LSP_ENOMEM;

View File

@ -1,5 +1,5 @@
/* /*
* $Id: print.c,v 1.17 2006-10-29 13:00:39 bacon Exp $ * $Id: print.c,v 1.18 2006-10-30 03:49:06 bacon Exp $
*/ */
#include <ase/lsp/lsp_i.h> #include <ase/lsp/lsp_i.h>
@ -44,22 +44,22 @@ static int __print (ase_lsp_t* lsp, const ase_lsp_obj_t* obj, ase_bool_t prt_con
#if defined(__BORLANDC__) || defined(_MSC_VER) #if defined(__BORLANDC__) || defined(_MSC_VER)
lsp->syscas.sprintf ( lsp->syscas.sprintf (
buf, ase_countof(buf), buf, ase_countof(buf),
ASE_T("%I64d"), (__int64)ASE_LSP_IVALUE(obj)); ASE_T("%I64d"), (__int64)ASE_LSP_IVAL(obj));
#elif defined(vax) || defined(__vax) || defined(_SCO_DS) #elif defined(vax) || defined(__vax) || defined(_SCO_DS)
lsp->syscas.sprintf ( lsp->syscas.sprintf (
buf, ase_countof(buf), buf, ase_countof(buf),
ASE_T("%ld"), (long)ASE_LSP_IVALUE(obj)); ASE_T("%ld"), (long)ASE_LSP_IVAL(obj));
#else #else
lsp->syscas.sprintf ( lsp->syscas.sprintf (
buf, ase_countof(buf), buf, ase_countof(buf),
ASE_T("%lld"), (long long)ASE_LSP_IVALUE(obj)); ASE_T("%lld"), (long long)ASE_LSP_IVAL(obj));
#endif #endif
OUTPUT_STR (lsp, buf); OUTPUT_STR (lsp, buf);
break; break;
case ASE_LSP_OBJ_REAL: case ASE_LSP_OBJ_REAL:
lsp->syscas.sprintf (buf, ase_countof(buf), lsp->syscas.sprintf (buf, ase_countof(buf),
ASE_T("%Lf"), (long double)ASE_LSP_RVALUE(obj)); ASE_T("%Lf"), (long double)ASE_LSP_RVAL(obj));
OUTPUT_STR (lsp, buf); OUTPUT_STR (lsp, buf);
break; break;