Main Page | Namespace List | Class List | File List | Class Members | File Members

MyBlas.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2004 by Claudio Attaccalite                             *
00003  *   claudio@freescience.info                                              *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 
00022 #ifndef MyBlas
00023 #define MyBlas myblas.h
00024 #if HAVE_CONFIG
00025 #include <config.h>
00026 #endif
00027 
00028 #include <iostream>
00029 #include "DMatrix.h"
00030 #include "DVector.h"
00031 #include "SMatrix.h"
00032 #include "SVector.h"
00033 #include "ZMatrix.h"
00034 #include "ZVector.h"
00035 
00036 /************* Double precision Blas **************/
00037 
00038 
00041 void dgemm(const double alpha,DMatrix &A,DMatrix &B,const double beta,DMatrix &C);
00042 
00045 void dgemm_n_t(const double alpha,DMatrix &A,DMatrix &B,const double beta,DMatrix &C);
00046 
00049 void dgemm_t_t(const double alpha,DMatrix &A,DMatrix &B,const double beta,DMatrix &C);
00050 
00053 void dgemm_t_n(const double alpha,DMatrix &A,DMatrix &B,const double beta,DMatrix &C);
00054 
00057 void dgemv(double alpha,DMatrix &A,DVector &X,  double beta,DVector &Y);
00058 
00061 void dgemv_t(double alpha,DMatrix &A,DVector &X, double beta,DVector &Y);
00062 
00063 /********* Single Precision BLAS **********/
00064 
00067 void sgemm(const float alpha,SMatrix &A,SMatrix &B,const float beta,SMatrix &C);
00068 
00071 void sgemm_n_t(const float alpha,SMatrix &A,SMatrix &B,const float beta,SMatrix &C);
00072 
00075 void sgemm_t_t(const float alpha,SMatrix &A,SMatrix &B,const float beta,SMatrix &C);
00076 
00079 void sgemm_t_n(const float alpha,SMatrix &A,SMatrix &B,const float beta,SMatrix &C);
00080 
00083 void sgemv(const float alpha,SMatrix &A,SVector &X, const float beta,SVector &Y);
00084 
00087 void sgemv_t(const float alpha,SMatrix &A,SVector &X, const float beta,SVector &Y);
00088 
00089 
00090 /***************** Complex BLAS ***********************/
00093 void zgemv(complex<double> alpha,ZMatrix &A,ZVector &X,complex<double> beta,ZVector &Y);
00094 
00095 void zgemv_t(complex<double> alpha,ZMatrix &A,ZVector &X,complex<double> beta,ZVector &Y);
00096 
00097 void zgemv_c(complex<double> alpha,ZMatrix &A,ZVector &X,complex<double> beta,ZVector &Y);
00098 
00099 
00102 void zgemm(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00103 
00104 void zgemm_n_t(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00105 
00106 void zgemm_t_t(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00107 
00108 void zgemm_t_n(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00109 
00110 void zgemm_n_c(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00111 
00112 void zgemm_c_c(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00113 
00114 void zgemm_c_n(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00115 
00116 void zgemm_t_c(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00117 
00118 void zgemm_c_t(const complex<double> alpha,ZMatrix &A,ZMatrix &B,const complex<double> beta,ZMatrix &C);
00119 
00120 #endif

Generated on Wed Aug 16 19:03:50 2006 for MyLapack by  doxygen 1.4.4