eigen/bench/btl/libs/f77/dmxm.f.mfr
Gael Guennebaud 28539e7597 imported a reworked version of BTL (Benchmark for Templated Libraries).
the modifications to initial code follow:
* changed build system from plain makefiles to cmake
* added eigen2 (4 versions: vec/novec and fixed/dynamic), GMM++, MTL4 interfaces
* added "transposed matrix * vector" product action
* updated blitz interface to use condensed products instead of hand coded loops
* removed some deprecated interfaces
* changed default storage order to column major for all libraries
* new generic bench timer strategy which is supposed to be more accurate
* various code clean-up
2008-07-09 14:04:48 +00:00

37 lines
994 B
Plaintext

SUBROUTINE DMXM(A,N,B,M,C,L)
**
** C = A * B
** A ET B MATRICES A(N,M) B(M,L) ==> C(N,L)
**
*>A PREMIERE MATRICE
*>N PREMIERE DIMENSION DE A ET DE C
*>B DEUXIEME MATRICE
*>M DEUXIEME DIMENSION DE A ET PERMIERE DE B
*<C MATRICE PRODUIT DE A ET DE B
*>L DEUXIEME DIMENSION DE B ET DE C
*A R. SANCHEZ ( EARLY WINTER 1987 )
*V M.F. ROBEAU
*M AM BAUDRON - AVRIL 94
*: ERREUR DANS L'APPEL A L'UTILITAIRE SGEMM
*: APPEL A L'UTILITAIRE SGEMM DE LA LIBRAIRIE BLAS SUR HP
*M AM BAUDRON - NOVEMBRE 1991
*: ERREUR ( SOMME SUR LES TERMES PAS FAITE )
*: APPEL A L'UTILITAIRE SGEMM DE LA LIBRAIRIE BLAS SUR RISC
*M AM BAUDRON - MAI 1993
*: CHANGEMENT DES %IF LOCAL SUN MIPS SUITE A INTRODUCTION VERSION IBM
REAL*8 A(N,M),B(M,L),C(N,L),R
DO 5 J=1,L
DO 5 I=1,N
C(I,J)=0.
5 CONTINUE
DO 10 K=1,M
DO 20 J=1,L
R=B(K,J)
DO 20 I=1,N
C(I,J)=C(I,J)+A(I,K)*R
20 CONTINUE
10 CONTINUE
RETURN
END