using Orc; const int N = 10; int16[] a; int16[] b; int16[] c; void main(string[] args) { Orc.init(); a = new int16[ N ]; b = new int16[ N ]; c = new int16[ N ]; for( int16 i = 0 ; i < N ; i++ ) { a[i] = i+1; b[i] = 100; } add_s16(c, a, b); for( int i = 0 ; i < N ; i++ ) { message("%d: %d %d -> %d\n", i, a[i], b[i], c[i]); } } void add_s16(int16[] dst, int16[] src1, int16[] src2) { Program p = new Program.dss(2,2,2); p.append_str("addw", "d1", "s1", "s2"); CompileResult r = p.compile(); debug("CompileResult: %d", r); assert( r == CompileResult.OK ); Executor e = new Executor(p); e.set_program(p); e.set_n( dst.length ); e.set_array_str("s1", src1); e.set_array_str("s2", src2); e.set_array_str("d1", dst); e.run(); }