Double integration library

Dependents:   Lab_1-2_dec

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers matrix_math.h Source File

matrix_math.h

00001 void matrix_mult(double* matrixA, double num, int rows, int columns); //7*rows*columns operations
00002 void matrix_mult(double* matrixA, double* matrixB, double* matrixR, int rowsA, int columnsA, int columnsB); //8*rowsA*columnsA*columnsB operations
00003 void matrix_sum(double* matrixA, double* matrixB, int rows, int columns); //9*rows*columns operations
00004 void matrix_copy(double* matrixA, double* matrixB, int rows, int columns); //6*rows*columns operations
00005 
00006 void matrix_mult(double* matrixA, double num, int rows, int columns){
00007     for(int i=0;i<rows;i++){
00008         for(int j=0;j<columns;j++){
00009             *(matrixA+i*columns+j)=*(matrixA+i*columns+j)*num;
00010         }
00011     }
00012     return;
00013 }
00014 
00015 void matrix_mult(double* matrixA, double* matrixB, double* matrixR, int rowsA, int columnsA, int columnsB){
00016     int tmp=0;
00017     
00018     for(int i=0;i<rowsA;i++){
00019         for(int j=0;j<columnsB;j++){
00020             tmp=0;
00021             for(int k=0;k<columnsA;k++){
00022                 tmp=tmp+(*(matrixA+i*columnsA+k))*(*(matrixB+k*columnsB+j));
00023             }
00024             *(matrixR+i*columnsB+j)=tmp;
00025         }
00026     }
00027     return;
00028 }
00029 
00030 void matrix_sum(double* matrixA, double* matrixB, int rows, int columns){
00031     for(int i=0;i<rows;i++){
00032         for(int j=0;j<columns;j++){
00033             *(matrixA+i*columns+j)=(*(matrixA+i*columns+j))+(*(matrixB+i*columns+j));
00034         }
00035     }
00036     return;
00037 }
00038 
00039 void matrix_copy(double* matrixA, double* matrixB, int rows, int columns){
00040     for(int i=0;i<rows;i++){
00041         for(int j=0;j<columns;j++){
00042             *(matrixA+i*columns+j)=(*(matrixB+i*columns+j));
00043         }
00044     }
00045     return;
00046 }