#include #include #include "matr.h" int main() { const int cicli = 100000000; int i,ini; using spazio_matrici::Matrix; using spazio_matrici::Matrice; srand(time(NULL)); Matrix Mx1,Mx2,Mx3; Matrice Me1(Mx1),Me2(Mx2),Me3(Mx3); Matrix Mx(false); cout << "Tempo impiegato con le operazioni ottimizzate: " << flush; ini = time(NULL); for (i=0; i < cicli; i++) Mx = Mx1*Mx2+Mx3; cout << time(NULL) - ini << " secondi\n"; Matrice Me; cout << "Tempo impiegato con le operazioni non ottimizzate: " << flush; ini = time(NULL); for (i=0; i < cicli; i++) Me = Me1*Me2+Me3; cout << time(NULL) - ini << " secondi\n"; cout << "Valori medi: Mx = " << Mx << " Me = " << Me << "\n\n\n"; cout << "Numero oggetti Matrix creati: " << Matrix::nog << '\n'; cout << "Numero operazioni Matrix: " << Matrix::nop << "\n\n"; cout << "Numero oggetti Matrice creati di default: " << Matrice::def << '\n'; cout << "Numero oggetti Matrice creati per copia da Matrix: " << Matrice::cmx << '\n'; cout << "Numero oggetti Matrice creati per copia : " << Matrice::cop << '\n'; cout << "Numero oggetti Matrice assegnati: " << Matrice::ass << '\n'; cout << "Numero moltiplicazioni Matrice: " << Matrice::mul << '\n'; cout << "Numero addizioni Matrice: " << Matrice::sum << "\n\n\n"; return 0; }