Double integration library
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Thu Jul 28 2022 22:04:10 by
1.7.2
SDI