diff runtime/integer.c @ 37:640f541e9116

Added support for type declarations on user defined workers and added a few more methods to Int32 in the runtime for the C backend
author Mike Pavone <pavone@retrodev.com>
date Mon, 05 Oct 2009 23:12:43 -0400
parents ea991f95ae1f
children a24eb366195c d2f9b0a9403d
line wrap: on
line diff
--- a/runtime/integer.c	Sat Oct 03 03:18:15 2009 -0400
+++ b/runtime/integer.c	Mon Oct 05 23:12:43 2009 -0400
@@ -30,6 +30,54 @@
 	release_ref((object *)right);
 EndFunc
 
+MethodNoLocals(_TM_,Int32,
+    NumParams 2,
+    CallSpace 1)
+    
+	CopiedParam(0, TYPE_INT32)
+	Param(1, TYPE_INT32)
+	
+	left->num *= right->num;
+	
+	release_ref((object *)right);
+EndFunc
+
+MethodNoLocals(_DV_,Int32,
+    NumParams 2,
+    CallSpace 1)
+    
+	CopiedParam(0, TYPE_INT32)
+	Param(1, TYPE_INT32)
+	
+	left->num /= right->num;
+	
+	release_ref((object *)right);
+EndFunc
+
+MethodNoLocals(LShift,Int32,
+    NumParams 2,
+    CallSpace 1)
+    
+	CopiedParam(0, TYPE_INT32)
+	Param(1, TYPE_INT32)
+	
+	left->num <<= right->num;
+	
+	release_ref((object *)right);
+EndFunc
+
+MethodNoLocals(RShift,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)