Author: jisom
Date: Mon Mar 27 19:34:43 2006
New Revision: 12055

Modified:
   trunk/src/builtin.c
   trunk/src/pmc/float.pmc

Log:
Add sqrt as a builtin suitable for $P0 = sqrt $P1
Add sqrt to float.pmc


Modified: trunk/src/builtin.c
==============================================================================
--- trunk/src/builtin.c (original)
+++ trunk/src/builtin.c Mon Mar 27 19:34:43 2006
@@ -53,6 +53,7 @@
     { "sech",   "PJO",          "Float",        0, 0 },
     { "sin",    "PJO",          "Float",        0, 0 },
     { "sinh",   "PJO",          "Float",        0, 0 },
+    { "sqrt",   "PJO",          "Float",        0, 0 },
     { "tan",    "PJO",          "Float",        0, 0 },
     { "tanh",   "PJO",          "Float",        0, 0 },
     { "index",  "IJSS.I",       "String",       0, 0 },

Modified: trunk/src/pmc/float.pmc
==============================================================================
--- trunk/src/pmc/float.pmc     (original)
+++ trunk/src/pmc/float.pmc     Mon Mar 27 19:34:43 2006
@@ -438,6 +438,8 @@
 
 =item C<METHOD PMC* tanh()>
 
+=item C<METHOD PMC* sqrt()>
+
 Return a new PMC of the type of C<SELF> with I<FUNC>(value) of SELF.
 
 =cut
@@ -531,6 +533,12 @@
         return d;
     }
 
+    METHOD PMC* sqrt() {
+        PMC *d = pmc_new(INTERP, SELF->vtable->base_type);
+        PMC_num_val(d) = sqrt(PMC_num_val(SELF));
+        return d;
+    }
+
 }
 
 /*

Reply via email to