cta_f77lapack.h

Go to the documentation of this file.
00001 /*
00002 COSTA: Problem solving environment for data assimilation
00003 Copyright (C) 2005  Nils van Velzen
00004 
00005 This library is free software; you can redistribute it and/or
00006 modify it under the terms of the GNU Lesser General Public
00007 License as published by the Free Software Foundation; either
00008 version 2.1 of the License, or (at your option) any later version.
00009 
00010 This library 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 GNU
00013 Lesser General Public License for more details.
00014 
00015 You should have received a copy of the GNU Lesser General Public
00016 License along with this library; if not, write to the Free Software
00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 */
00019 
00020 /**
00021 \file  cta_f77lapack.h
00022 \brief Package of internally used functions for C/FORTRAN compatibility.
00023 */
00024 
00025 #ifndef CTA_F77LAPACK_H
00026 #define CTA_F77LAPACK_H
00027 #include "cta_system.h"
00028 
00029 /*------------------*/
00030 /* Single precision */
00031 /*------------------*/
00032 
00033 #define SGESV_F77 F77_FUNC(sgesv,SGESV)
00034 #ifdef __cplusplus
00035 extern "C" /* prevent C++ name mangling */
00036 #endif
00037 CTAEXPORT void SGESV_F77(int *n, int *nrhs, float *A, int *lda, int *ipiv,
00038                float *B, int *ldb, int *info);
00039 
00040 #define SGETRS_F77 F77_FUNC(sgetrs,SGETRS)
00041 #ifdef __cplusplus
00042 extern "C" /* prevent C++ name mangling */
00043 #endif
00044 CTAEXPORT void SGETRS_F77(char *trans, int *n, int *nrhs, float *A, int *lda, int *ipiv,
00045                float *B, int *ldb, int *info, int lentrans);
00046 
00047 #define SGEEV_F77 F77_FUNC(sgeev,SGEEV)
00048 #ifdef __cplusplus
00049 extern "C" /* prevent C++ name mangling */
00050 #endif
00051 CTAEXPORT void SGEEV_F77( char *JOBVL, char *JOBVR, int *N, float *A,
00052                           int *LDA, float *WR, float *WI, float *VL,
00053                           int *LDVL, float *VR, int *LDVR, 
00054                           float *WORK, int *LWORK, int *INFO);
00055 
00056 /*------------------*/
00057 /* Double precision */
00058 /*------------------*/
00059 #define DGESV_F77 F77_FUNC(dgesv,DGESV)
00060 #ifdef __cplusplus
00061 extern "C" /* prevent C++ name mangling */
00062 #endif
00063 CTAEXPORT void DGESV_F77(int *n, int *nrhs, double *A, int *lda, int *ipiv,
00064                double *B, int *ldb, int *info);
00065 
00066 #define DGETRS_F77 F77_FUNC(dgetrs,DGETRS)
00067 #ifdef __cplusplus
00068 extern "C" /* prevent C++ name mangling */
00069 #endif
00070 CTAEXPORT void DGETRS_F77(char *trans, int *n, int *nrhs, double *A, int *lda, int *ipiv,
00071                 double *B, int *ldb, int *info, int lentrans);
00072 
00073 #define DPOSV_F77 F77_FUNC(dposv,DPOSV)
00074 #ifdef __cplusplus
00075 extern "C" /* prevent C++ name mangling */
00076 #endif
00077 CTAEXPORT void DPOSV_F77(char *uplo, int *n, int *nrhs, double *A, int *lda, double *B, 
00078                int *ldb, int *info);
00079 
00080 #define DLASRT_F77 F77_FUNC(dlasrt,DLASRT)
00081 #ifdef __cplusplus
00082 extern "C" /* prevent C++ name mangling */
00083 #endif
00084 CTAEXPORT void DLASRT_F77(char *ID, int *n, double *D, int *info, int lenid);
00085 
00086 #define DGEEV_F77 F77_FUNC(dgeev,DGEEV)
00087 #ifdef __cplusplus
00088 extern "C" /* prevent C++ name mangling */
00089 #endif
00090 CTAEXPORT void DGEEV_F77( char *JOBVL, char *JOBVR, int *N, double *A,
00091                           int *LDA, double *WR, double *WI, double *VL,
00092                           int *LDVL, double *VR, int *LDVR, 
00093                           double *WORK, int *LWORK, int *INFO);
00094 
00095 #endif
00096 
00097 
00098 
00099 
00100 
00101 

Generated on Mon Apr 6 14:05:58 2009 for COSTA by  doxygen 1.5.2