// matematica.c # include "alfa.h" // Tabelle per seno e coseno. double tabcos[3600], tabsen[3600]; // Creazione delle tabelle per seno e coseno. void Creatabtrig () {int k; double x; Double C,S; for (k=0,C=tabcos,S=tabsen;k<3600;k++,C++,S++) {x=k*CMPid180/10; *C=cos(x); *S=sin(x);}} // Divisione von resto di numeri reali. double Frgd (double a, double b) {return floor(a/b);} // Divisione e resto simultaneamente. void Frgder (double a, double b, Double Q, Double R) {double q=*Q=floor(a/b); *R=a-b*q;} // Resto nella divisione di due numeri reali. double Frgr (double a, double b) {return a-b*floor(a/b);} // Coseno per gradi. double Ftcg (double x) {return cos(x*CMPid180);} // Coseno per gradi da tabella. double Ftcgt (double x) {x=Frgr(x,360)*10; return tabcos[lrint(x)];} // Seno per gradi. double Ftsg (double x) {return sin(x*CMPid180);} // Seno per gradi da tabella. double Ftsgt (double x) {x=Frgr(x,360)*10; return tabsen[lrint(x)];} // Prodotto di Hadamard di due vettori. Double Hadamard (Double X, int m, Double Y) {int k; Double P=calloc(m,sizeof(double)),U; for (k=0,U=P;k