From: [email-masked]
Date: Thu, 1 Oct 87 11:20:25 cdt

c++    a header file contributed by Peter Lamb, ETH Zurich
#ifndef LINPACKH
#define LINPACKH

//	Partial interface to LINPACK routines for C++
//
//	Link program using the following arm-waving:
//
//		CC -o outfile objects -llinpack -lF77
//
//	In some places the BLAs are kept in a seperate library. In that
//	case the BLA library should go between -llinpack and -lF77
//
//
//
//	Single values are passed by reference, arrays by pointer
//

//	General Matrices
//	Direct FORTRAN interface

extern void
sgeco_(float* a, int& lda, int& n, int* ipvt, float& rcond, float* z);

extern void
sgefa_(float* a, int& lda, int& n, int* ipvt, int& info);

extern void
sgesl_(float* a, int& lda, int& n, int* ipvt, float* b, int& job);

extern void
sgedi_(float* a, int& lda, int& n, int* ipvt, float* det, float* work, int& job);

//	General Matrices
//	Renamed C++ interface

inline void
sgeco(float* a, int& lda, int& n, int* ipvt, float& rcond, float* z)
	{ sgeco_(a, lda, n, ipvt, rcond, z); }

inline void
sgefa(float* a, int& lda, int& n, int* ipvt, int& info)
	{ sgefa_(a, lda, n, ipvt, info); }

inline void
sgesl(float* a, int& lda, int& n, int* ipvt, float* b, int& job)
	{ sgesl_(a, lda, n, ipvt, b, job); }

inline void
sgedi(float* a, int& lda, int& n, int* ipvt, float* det, float* work, int& job)
	{ sgedi_(a, lda, n, ipvt, det, work, job); }

#endif LINPACKH