#include #include "DEXP.h" void eval_dexp(int a, int t1, int t2, uint16_t* espo){ // calcola la differenza punto punto fra due exp. decrescenti con medesima ampiezza // a: ampiezza dell'exp. // t1: valore di exp(-1/tau1)*1024 // t1: valore di exp(-1/tau2)*1024 uint32_t tmp1, tmp2; uint16_t prec1, prec2; // in posizione 0 imposta 0 (hanno stessa ampiezza prec1 = (uint16_t)a; prec2 = (uint16_t)a; espo[0] = 0; for(int i=1; i<100; i++){ tmp1 = (uint32_t) prec1 * t1; tmp2 = (uint32_t) prec2 * t2; espo[i] = (uint16_t) ((tmp1-tmp2) >> 10); prec1 = tmp1 >> 10; prec2 = tmp2 >> 10; } }