aboutsummaryrefslogtreecommitdiff
path: root/builtin.h
diff options
context:
space:
mode:
authorTeddy <ted.sybil@gmail.com>2013-08-05 21:11:53 +0800
committerTeddy <ted.sybil@gmail.com>2013-08-05 21:11:53 +0800
commit45dec735ec131c18d70ad202ed1446982b99ed9f (patch)
tree6326d2889045ec2b4d13ae0a612e24c771205029 /builtin.h
parenta6574b0025b68eb28a8c7d679ca6783132ad013d (diff)
added more built-in procedures
Diffstat (limited to 'builtin.h')
-rw-r--r--builtin.h38
1 files changed, 24 insertions, 14 deletions
diff --git a/builtin.h b/builtin.h
index b12e110..ab52d5a 100644
--- a/builtin.h
+++ b/builtin.h
@@ -30,13 +30,15 @@ class CompNumObj: public InexactNumObj {
*/
static CompNumObj *from_string(string repr);
/** Convert to a complex number from other numeric types */
- static CompNumObj *convert(NumObj* obj);
+ CompNumObj *convert(NumObj* obj);
NumObj *plus(NumObj *r);
NumObj *minus(NumObj *r);
NumObj *multi(NumObj *r);
NumObj *div(NumObj *r);
- BoolObj *eq(NumObj *r);
+ bool lt(NumObj *r);
+ bool gt(NumObj *r);
+ bool eq(NumObj *r);
string ext_repr();
};
@@ -53,15 +55,15 @@ class RealNumObj: public InexactNumObj {
*/
static RealNumObj *from_string(string repr);
/** Convert to a real number from other numeric types */
- static RealNumObj *convert(NumObj* obj);
+ RealNumObj *convert(NumObj* obj);
NumObj *plus(NumObj *r);
NumObj *minus(NumObj *r);
NumObj *multi(NumObj *r);
NumObj *div(NumObj *r);
- BoolObj *lt(NumObj *r);
- BoolObj *gt(NumObj *r);
- BoolObj *eq(NumObj *r);
+ bool lt(NumObj *r);
+ bool gt(NumObj *r);
+ bool eq(NumObj *r);
string ext_repr();
};
@@ -88,15 +90,15 @@ class RatNumObj: public ExactNumObj {
*/
static RatNumObj *from_string(string repr);
/** Convert to a Rational number from other numeric types */
- static RatNumObj *convert(NumObj* obj);
+ RatNumObj *convert(NumObj* obj);
NumObj *plus(NumObj *r);
NumObj *minus(NumObj *r);
NumObj *multi(NumObj *r);
NumObj *div(NumObj *r);
- BoolObj *lt(NumObj *r);
- BoolObj *gt(NumObj *r);
- BoolObj *eq(NumObj *r);
+ bool lt(NumObj *r);
+ bool gt(NumObj *r);
+ bool eq(NumObj *r);
string ext_repr();
};
@@ -113,15 +115,15 @@ class IntNumObj: public ExactNumObj {
*/
static IntNumObj *from_string(string repr);
/** Convert to a integer from other numeric types */
- static IntNumObj *convert(NumObj* obj);
+ IntNumObj *convert(NumObj* obj);
NumObj *plus(NumObj *r);
NumObj *minus(NumObj *r);
NumObj *multi(NumObj *r);
NumObj *div(NumObj *r);
- BoolObj *lt(NumObj *r);
- BoolObj *gt(NumObj *r);
- BoolObj *eq(NumObj *r);
+ bool lt(NumObj *r);
+ bool gt(NumObj *r);
+ bool eq(NumObj *r);
string ext_repr();
};
@@ -190,6 +192,14 @@ class SpecialOptSet: public SpecialOptObj {
};
EvalObj *builtin_plus(ArgList *);
+EvalObj *builtin_minus(ArgList *);
+EvalObj *builtin_multi(ArgList *);
+EvalObj *builtin_div(ArgList *);
+EvalObj *builtin_exact(ArgList *);
+EvalObj *builtin_inexact(ArgList *);
+EvalObj *builtin_lt(ArgList *);
+EvalObj *builtin_gt(ArgList *);
+EvalObj *builtin_arithmetic_eq(ArgList *);
EvalObj *builtin_display(ArgList *);
EvalObj *builtin_cons(ArgList *);