added math_mul6x6 and math_mul3x3 to replacce more general calls to "dot_product"

This commit is contained in:
Christoph Kords 2009-03-05 14:37:59 +00:00
parent c9d43cccec
commit 599ba2453c
1 changed files with 47 additions and 5 deletions

View File

@ -532,10 +532,52 @@ end subroutine
END FUNCTION
!**************************************************************************
! matrix multiplication 3x3
! matrix multiplication 3x3 = 1
!**************************************************************************
PURE FUNCTION math_mul3x3(A,B)
use prec, only: pReal, pInt
implicit none
integer(pInt) i
real(pReal), dimension(3), intent(in) :: A,B
real(pReal), dimension(3), C
real(pReal) math_mul3x3
forall (i=1:3) C(i) = A(i)*B(i)
math_mul3x3 = sum(C)
return
END FUNCTION
!**************************************************************************
! matrix multiplication 6x6 = 1
!**************************************************************************
PURE FUNCTION math_mul6x6(A,B)
use prec, only: pReal, pInt
implicit none
integer(pInt) i
real(pReal), dimension(6), intent(in) :: A,B
real(pReal), dimension(6), C
real(pReal) math_mul6x6
forall (i=1:6) C(i) = A(i)*B(i)
math_mul6x6 = sum(C)
return
END FUNCTION
!**************************************************************************
! matrix multiplication 33x33 = 3x3
!**************************************************************************
PURE FUNCTION math_mul33x33(A,B)
@ -555,7 +597,7 @@ end subroutine
!**************************************************************************
! matrix multiplication 6x6
! matrix multiplication 66x66 = 6x6
!**************************************************************************
PURE FUNCTION math_mul66x66(A,B)
@ -575,7 +617,7 @@ end subroutine
!**************************************************************************
! matrix multiplication 6x6
! matrix multiplication 66x6 = 6
!**************************************************************************
PURE FUNCTION math_mul66x6(A,B)
@ -596,7 +638,7 @@ end subroutine
!**************************************************************************
! matrix multiplication 9x9
! matrix multiplication 99x99 = 9x9
!**************************************************************************
PURE FUNCTION math_mul99x99(A,B)