[Math-atlas-commits] CVS: AtlasBase/Clint atlas-fbin.base, 1.4, 1.5 atlas-lvl2.base, 1.95, 1.96 atl
Brought to you by:
rwhaley,
tonyc040457
From: R. C. W. <rw...@us...> - 2010-02-23 17:22:40
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10893/Clint Modified Files: atlas-fbin.base atlas-lvl2.base atlas-make.base Log Message: Index: atlas-fbin.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-fbin.base,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** atlas-fbin.base 21 Dec 2009 15:22:52 -0000 1.4 --- atlas-fbin.base 23 Feb 2010 17:21:39 -0000 1.5 *************** *** 1790,1793 **** --- 1790,1835 ---- end program transtest + @ROUT ger2test + program ger2test + implicit none + integer, parameter :: M=100, N=200 + @(type) :: A(M,N), X(M,1), W(M,1), Y(N,1), Z(N,1), ans(M,N), comp(M,N) + @TYPE SCPLX DXPLX ` @(utyp) R(M,N), I(M,N)` + @(type), parameter :: alpha=10.0, beta=0.5 + + @TYPE SREAL DREAL + call random_number(A) + call random_number(X) + call random_number(W) + call random_number(Y) + call random_number(Z) + @TYPE SCPLX DCPLX + call random_number(R) + call random_number(I) + A = cmplx(R,I) + call random_number(R(1:M,1)) + call random_number(I(1:M,1)) + X = complx(R(1:M,1), I(1:m,1)) + call random_number(R(1:M,1)) + call random_number(I(1:M,1)) + W = complx(R(1:M,1), I(1:m,1)) + call random_number(R(1,1:N)) + call random_number(I(1,1:N)) + Y = complx(R(1, 1:N), I(1, 1:N)) + call random_number(R(1,1:N)) + call random_number(I(1,1:N)) + Z = complx(R(1, 1:N), I(1, 1:N)) + @TYPE ! + ans = alpha * matmul(X,transpose(Y)) + beta * matmul(W, transpose(Z)) + A + comp = A; + call dger2(M, N, alpha, X, 1, Y, 1, beta, W, 1, Z, 1, comp, M); + ! call dger(M, N, alpha, X, 1, Y, 1, comp, M); + ! call dger(M, N, beta, W, 1, Z, 1, comp, M); + + + @TYPE SREAL DREAL ` print*, 'MAXDIFF =', maxval(abs(ans - comp))` + @TYPE SCPLX DCPLX ` print*, 'MAXDIFF =', maxval(abs(real(ans-comp))), maxval(abs(imag(ans-comp)))` + + end program ger2test @ROUT qrtranstest program qrtranstest Index: atlas-lvl2.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lvl2.base,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** atlas-lvl2.base 22 Feb 2010 16:31:59 -0000 1.95 --- atlas-lvl2.base 23 Feb 2010 17:21:39 -0000 1.96 *************** *** 3750,3753 **** --- 3750,3755 ---- #ifdef Conj_ Mjoin(PATL,moveConj)(N, alpha, Y, incY, y, 1); + #else + Mjoin(PATL,cpsc)(N, alpha, Y, incY, y, 1); #endif alpha = one; *************** *** 10694,10697 **** --- 10696,10704 ---- @multidef typ double float @whiledef pre d s + void ATL_@(pre)ger2 + (ATL_CINT M, ATL_CINT N, const @(typ) alpha, const @(typ) *X, + ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, const @(typ) beta, + const @(typ) *W, ATL_CINT incW, const @(typ) *Z, ATL_CINT incZ, + @(typ) *A, ATL_CINT lda); void ATL_@(pre)ger2k_Mlt16 (ATL_CINT M, ATL_CINT N, const @(typ) alpha, const @(typ) *X, *************** *** 10747,10750 **** --- 10754,10762 ---- @multidef typ double float @whiledef pre z c + void ATL_@(pre)ger2 + (ATL_CINT M, ATL_CINT N, const @(typ) *alpha, const @(typ) *X, + ATL_CINT incX, const @(typ) *Y, ATL_CINT incY, const @(typ) *beta, + const @(typ) *W, ATL_CINT incW, const @(typ) *Z, ATL_CINT incZ, + @(typ) *A, ATL_CINT lda); void ATL_@(pre)ger2k_Mlt16 (ATL_CINT M, ATL_CINT N, const @(typ) *alpha, const @(typ) *X, *************** *** 10856,10859 **** --- 10868,10876 ---- const @(typ) *X, const int incX, const @(typ) *Y, const int incY, @(typ) *A, const int lda); + void ATL_@(pre)ger2(const int M, const int N, const @(typ) alpha, + const @(typ) *X, const int incX, const @(typ) *Y, const int incY, + const @(typ) beta, + const @(typ) *W, const int incW, const @(typ) *Z, const int incZ, + @(typ) *A, const int lda); void ATL_@(pre)syr(const enum ATLAS_UPLO Uplo, const int N, const @(typ) alpha, const @(typ) *X, const int incX, @(typ) *A, const int lda); *************** *** 10894,10897 **** --- 10911,10926 ---- const @(typ) *X, const int incX, const @(typ) *Y, const int incY, @(typ) *A, const int lda); + void ATL_@(pre)ger2u(const int M, const int N, + const @(styp)alpha, const @(typ) *X, const int incX, + const @(typ) *Y, const int incY, + const @(styp)beta, const @(typ) *W, const int incW, + const @(typ) *Z, const int incZ, + @(typ) *A, const int lda); + void ATL_@(pre)ger2c(const int M, const int N, + const @(styp)alpha, const @(typ) *X, const int incX, + const @(typ) *Y, const int incY, + const @(styp)beta, const @(typ) *W, const int incW, + const @(typ) *Z, const int incZ, + @(typ) *A, const int lda); void ATL_@(pre)her(const enum ATLAS_UPLO Uplo, const int N, const @(typ) alpha, const @(typ) *X, const int incX, @(typ) *A, const int lda); Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.264 retrieving revision 1.265 diff -C2 -d -r1.264 -r1.265 *** atlas-make.base 22 Feb 2010 16:32:00 -0000 1.264 --- atlas-make.base 23 Feb 2010 17:21:56 -0000 1.265 *************** *** 2931,2935 **** @multidef typ DCPLX SCPLX DREAL SREAL @whiledef pre z c d s ! @whiledef rt qrtranstest transtest x@(pre)@(rt) : $(mySRCdir)/@(pre)@(rt).f90 $(LAPACKlib) $(ATLASlib) $(F77) $(F77FLAGS) -o $@ $(mySRCdir)/@(pre)@(rt).f90 \ --- 2931,2935 ---- @multidef typ DCPLX SCPLX DREAL SREAL @whiledef pre z c d s ! @whiledef rt qrtranstest transtest ger2test x@(pre)@(rt) : $(mySRCdir)/@(pre)@(rt).f90 $(LAPACKlib) $(ATLASlib) $(F77) $(F77FLAGS) -o $@ $(mySRCdir)/@(pre)@(rt).f90 \ |