[cig-commits] r4836 - in long/3D/Gale/trunk/src/StGermain: . Discretisation/Geometry/src

walter at geodynamics.org walter at geodynamics.org
Wed Oct 11 13:46:37 PDT 2006


Author: walter
Date: 2006-10-11 13:46:36 -0700 (Wed, 11 Oct 2006)
New Revision: 4836

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.h
Log:
 r2893 at earth:  boo | 2006-10-11 13:42:34 -0700
  r2809 at earth (orig r3797):  JulianGiordani | 2006-09-14 01:49:04 -0700
  
  Wrapping the non square matrix by non-square matrix function in a wrapper function which will first initialise the output matrix for the user.
  
  So
  NonSquareMatrix_MultiplicationByNonSquareMatrix has become
  NonSquareMatrix_CumulativeMultiplicationByNonSquareMatrix, which "won't" initialise the output matrix
  but the new function 
  NonSquareMatrix_MultiplicationByNonSquareMatrix "will" initialise the output matrix
  
  This change is similar to Kathleen's change to this file earlier today
  
  
 



Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2892
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3796
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2893
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3797

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.c	2006-10-11 20:46:34 UTC (rev 4835)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.c	2006-10-11 20:46:36 UTC (rev 4836)
@@ -571,16 +571,26 @@
 	}
 	return;
 }
+
+void NonSquareMatrix_MultiplicationByNonSquareMatrix( double **AMatrix, int rowDimA, int colDimA,
+					 double **BMatrix, int rowDimB, int colDimB, 
+					 double** resultMatrix ) {
+	int counter;
+	for( counter = 0 ; counter < rowDimA ; counter++ ) {
+		memset( resultMatrix[counter], 0, sizeof( double ) * colDimB );
+	}
+}
 /** This function multiplies 2 non square matrices. It requires the row and column 
 	dimensions for each matrix. Columns In Matrix A = Rows In Matrix B
 	resultMatrix_ik = AMatrix_ij x BMatrix_jk */
-void NonSquareMatrix_MultiplicationByNonSquareMatrix( double **AMatrix, int rowDimA, int colDimA,
+void NonSquareMatrix_CumulativeMultiplicationByNonSquareMatrix( double **AMatrix, int rowDimA, int colDimA,
 					 double **BMatrix, int rowDimB, int colDimB, 
 					 double** resultMatrix ) {
 			
 	int row_I, col_I; // location with resultMatrix 
 	int counter;      // counter which facilitates the multiplication of AMatrix and BMatrix
-    Stream* error = Journal_Register( ErrorStream_Type, "TensorMultMath" );
+	/** Error Checking Code */
+	Stream* error = Journal_Register( ErrorStream_Type, "TensorMultMath" );
 					 
 	if (colDimA != rowDimB) {
 		Journal_Firewall( False, error,
@@ -592,10 +602,11 @@
 				"In func '%s', Input matrices: %s %s, or Output matrix: %s is NULL \n", 
 			__func__, AMatrix, BMatrix, resultMatrix);
 	}
-	/* calculate result matrix */
+	/** End error checking code */
+	/** Calculate result matrix */
 	for( row_I = 0 ; row_I < rowDimA ; row_I++ ) {
 		for( col_I = 0 ; col_I < colDimB ; col_I++ ) {
-			/* resultMatrix[ row_I ][ col_I] = AMatrix_ij x BMatrix_jk */
+			/** resultMatrix[ row_I ][ col_I] = AMatrix_ij x BMatrix_jk */
 		       	for( counter = 0 ; counter < colDimA ; counter++ ) {
 				resultMatrix[ row_I ][ col_I ] += ( AMatrix[row_I][counter] * BMatrix[counter][col_I] );
 			}

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.h	2006-10-11 20:46:34 UTC (rev 4835)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/TensorMultMath.h	2006-10-11 20:46:36 UTC (rev 4836)
@@ -85,6 +85,10 @@
 					 double **BMatrix, int rowsInB, int colsInB, 
 					 double** resultMatrix );	
 
+void NonSquareMatrix_CumulativeMultiplicationByNonSquareMatrix( double **AMatrix, int rowDimA, int colDimA,
+					 double **BMatrix, int rowDimB, int colDimB, 
+					 double** resultMatrix );
+
 void NonSquareMatrix_MatrixVectorMultiplication( double** AMatrix, int rowsInA, int colsInA,
 		                               double* BVec, int rowsInB, double* resultVector );
 void NonSquareMatrix_CumulativeMatrixVectorMultiplication( double** AMatrix, int rowsInA, int colsInA,



More information about the cig-commits mailing list