File indexing completed on 2025-02-21 10:05:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 case FC_VADD + (OP_BASE):
0019 {
0020 int n, i, inc_o1;
0021 OP_TYPE v;
0022
0023 n = frame_size[framep];
0024 o1 = &stack[frame[framep]];
0025 inc_o1 = datatype_size[OP_DTYPE];
0026
0027 v = 0;
0028 for ( i=0 ; i < n ; i++ ) {
0029 v += *((OP_TYPE *) o1);
0030 o1 += inc_o1;
0031 }
0032
0033 POP_FRAME(1);
0034 NEW_FRAME(OP_DTYPE,1,r);
0035
0036 *((OP_TYPE *) r) = v;
0037 break;
0038 }
0039
0040 case FC_VMUL + (OP_BASE):
0041 {
0042 int n, i, inc_o1;
0043 OP_TYPE v;
0044
0045 n = frame_size[framep];
0046 o1 = &stack[frame[framep]];
0047 inc_o1 = datatype_size[OP_DTYPE];
0048
0049 v = 1;
0050 for ( i=0 ; i < n ; i++ ) {
0051 v *= *((OP_TYPE *) o1);
0052 o1 += inc_o1;
0053 }
0054
0055 POP_FRAME(1);
0056 NEW_FRAME(OP_DTYPE,1,r);
0057
0058 *((OP_TYPE *) r) = v;
0059 break;
0060 }
0061
0062 case FC_VMIN + (OP_BASE):
0063 {
0064 int n, i, inc_o1;
0065 OP_TYPE v;
0066
0067 n = frame_size[framep];
0068 o1 = &stack[frame[framep]];
0069 inc_o1 = datatype_size[OP_DTYPE];
0070
0071 v = OP_TYPE_MAX;
0072 for ( i=0 ; i < n ; i++ ) {
0073 if ( v > *((OP_TYPE *) o1) ) {
0074 v = *((OP_TYPE *) o1);
0075 }
0076 o1 += inc_o1;
0077 }
0078
0079 POP_FRAME(1);
0080 NEW_FRAME(OP_DTYPE,1,r);
0081
0082 *((OP_TYPE *) r) = v;
0083 break;
0084 }
0085
0086 case FC_VMAX + (OP_BASE):
0087 {
0088 int n, i, inc_o1;
0089 OP_TYPE v;
0090
0091 n = frame_size[framep];
0092 o1 = &stack[frame[framep]];
0093 inc_o1 = datatype_size[OP_DTYPE];
0094
0095 v = OP_TYPE_MIN;
0096 for ( i=0 ; i < n ; i++ ) {
0097 if ( v < *((OP_TYPE *) o1) ) {
0098 v = *((OP_TYPE *) o1);
0099 }
0100 o1 += inc_o1;
0101 }
0102
0103 POP_FRAME(1);
0104 NEW_FRAME(OP_DTYPE,1,r);
0105
0106 *((OP_TYPE *) r) = v;
0107 break;
0108 }