#include "kernels.h" #include double native_signal(double t, double start, int stages, int cyclic, const double *data) { double elapsed = fmax(t-start,0), duration = 0, offset = 0; for (int i=0;i 0) elapsed = fmod(elapsed,duration); for (int i=0;i 0 && event <= t) { double cycle=fmax(0,floor((t-event)/duration)+1); event += cycle*duration; if (event <= t) event += duration; } if (event > t) result=fmin(result,event); offset += data[16+i]; } return result; }