1 /* ====== BEGIN INCLUDE SEGEMENT apl_operators_argument.incl.pl1 =========================== */ 2 3 declare 1 operators_argument aligned, 4 2 operands (2) aligned, /* these are the operands to the operator to be executed. 5 if operand (1).value is null, operator is monadic */ 6 3 value pointer unaligned, /* a pointer to the value bead for this operand */ 7 3 on_stack bit (1) aligned, /* ON if this value resides on the value stack */ 8 2 operator aligned, /* information about the operator to be executed */ 9 3 dimension fixed bin, /* (optional) dimension along which to operate */ 10 3 padding bit (18) unaligned, /* unused part of operator bead */ 11 3 op2 fixed bin (8) unal, /* a modifier for op1, or a 2nd operator if inner product */ 12 3 op1 fixed bin (8) unal, /* code for the actual operator to be executed */ 13 2 result pointer unal, /* (output) set by operator to point to result bead in stack */ 14 2 error_code fixed bin (35), /* (output) set before signaling apl_operator_error_ */ 15 2 where_error fixed bin; /* parseme index of where error was - parse sets to operator */ 16 17 /* ------ END INCLUDE SEGMENT apl_operators_argument.incl.pl1 --------------------------- */