Mercurial > repos > rhope
view runtime/integer.c @ 15:b71bab34ec65
Added forgotten release_ref to fib test
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 26 May 2009 23:36:41 -0400 |
parents | 31f8182f3433 |
children | ea991f95ae1f |
line wrap: on
line source
#include "integer.h" #include "builtin.h" #include "context.h" #include "bool.h" #define left ((t_Int32 *)cdata->params[0]) #define right ((t_Int32 *)cdata->params[1]) MethodNoLocals(_PL_,Int32, NumParams 2, CallSpace 1) CopiedParam(0, TYPE_INT32) Param(1, TYPE_INT32) left->num += right->num; release_ref((object *)right); EndFunc MethodNoLocals(_MN_,Int32, NumParams 2, CallSpace 1) CopiedParam(0, TYPE_INT32) Param(1, TYPE_INT32) left->num -= right->num; release_ref((object *)right); EndFunc MethodNoLocals(_LT_,Int32, NumParams 2, CallSpace 1) Param(0, TYPE_INT32) Param(1, TYPE_INT32) if(left->num < right->num) { release_ref(cdata->params[0]); Ret(0, Yes) } else { release_ref(cdata->params[0]); Ret(0, No) } release_ref(cdata->params[0]); EndFunc MethodNoLocals(_GT_,Int32, NumParams 2, CallSpace 1) Param(0, TYPE_INT32) Param(1, TYPE_INT32) if(left->num > right->num) { release_ref(cdata->params[0]); Ret(0, Yes) } else { release_ref(cdata->params[0]); Ret(0, No) } release_ref(cdata->params[0]); EndFunc object * make_Int32(int32_t val) { t_Int32 * obj; object * ret = new_object(TYPE_INT32); obj = (t_Int32 *)ret; obj->num = val; return ret; }