matrices.h

00001 #ifndef MATRICES_H
00002 #define MATRICES_H
00003 /*
00004   _____ _____ __  __       _        _      
00005  / ____/ ____|  \/  |     | |      (_)     
00006 | (___| (___ | \  / | __ _| |_ _ __ ___  __
00007  \___ \\___ \| |\/| |/ _` | __| '__| \ \/ /
00008  ____) |___) | |  | | (_| | |_| |  | |>  < 
00009 |_____/_____/|_|  |_|\__,_|\__|_|  |_/_/\_\
00010 */
00011 #include <iostream> // pour std::cout
00012 #include <math.h>
00014 
00017 class SSMatrix
00018 {
00019 public :
00021 
00022         float ** _Values;
00024         int _NbLines;
00026         int _NbColumns;
00027         
00029 
00030         SSMatrix();
00032         SSMatrix(SSMatrix& M);
00034         SSMatrix(int Size, int InitMode);
00036         SSMatrix(int NbLines, int NbColumns, int InitMode);
00038         ~SSMatrix();
00040         Destroy();
00042         SSMatrix& Redim(int NbLines,int NbColumns);
00044         SSMatrix& Multiply(float scalar);
00046         bool Multiply(const SSMatrix& B);
00048         bool Multiply(const SSMatrix& B,const SSMatrix& C);
00050         SSMatrix& Kronecker(const SSMatrix& B);
00052         SSMatrix& Kronecker(const SSMatrix& B,const SSMatrix& C);
00054         Print();
00055 
00057         SSMatrix& operator=(const SSMatrix& m)
00058         {
00059                 Destroy();
00060                 _NbLines = m._NbLines;
00061                 _NbColumns = m._NbColumns;
00062                 _Values = new float*[_NbLines];
00063                 for (int i=0; i<_NbLines ; i++)
00064                 {
00065                         _Values[i] = new float[_NbColumns];
00066                         for (int j=0; j<_NbColumns ; j++)
00067                         {
00068                                 _Values[i][j] = m._Values[i][j];
00069                         }
00070                 }
00071                 return *this;
00072         };
00073 };
00074 #endif

Generated on Thu Sep 28 09:43:42 2006 by  doxygen 1.4.7