intdgemm.c

Go to the documentation of this file.
00001 #include "stack-c.h"
00002 
00003 /* Usage:  C=dgemm(alfa,A,B,beta,C)   */
00004 
00005 extern int C2F(dgemm) __PARAMS((char *,char *,integer *,integer *,integer *,
00006                             double *,double *,integer *,double *,integer *,
00007                             double *,double *,integer *));
00008 
00009 int intdgemm(fname)
00010      char* fname;
00011 { 
00012   int lalfa,m1,n1,m,n,k;
00013   int mA,nA,lA, mB,nB,lB,m4,n4,lbeta,mC,nC,lC;
00014 
00015   int minlhs=1, minrhs=5, maxlhs=1, maxrhs=5;
00016 
00017   CheckRhs(minrhs,maxrhs) ;
00018   CheckLhs(minlhs,maxlhs) ;
00019   
00020   GetRhsVar(1,"d", &m1,&n1,&lalfa);   /*      alpha */
00021   CheckScalar(1, m1, n1);
00022 
00023   GetRhsVar(2,"d", &mA,&nA,&lA);      /*      A     */
00024   GetRhsVar(3,"d", &mB,&nB,&lB);      /*      B     */
00025 
00026   GetRhsVar(4,"d", &m4,&n4,&lbeta);   /*      beta */
00027   CheckScalar(4, m4, n4);
00028 
00029   GetRhsVar(5,"d", &mC,&nC,&lC);      /*      C     */
00030 
00031   m=mA;  n=nB;
00032   if(nA != mB || mA != mC || nB != nC ) Scierror(999,"%f: invalid matrix dims \r\n",fname);
00033 
00034   k=nA;
00035   C2F(dgemm)("n","n",&m ,&n ,&k,stk(lalfa),
00036              stk(lA),&mA ,stk(lB),&mB ,stk(lbeta) ,stk(lC),&mC);
00037   /*      Return C (#5) */
00038   LhsVar(1) = 5;
00039   return(0);
00040 }
00041 
00042 
00043 

Generated on Sun Mar 4 15:03:58 2007 for Scilab [trunk] by  doxygen 1.5.1