avoid a possible sign-extension for offsets/sizes in SGI
[imager.git] / regmach.h
index 275a084..ed1e303 100644 (file)
--- a/regmach.h
+++ b/regmach.h
@@ -3,7 +3,7 @@
 
 #include <stdio.h>
 #include <math.h>
-#include "image.h"
+#include "imager.h"
 
 enum rm_byte_codes {
   rbc_add, /* ra + rb -> r*/
@@ -53,7 +53,13 @@ enum rm_byte_codes {
   rbc_jumpnz, /* jump if ra != 0 to jb */
   rbc_set, /* ra -> r */
   rbc_setp, /* pa -> p*/
-  rbc_print, /* prints ra */
+  rbc_print, /* print(ra) -> r -- prints, leaves on stack */
+  rbc_rgba, /* rgba(ra, rb, rc, rd) -> p */
+  rbc_hsva, /* hsva(ra, rb, rc, rd) -> p */
+  rbc_alpha, /* alpha(pa) -> r */
+  rbc_log, /* log(ra) -> r */
+  rbc_exp, /* exp(ra) -> r */
+  rbc_det, /* det(ra, rb, rc, rd) -> r */
   rbc_op_count
 };
 
@@ -73,10 +79,10 @@ struct rm_op {
   rm_word rout; /* output register */
 };
 
-i_color rm_run(struct rm_op codes[], size_t code_count, 
-              double n_regs[], size_t n_regs_count,
-              i_color c_regs[], size_t c_regs_count,
-              i_img *images[], size_t image_count);
+i_color i_rm_run(struct rm_op codes[], size_t code_count, 
+                double n_regs[], size_t n_regs_count,
+                i_color c_regs[], size_t c_regs_count,
+                i_img *images[], size_t image_count);
 
 /* op_run(fx, sizeof(fx), parms, 2)) */