#include "scicos_block.h"#include <math.h>Include dependency graph for mswitch.c:

Go to the source code of this file.
Defines | |
| #define | max(a, b) ((a) >= (b) ? (a) : (b)) |
| #define | min(a, b) ((a) <= (b) ? (a) : (b)) |
Functions | |
| void | mswitch (scicos_block *block, int flag) |
| void mswitch | ( | scicos_block * | block, | |
| int | flag | |||
| ) |
Definition at line 9 of file mswitch.c.
References i, scicos_block::inptr, scicos_block::insz, int, scicos_block::ipar, j, max, min, scicos_block::nin, and scicos_block::outptr.
00010 { 00011 int i,j; 00012 i=block->ipar[1]; 00013 if (i==0) { 00014 if (*block->inptr[0]>0) { 00015 j=(int)floor(*block->inptr[0]); 00016 }else{ 00017 j=(int)ceil(*block->inptr[0]); 00018 } 00019 }else if (i==1) { 00020 if (*block->inptr[0]>0) { 00021 j=(int)floor(*block->inptr[0]+.5); 00022 }else{ 00023 j=(int)ceil(*block->inptr[0]-.5); 00024 } 00025 }else if (i==2) { 00026 j=(int)ceil(*block->inptr[0]); 00027 }else if (i==3) { 00028 j=(int)floor(*block->inptr[0]); 00029 } 00030 j=j+1-block->ipar[0]; 00031 j=max(j,1); 00032 j=min(j,block->nin-1); 00033 for (i=0;i<block->insz[j];i++) { 00034 block->outptr[0][i]=block->inptr[j][i]; 00035 } 00036 }
1.5.1