#include "scicos_block4.h" /* Copyright INRIA * Scicos block simulator * event delay with discrete counter */ #if WIN32 #define NULL 0 #endif void evtdly4(scicos_block *block,int flag) { double t; long long int *i; switch(flag) { /* init */ case 4 : {/* the workspace is used to store discrete counter value */ if ((*block->work=scicos_malloc(sizeof(long long int)))==NULL) { set_block_error(-16); return; } i=*block->work; (*i)=0; break; } /* event date computation */ case 3 : { i=*block->work; t=get_scicos_time(); (*i)++; /*increase counter*/ block->evout[0]=block->rpar[1]+ \ (*i)*block->rpar[0]-t; break; } /* finish */ case 5 : { scicos_free(*block->work); /*free the workspace*/ break; } default : break; } }