File indexing completed on 2025-02-21 10:05:31
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 case FC_B_2_B: {
0021 int i, n = frame_size[framep];
0022 o1 = &stack[frame[framep]];
0023 if ( n == 1 ) {
0024 SET_FRAME_TYPE( D_BOOL );
0025 *((bool *) o1) = *((bool *) o1) ? 1 : 0;
0026 } else {
0027 NEW_FRAME( D_BOOL, n, r);
0028 for ( i=0 ; i < n ; i++ ) {
0029 ((bool *) r)[i] = ((bool *) o1)[i] ? 1 : 0;
0030 }
0031 SQUEEZE_FRAME(1);
0032 }
0033 break;
0034 }
0035
0036 case FC_B_2_U: {
0037 int i, n = frame_size[framep];
0038 o1 = &stack[frame[framep]];
0039 if ( n == 1 ) {
0040 SET_FRAME_TYPE( D_UINT );
0041 *((UInt32 *) o1) = *((bool *) o1) ? 1 : 0;
0042 } else {
0043 NEW_FRAME( D_UINT, n, r);
0044 for ( i=0 ; i < n ; i++ ) {
0045 ((UInt32 *) r)[i] = ((bool *) o1)[i] ? 1 : 0;
0046 }
0047 SQUEEZE_FRAME(1);
0048 }
0049 break;
0050 }
0051
0052 case FC_B_2_LU: {
0053 int i, n = frame_size[framep];
0054 o1 = &stack[frame[framep]];
0055 if ( n == 1 ) {
0056 SET_FRAME_TYPE( D_ULONG );
0057 *((UInt64 *) o1) = *((bool *) o1) ? 1 : 0;
0058 } else {
0059 NEW_FRAME( D_ULONG, n, r);
0060 for ( i=0 ; i < n ; i++ ) {
0061 ((UInt64 *) r)[i] = ((bool *) o1)[i] ? 1 : 0;
0062 }
0063 SQUEEZE_FRAME(1);
0064 }
0065 break;
0066 }
0067
0068 case FC_B_2_I: {
0069 int i, n = frame_size[framep];
0070 o1 = &stack[frame[framep]];
0071 if ( n == 1 ) {
0072 SET_FRAME_TYPE( D_INT );
0073 *((Int32 *) o1) = *((bool *) o1) ? 1 : 0;
0074 } else {
0075 NEW_FRAME( D_INT, n, r);
0076 for ( i=0 ; i < n ; i++ ) {
0077 ((Int32 *) r)[i] = ((bool *) o1)[i] ? 1 : 0;
0078 }
0079 SQUEEZE_FRAME(1);
0080 }
0081 break;
0082 }
0083
0084 case FC_B_2_LI: {
0085 int i, n = frame_size[framep];
0086 o1 = &stack[frame[framep]];
0087 if ( n == 1 ) {
0088 SET_FRAME_TYPE( D_LONG );
0089 *((Int64 *) o1) = *((bool *) o1) ? 1 : 0;
0090 } else {
0091 NEW_FRAME( D_LONG, n, r);
0092 for ( i=0 ; i < n ; i++ ) {
0093 ((Int64 *) r)[i] = ((bool *) o1)[i] ? 1 : 0;
0094 }
0095 SQUEEZE_FRAME(1);
0096 }
0097 break;
0098 }
0099
0100 case FC_B_2_F: {
0101 int i, n = frame_size[framep];
0102 o1 = &stack[frame[framep]];
0103 if ( n == 1 ) {
0104 SET_FRAME_TYPE( D_FLOAT );
0105 *((Float32 *) o1) = *((bool *) o1) ? 1.0 : 0.0;
0106 } else {
0107 NEW_FRAME( D_FLOAT, n, r);
0108 for ( i=0 ; i < n ; i++ ) {
0109 ((Float32 *) r)[i] = ((bool *) o1)[i] ? 1.0 : 0.0;
0110 }
0111 SQUEEZE_FRAME(1);
0112 }
0113 break;
0114 }
0115
0116 case FC_B_2_LF: {
0117 int i, n = frame_size[framep];
0118 o1 = &stack[frame[framep]];
0119 if ( n == 1 ) {
0120 SET_FRAME_TYPE( D_DOUBLE );
0121 *((Float64 *) o1) = *((bool *) o1) ? 1.0 : 0.0;
0122 } else {
0123 NEW_FRAME( D_DOUBLE, n, r);
0124 for ( i=0 ; i < n ; i++ ) {
0125 ((Float64 *) r)[i] = ((bool *) o1)[i] ? 1.0 : 0.0;
0126 }
0127 SQUEEZE_FRAME(1);
0128 }
0129 break;
0130 }
0131
0132 case FC_U_2_B: {
0133 int i, n = frame_size[framep];
0134 o1 = &stack[frame[framep]];
0135 if ( n == 1 ) {
0136 SET_FRAME_TYPE( D_BOOL );
0137 *((bool *) o1) = *((UInt32 *) o1) ? 1 : 0;
0138 } else {
0139 NEW_FRAME( D_BOOL, n, r);
0140 for ( i=0 ; i < n ; i++ ) {
0141 ((bool *) r)[i] = ((UInt32 *) o1)[i] ? 1 : 0;
0142 }
0143 SQUEEZE_FRAME(1);
0144 }
0145 break;
0146 }
0147
0148 case FC_U_2_U: {
0149 int i, n = frame_size[framep];
0150 o1 = &stack[frame[framep]];
0151 if ( n == 1 ) {
0152 SET_FRAME_TYPE( D_UINT );
0153 *((UInt32 *) o1) = *((UInt32 *) o1);
0154 } else {
0155 NEW_FRAME( D_UINT, n, r);
0156 for ( i=0 ; i < n ; i++ ) {
0157 ((UInt32 *) r)[i] = ((UInt32 *) o1)[i];
0158 }
0159 SQUEEZE_FRAME(1);
0160 }
0161 break;
0162 }
0163
0164 case FC_U_2_LU: {
0165 int i, n = frame_size[framep];
0166 o1 = &stack[frame[framep]];
0167 if ( n == 1 ) {
0168 SET_FRAME_TYPE( D_ULONG );
0169 *((UInt64 *) o1) = *((UInt32 *) o1);
0170 } else {
0171 NEW_FRAME( D_ULONG, n, r);
0172 for ( i=0 ; i < n ; i++ ) {
0173 ((UInt64 *) r)[i] = ((UInt32 *) o1)[i];
0174 }
0175 SQUEEZE_FRAME(1);
0176 }
0177 break;
0178 }
0179
0180 case FC_U_2_I: {
0181 int i, n = frame_size[framep];
0182 o1 = &stack[frame[framep]];
0183 if ( n == 1 ) {
0184 SET_FRAME_TYPE( D_INT );
0185 *((Int32 *) o1) = *((UInt32 *) o1);
0186 } else {
0187 NEW_FRAME( D_INT, n, r);
0188 for ( i=0 ; i < n ; i++ ) {
0189 ((Int32 *) r)[i] = ((UInt32 *) o1)[i];
0190 }
0191 SQUEEZE_FRAME(1);
0192 }
0193 break;
0194 }
0195
0196 case FC_U_2_LI: {
0197 int i, n = frame_size[framep];
0198 o1 = &stack[frame[framep]];
0199 if ( n == 1 ) {
0200 SET_FRAME_TYPE( D_LONG );
0201 *((Int64 *) o1) = *((UInt32 *) o1);
0202 } else {
0203 NEW_FRAME( D_LONG, n, r);
0204 for ( i=0 ; i < n ; i++ ) {
0205 ((Int64 *) r)[i] = ((UInt32 *) o1)[i];
0206 }
0207 SQUEEZE_FRAME(1);
0208 }
0209 break;
0210 }
0211
0212 case FC_U_2_F: {
0213 int i, n = frame_size[framep];
0214 o1 = &stack[frame[framep]];
0215 if ( n == 1 ) {
0216 SET_FRAME_TYPE( D_FLOAT );
0217 *((Float32 *) o1) = *((UInt32 *) o1);
0218 } else {
0219 NEW_FRAME( D_FLOAT, n, r);
0220 for ( i=0 ; i < n ; i++ ) {
0221 ((Float32 *) r)[i] = ((UInt32 *) o1)[i];
0222 }
0223 SQUEEZE_FRAME(1);
0224 }
0225 break;
0226 }
0227
0228 case FC_U_2_LF: {
0229 int i, n = frame_size[framep];
0230 o1 = &stack[frame[framep]];
0231 if ( n == 1 ) {
0232 SET_FRAME_TYPE( D_DOUBLE );
0233 *((Float64 *) o1) = *((UInt32 *) o1);
0234 } else {
0235 NEW_FRAME( D_DOUBLE, n, r);
0236 for ( i=0 ; i < n ; i++ ) {
0237 ((Float64 *) r)[i] = ((UInt32 *) o1)[i];
0238 }
0239 SQUEEZE_FRAME(1);
0240 }
0241 break;
0242 }
0243
0244 case FC_LU_2_B: {
0245 int i, n = frame_size[framep];
0246 o1 = &stack[frame[framep]];
0247 if ( n == 1 ) {
0248 SET_FRAME_TYPE( D_BOOL );
0249 *((bool *) o1) = *((UInt64 *) o1) ? 1 : 0;
0250 } else {
0251 NEW_FRAME( D_BOOL, n, r);
0252 for ( i=0 ; i < n ; i++ ) {
0253 ((bool *) r)[i] = ((UInt64 *) o1)[i] ? 1 : 0;
0254 }
0255 SQUEEZE_FRAME(1);
0256 }
0257 break;
0258 }
0259
0260 case FC_LU_2_U: {
0261 int i, n = frame_size[framep];
0262 o1 = &stack[frame[framep]];
0263 if ( n == 1 ) {
0264 SET_FRAME_TYPE( D_UINT );
0265 *((UInt32 *) o1) = *((UInt64 *) o1);
0266 } else {
0267 NEW_FRAME( D_UINT, n, r);
0268 for ( i=0 ; i < n ; i++ ) {
0269 ((UInt32 *) r)[i] = ((UInt64 *) o1)[i];
0270 }
0271 SQUEEZE_FRAME(1);
0272 }
0273 break;
0274 }
0275
0276 case FC_LU_2_LU: {
0277 int i, n = frame_size[framep];
0278 o1 = &stack[frame[framep]];
0279 if ( n == 1 ) {
0280 SET_FRAME_TYPE( D_ULONG );
0281 *((UInt64 *) o1) = *((UInt64 *) o1);
0282 } else {
0283 NEW_FRAME( D_ULONG, n, r);
0284 for ( i=0 ; i < n ; i++ ) {
0285 ((UInt64 *) r)[i] = ((UInt64 *) o1)[i];
0286 }
0287 SQUEEZE_FRAME(1);
0288 }
0289 break;
0290 }
0291
0292 case FC_LU_2_I: {
0293 int i, n = frame_size[framep];
0294 o1 = &stack[frame[framep]];
0295 if ( n == 1 ) {
0296 SET_FRAME_TYPE( D_INT );
0297 *((Int32 *) o1) = *((UInt64 *) o1);
0298 } else {
0299 NEW_FRAME( D_INT, n, r);
0300 for ( i=0 ; i < n ; i++ ) {
0301 ((Int32 *) r)[i] = ((UInt64 *) o1)[i];
0302 }
0303 SQUEEZE_FRAME(1);
0304 }
0305 break;
0306 }
0307
0308 case FC_LU_2_LI: {
0309 int i, n = frame_size[framep];
0310 o1 = &stack[frame[framep]];
0311 if ( n == 1 ) {
0312 SET_FRAME_TYPE( D_LONG );
0313 *((Int64 *) o1) = *((UInt64 *) o1);
0314 } else {
0315 NEW_FRAME( D_LONG, n, r);
0316 for ( i=0 ; i < n ; i++ ) {
0317 ((Int64 *) r)[i] = ((UInt64 *) o1)[i];
0318 }
0319 SQUEEZE_FRAME(1);
0320 }
0321 break;
0322 }
0323
0324 case FC_LU_2_F: {
0325 int i, n = frame_size[framep];
0326 o1 = &stack[frame[framep]];
0327 if ( n == 1 ) {
0328 SET_FRAME_TYPE( D_FLOAT );
0329 *((Float32 *) o1) = *((UInt64 *) o1);
0330 } else {
0331 NEW_FRAME( D_FLOAT, n, r);
0332 for ( i=0 ; i < n ; i++ ) {
0333 ((Float32 *) r)[i] = ((UInt64 *) o1)[i];
0334 }
0335 SQUEEZE_FRAME(1);
0336 }
0337 break;
0338 }
0339
0340 case FC_LU_2_LF: {
0341 int i, n = frame_size[framep];
0342 o1 = &stack[frame[framep]];
0343 if ( n == 1 ) {
0344 SET_FRAME_TYPE( D_DOUBLE );
0345 *((Float64 *) o1) = *((UInt64 *) o1);
0346 } else {
0347 NEW_FRAME( D_DOUBLE, n, r);
0348 for ( i=0 ; i < n ; i++ ) {
0349 ((Float64 *) r)[i] = ((UInt64 *) o1)[i];
0350 }
0351 SQUEEZE_FRAME(1);
0352 }
0353 break;
0354 }
0355
0356
0357
0358
0359 case FC_I_2_B: {
0360 int i, n = frame_size[framep];
0361 o1 = &stack[frame[framep]];
0362 if ( n == 1 ) {
0363 SET_FRAME_TYPE( D_BOOL );
0364 *((bool *) o1) = *((Int32 *) o1) ? 1 : 0;
0365 } else {
0366 NEW_FRAME( D_BOOL, n, r);
0367 for ( i=0 ; i < n ; i++ ) {
0368 ((bool *) r)[i] = ((Int32 *) o1)[i] ? 1 : 0;
0369 }
0370 SQUEEZE_FRAME(1);
0371 }
0372 break;
0373 }
0374
0375 case FC_I_2_U: {
0376 int i, n = frame_size[framep];
0377 o1 = &stack[frame[framep]];
0378 if ( n == 1 ) {
0379 SET_FRAME_TYPE( D_UINT );
0380 *((UInt32 *) o1) = *((Int32 *) o1) ? 1 : 0;
0381 } else {
0382 NEW_FRAME( D_UINT, n, r);
0383 for ( i=0 ; i < n ; i++ ) {
0384 ((UInt32 *) r)[i] = ((Int32 *) o1)[i] ? 1 : 0;
0385 }
0386 SQUEEZE_FRAME(1);
0387 }
0388 break;
0389 }
0390
0391 case FC_I_2_LU: {
0392 int i, n = frame_size[framep];
0393 o1 = &stack[frame[framep]];
0394 if ( n == 1 ) {
0395 SET_FRAME_TYPE( D_ULONG );
0396 *((UInt64 *) o1) = *((Int32 *) o1);
0397 } else {
0398 NEW_FRAME( D_ULONG, n, r);
0399 for ( i=0 ; i < n ; i++ ) {
0400 ((UInt64 *) r)[i] = ((Int32 *) o1)[i];
0401 }
0402 SQUEEZE_FRAME(1);
0403 }
0404 break;
0405 }
0406
0407 case FC_I_2_I: {
0408 int i, n = frame_size[framep];
0409 o1 = &stack[frame[framep]];
0410 if ( n == 1 ) {
0411 SET_FRAME_TYPE( D_INT );
0412 *((Int32 *) o1) = *((Int32 *) o1);
0413 } else {
0414 NEW_FRAME( D_INT, n, r);
0415 for ( i=0 ; i < n ; i++ ) {
0416 ((Int32 *) r)[i] = ((Int32 *) o1)[i];
0417 }
0418 SQUEEZE_FRAME(1);
0419 }
0420 break;
0421 }
0422
0423 case FC_I_2_LI: {
0424 int i, n = frame_size[framep];
0425 o1 = &stack[frame[framep]];
0426 if ( n == 1 ) {
0427 SET_FRAME_TYPE( D_LONG );
0428 *((Int64 *) o1) = *((Int32 *) o1);
0429 } else {
0430 NEW_FRAME( D_LONG, n, r);
0431 for ( i=0 ; i < n ; i++ ) {
0432 ((Int64 *) r)[i] = ((Int32 *) o1)[i];
0433 }
0434 SQUEEZE_FRAME(1);
0435 }
0436 break;
0437 }
0438
0439 case FC_I_2_F: {
0440 int i, n = frame_size[framep];
0441 o1 = &stack[frame[framep]];
0442 if ( n == 1 ) {
0443 SET_FRAME_TYPE( D_FLOAT );
0444 *((Float32 *) o1) = *((Int32 *) o1);
0445 } else {
0446 NEW_FRAME( D_FLOAT, n, r);
0447 for ( i=0 ; i < n ; i++ ) {
0448 ((Float32 *) r)[i] = ((Int32 *) o1)[i];
0449 }
0450 SQUEEZE_FRAME(1);
0451 }
0452 break;
0453 }
0454
0455 case FC_I_2_LF: {
0456 int i, n = frame_size[framep];
0457 o1 = &stack[frame[framep]];
0458 if ( n == 1 ) {
0459 SET_FRAME_TYPE( D_DOUBLE );
0460 *((Float64 *) o1) = *((Int32 *) o1);
0461 } else {
0462 NEW_FRAME( D_DOUBLE, n, r);
0463 for ( i=0 ; i < n ; i++ ) {
0464 ((Float64 *) r)[i] = ((Int32 *) o1)[i];
0465 }
0466 SQUEEZE_FRAME(1);
0467 }
0468 break;
0469 }
0470
0471 case FC_LI_2_B: {
0472 int i, n = frame_size[framep];
0473 o1 = &stack[frame[framep]];
0474 if ( n == 1 ) {
0475 SET_FRAME_TYPE( D_BOOL );
0476 *((bool *) o1) = *((Int64 *) o1) ? 1 : 0;
0477 } else {
0478 NEW_FRAME( D_BOOL, n, r);
0479 for ( i=0 ; i < n ; i++ ) {
0480 ((bool *) r)[i] = ((Int64 *) o1)[i] ? 1 : 0;
0481 }
0482 SQUEEZE_FRAME(1);
0483 }
0484 break;
0485 }
0486
0487 case FC_LI_2_U: {
0488 int i, n = frame_size[framep];
0489 o1 = &stack[frame[framep]];
0490 if ( n == 1 ) {
0491 SET_FRAME_TYPE( D_UINT );
0492 *((UInt32 *) o1) = *((Int64 *) o1);
0493 } else {
0494 NEW_FRAME( D_UINT, n, r);
0495 for ( i=0 ; i < n ; i++ ) {
0496 ((UInt32 *) r)[i] = ((Int64 *) o1)[i];
0497 }
0498 SQUEEZE_FRAME(1);
0499 }
0500 break;
0501 }
0502
0503 case FC_LI_2_LU: {
0504 int i, n = frame_size[framep];
0505 o1 = &stack[frame[framep]];
0506 if ( n == 1 ) {
0507 SET_FRAME_TYPE( D_ULONG );
0508 *((UInt64 *) o1) = *((Int64 *) o1);
0509 } else {
0510 NEW_FRAME( D_ULONG, n, r);
0511 for ( i=0 ; i < n ; i++ ) {
0512 ((UInt64 *) r)[i] = ((Int64 *) o1)[i];
0513 }
0514 SQUEEZE_FRAME(1);
0515 }
0516 break;
0517 }
0518
0519 case FC_LI_2_I: {
0520 int i, n = frame_size[framep];
0521 o1 = &stack[frame[framep]];
0522 if ( n == 1 ) {
0523 SET_FRAME_TYPE( D_INT );
0524 *((Int32 *) o1) = *((Int64 *) o1);
0525 } else {
0526 NEW_FRAME( D_INT, n, r);
0527 for ( i=0 ; i < n ; i++ ) {
0528 ((Int32 *) r)[i] = ((Int64 *) o1)[i];
0529 }
0530 SQUEEZE_FRAME(1);
0531 }
0532 break;
0533 }
0534
0535 case FC_LI_2_LI: {
0536 int i, n = frame_size[framep];
0537 o1 = &stack[frame[framep]];
0538 if ( n == 1 ) {
0539 SET_FRAME_TYPE( D_LONG );
0540 *((Int64 *) o1) = *((Int64 *) o1);
0541 } else {
0542 NEW_FRAME( D_LONG, n, r);
0543 for ( i=0 ; i < n ; i++ ) {
0544 ((Int64 *) r)[i] = ((Int64 *) o1)[i];
0545 }
0546 SQUEEZE_FRAME(1);
0547 }
0548 break;
0549 }
0550
0551 case FC_LI_2_F: {
0552 int i, n = frame_size[framep];
0553 o1 = &stack[frame[framep]];
0554 if ( n == 1 ) {
0555 SET_FRAME_TYPE( D_FLOAT );
0556 *((Float32 *) o1) = *((Int64 *) o1);
0557 } else {
0558 NEW_FRAME( D_FLOAT, n, r);
0559 for ( i=0 ; i < n ; i++ ) {
0560 ((Float32 *) r)[i] = ((Int64 *) o1)[i];
0561 }
0562 SQUEEZE_FRAME(1);
0563 }
0564 break;
0565 }
0566
0567 case FC_LI_2_LF: {
0568 int i, n = frame_size[framep];
0569 o1 = &stack[frame[framep]];
0570 if ( n == 1 ) {
0571 SET_FRAME_TYPE( D_DOUBLE );
0572 *((Float64 *) o1) = *((Int64 *) o1);
0573 } else {
0574 NEW_FRAME( D_DOUBLE, n, r);
0575 for ( i=0 ; i < n ; i++ ) {
0576 ((Float64 *) r)[i] = ((Int64 *) o1)[i];
0577 }
0578 SQUEEZE_FRAME(1);
0579 }
0580 break;
0581 }
0582
0583 case FC_F_2_B: {
0584 int i, n = frame_size[framep];
0585 o1 = &stack[frame[framep]];
0586 if ( n == 1 ) {
0587 SET_FRAME_TYPE( D_BOOL );
0588 *((bool *) o1) = *((Float32 *) o1) ? 1 : 0;
0589 } else {
0590 NEW_FRAME( D_BOOL, n, r);
0591 for ( i=0 ; i < n ; i++ ) {
0592 ((bool *) r)[i] = ((Float32 *) o1)[i] ? 1 : 0;
0593 }
0594 SQUEEZE_FRAME(1);
0595 }
0596 break;
0597 }
0598
0599 case FC_F_2_U: {
0600 int i, n = frame_size[framep];
0601 o1 = &stack[frame[framep]];
0602 if ( n == 1 ) {
0603 SET_FRAME_TYPE( D_UINT );
0604 *((UInt32 *) o1) = *((Float32 *) o1);
0605 } else {
0606 NEW_FRAME( D_UINT, n, r);
0607 for ( i=0 ; i < n ; i++ ) {
0608 ((UInt32 *) r)[i] = ((Float32 *) o1)[i];
0609 }
0610 SQUEEZE_FRAME(1);
0611 }
0612 break;
0613 }
0614
0615 case FC_F_2_LU: {
0616 int i, n = frame_size[framep];
0617 o1 = &stack[frame[framep]];
0618 if ( n == 1 ) {
0619 SET_FRAME_TYPE( D_ULONG );
0620 *((UInt64 *) o1) = *((Float32 *) o1);
0621 } else {
0622 NEW_FRAME( D_ULONG, n, r);
0623 for ( i=0 ; i < n ; i++ ) {
0624 ((UInt64 *) r)[i] = ((Float32 *) o1)[i];
0625 }
0626 SQUEEZE_FRAME(1);
0627 }
0628 break;
0629 }
0630
0631 case FC_F_2_I: {
0632 int i, n = frame_size[framep];
0633 o1 = &stack[frame[framep]];
0634 if ( n == 1 ) {
0635 SET_FRAME_TYPE( D_INT );
0636 *((Int32 *) o1) = *((Float32 *) o1);
0637 } else {
0638 NEW_FRAME( D_INT, n, r);
0639 for ( i=0 ; i < n ; i++ ) {
0640 ((Int32 *) r)[i] = ((Float32 *) o1)[i];
0641 }
0642 SQUEEZE_FRAME(1);
0643 }
0644 break;
0645 }
0646
0647 case FC_F_2_LI: {
0648 int i, n = frame_size[framep];
0649 o1 = &stack[frame[framep]];
0650 if ( n == 1 ) {
0651 SET_FRAME_TYPE( D_LONG );
0652 *((Int64 *) o1) = *((Float32 *) o1);
0653 } else {
0654 NEW_FRAME( D_LONG, n, r);
0655 for ( i=0 ; i < n ; i++ ) {
0656 ((Int64 *) r)[i] = ((Float32 *) o1)[i];
0657 }
0658 SQUEEZE_FRAME(1);
0659 }
0660 break;
0661 }
0662
0663 case FC_F_2_F: {
0664 int i, n = frame_size[framep];
0665 o1 = &stack[frame[framep]];
0666 if ( n == 1 ) {
0667 SET_FRAME_TYPE( D_FLOAT );
0668 *((Float32 *) o1) = *((Float32 *) o1);
0669 } else {
0670 NEW_FRAME( D_FLOAT, n, r);
0671 for ( i=0 ; i < n ; i++ ) {
0672 ((Float32 *) r)[i] = ((Float32 *) o1)[i];
0673 }
0674 SQUEEZE_FRAME(1);
0675 }
0676 break;
0677 }
0678
0679 case FC_F_2_LF: {
0680 int i, n = frame_size[framep];
0681 o1 = &stack[frame[framep]];
0682 if ( n == 1 ) {
0683 SET_FRAME_TYPE( D_DOUBLE );
0684 *((Float64 *) o1) = *((Float32 *) o1);
0685 } else {
0686 NEW_FRAME( D_DOUBLE, n, r);
0687 for ( i=0 ; i < n ; i++ ) {
0688 ((Float64 *) r)[i] = ((Float32 *) o1)[i];
0689 }
0690 SQUEEZE_FRAME(1);
0691 }
0692 break;
0693 }
0694
0695 case FC_LF_2_B: {
0696 int i, n = frame_size[framep];
0697 o1 = &stack[frame[framep]];
0698 if ( n == 1 ) {
0699 SET_FRAME_TYPE( D_BOOL );
0700 *((bool *) o1) = *((Float64 *) o1) ? 1 : 0;
0701 } else {
0702 NEW_FRAME( D_BOOL, n, r);
0703 for ( i=0 ; i < n ; i++ ) {
0704 ((bool *) r)[i] = ((Float64 *) o1)[i] ? 1 : 0;
0705 }
0706 SQUEEZE_FRAME(1);
0707 }
0708 break;
0709 }
0710
0711 case FC_LF_2_U: {
0712 int i, n = frame_size[framep];
0713 o1 = &stack[frame[framep]];
0714 if ( n == 1 ) {
0715 SET_FRAME_TYPE( D_UINT );
0716 *((UInt32 *) o1) = *((Float64 *) o1);
0717 } else {
0718 NEW_FRAME( D_UINT, n, r);
0719 for ( i=0 ; i < n ; i++ ) {
0720 ((UInt32 *) r)[i] = ((Float64 *) o1)[i];
0721 }
0722 SQUEEZE_FRAME(1);
0723 }
0724 break;
0725 }
0726
0727 case FC_LF_2_LU: {
0728 int i, n = frame_size[framep];
0729 o1 = &stack[frame[framep]];
0730 if ( n == 1 ) {
0731 SET_FRAME_TYPE( D_ULONG );
0732 *((UInt64 *) o1) = *((Float64 *) o1);
0733 } else {
0734 NEW_FRAME( D_ULONG, n, r);
0735 for ( i=0 ; i < n ; i++ ) {
0736 ((UInt64 *) r)[i] = ((Float64 *) o1)[i];
0737 }
0738 SQUEEZE_FRAME(1);
0739 }
0740 break;
0741 }
0742
0743 case FC_LF_2_I: {
0744 int i, n = frame_size[framep];
0745 o1 = &stack[frame[framep]];
0746 if ( n == 1 ) {
0747 SET_FRAME_TYPE( D_INT );
0748 *((Int32 *) o1) = *((Float64 *) o1);
0749 } else {
0750 NEW_FRAME( D_INT, n, r);
0751 for ( i=0 ; i < n ; i++ ) {
0752 ((Int32 *) r)[i] = ((Float64 *) o1)[i];
0753 }
0754 SQUEEZE_FRAME(1);
0755 }
0756 break;
0757 }
0758
0759 case FC_LF_2_LI: {
0760 int i, n = frame_size[framep];
0761 o1 = &stack[frame[framep]];
0762 if ( n == 1 ) {
0763 SET_FRAME_TYPE( D_LONG );
0764 *((Int64 *) o1) = *((Float64 *) o1);
0765 } else {
0766 NEW_FRAME( D_LONG, n, r);
0767 for ( i=0 ; i < n ; i++ ) {
0768 ((Int64 *) r)[i] = ((Float64 *) o1)[i];
0769 }
0770 SQUEEZE_FRAME(1);
0771 }
0772 break;
0773 }
0774
0775 case FC_LF_2_F: {
0776 int i, n = frame_size[framep];
0777 o1 = &stack[frame[framep]];
0778 if ( n == 1 ) {
0779 SET_FRAME_TYPE( D_FLOAT );
0780 *((Float32 *) o1) = *((Float64 *) o1);
0781 } else {
0782 NEW_FRAME( D_FLOAT, n, r);
0783 for ( i=0 ; i < n ; i++ ) {
0784 ((Float32 *) r)[i] = ((Float64 *) o1)[i];
0785 }
0786 SQUEEZE_FRAME(1);
0787 }
0788 break;
0789 }
0790
0791 case FC_LF_2_LF: {
0792 int i, n = frame_size[framep];
0793 o1 = &stack[frame[framep]];
0794 if ( n == 1 ) {
0795 SET_FRAME_TYPE( D_DOUBLE );
0796 *((Float64 *) o1) = *((Float64 *) o1);
0797 } else {
0798 NEW_FRAME( D_DOUBLE, n, r);
0799 for ( i=0 ; i < n ; i++ ) {
0800 ((Float64 *) r)[i] = ((Float64 *) o1)[i];
0801 }
0802 SQUEEZE_FRAME(1);
0803 }
0804 break;
0805 }