From research!ehg@anl-mcs.ARPA Thu Oct  1 11:25:56 1987
Return-Path: <research!ehg@anl-mcs.ARPA>
Received: from dasher.mcs.anl by rudolph.mcs.anl (3.2/SMI-3.2)
	id AA09528; Thu, 1 Oct 87 11:25:53 CDT
Received: from anl-mcs.ARPA by dasher.mcs.anl (3.2/SMI-3.2)
	id AA01671; Thu, 1 Oct 87 11:16:34 CDT
Received: by anl-mcs.ARPA (4.12/4.9)
	id AA28532; Thu, 1 Oct 87 11:20:25 cdt
Date: Thu, 1 Oct 87 11:20:25 cdt
From: research!ehg@anl-mcs.ARPA
Message-Id: <8710011620.AA28532@anl-mcs.ARPA>
From-: Eric Grosse (research!ehg, 201-582-5828)
To-: anl-mcs!dongarra
Apparently-To: dongarra
Status: RO

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

