xref: /phasta/phSolver/incompressible/les.h (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen /****************************************************************************
2*59599516SKenneth E. Jansen **  Copyright (c) 1994-2003 ACUSIM Software, Inc.
3*59599516SKenneth E. Jansen **  All rights reserved.
4*59599516SKenneth E. Jansen **  This source code is confidential and may not be disclosed.
5*59599516SKenneth E. Jansen ****************************************************************************/
6*59599516SKenneth E. Jansen 
7*59599516SKenneth E. Jansen /*===========================================================================
8*59599516SKenneth E. Jansen **
9*59599516SKenneth E. Jansen ** "les.h":  Linear Equation Solvers.
10*59599516SKenneth E. Jansen **
11*59599516SKenneth E. Jansen ** Original: Farzin Shakib (Aug 94)
12*59599516SKenneth E. Jansen **===========================================================================
13*59599516SKenneth E. Jansen */
14*59599516SKenneth E. Jansen 
15*59599516SKenneth E. Jansen #ifndef	__LES_H__
16*59599516SKenneth E. Jansen #define	__LES_H__
17*59599516SKenneth E. Jansen 
18*59599516SKenneth E. Jansen /*===========================================================================
19*59599516SKenneth E. Jansen  *
20*59599516SKenneth E. Jansen  * Get the needed include files
21*59599516SKenneth E. Jansen  *
22*59599516SKenneth E. Jansen  *===========================================================================
23*59599516SKenneth E. Jansen  */
24*59599516SKenneth E. Jansen #include <ctype.h>
25*59599516SKenneth E. Jansen #include <errno.h>
26*59599516SKenneth E. Jansen #include <limits.h>
27*59599516SKenneth E. Jansen #include <math.h>
28*59599516SKenneth E. Jansen #include <stdarg.h>
29*59599516SKenneth E. Jansen #include <stdio.h>
30*59599516SKenneth E. Jansen #include <stdlib.h>
31*59599516SKenneth E. Jansen #include <string.h>
32*59599516SKenneth E. Jansen #include <time.h>
33*59599516SKenneth E. Jansen #include "usr.h"
34*59599516SKenneth E. Jansen 
35*59599516SKenneth E. Jansen /*===========================================================================
36*59599516SKenneth E. Jansen  *
37*59599516SKenneth E. Jansen  * Main data types
38*59599516SKenneth E. Jansen  *
39*59599516SKenneth E. Jansen  *===========================================================================
40*59599516SKenneth E. Jansen  */
41*59599516SKenneth E. Jansen typedef	int	Integer	;		/* integer type			*/
42*59599516SKenneth E. Jansen typedef	double	Real ;			/* real    type			*/
43*59599516SKenneth E. Jansen typedef	float	Float ;			/* float   type			*/
44*59599516SKenneth E. Jansen typedef	char*	String ;		/* string  type			*/
45*59599516SKenneth E. Jansen typedef	void*	Data ;			/* data    type			*/
46*59599516SKenneth E. Jansen typedef	void	Void ;			/* void    type			*/
47*59599516SKenneth E. Jansen 
48*59599516SKenneth E. Jansen #ifdef TRUE
49*59599516SKenneth E. Jansen #undef TRUE
50*59599516SKenneth E. Jansen #endif
51*59599516SKenneth E. Jansen #ifdef FALSE
52*59599516SKenneth E. Jansen #undef FALSE
53*59599516SKenneth E. Jansen #endif
54*59599516SKenneth E. Jansen 
55*59599516SKenneth E. Jansen typedef enum {
56*59599516SKenneth E. Jansen     FALSE = 0 ,
57*59599516SKenneth E. Jansen     TRUE  = 1
58*59599516SKenneth E. Jansen } Bool ;				/* boolean type			*/
59*59599516SKenneth E. Jansen 
60*59599516SKenneth E. Jansen /*===========================================================================
61*59599516SKenneth E. Jansen  *
62*59599516SKenneth E. Jansen  * Nil
63*59599516SKenneth E. Jansen  *
64*59599516SKenneth E. Jansen  *===========================================================================
65*59599516SKenneth E. Jansen  */
66*59599516SKenneth E. Jansen #define	Nil(T)	((T)NULL)
67*59599516SKenneth E. Jansen 
68*59599516SKenneth E. Jansen /*===========================================================================
69*59599516SKenneth E. Jansen  *
70*59599516SKenneth E. Jansen  * "Les":  Acusim LES data structure
71*59599516SKenneth E. Jansen  *
72*59599516SKenneth E. Jansen  *===========================================================================
73*59599516SKenneth E. Jansen  */
74*59599516SKenneth E. Jansen typedef struct _Les* LesHd ;
75*59599516SKenneth E. Jansen 
76*59599516SKenneth E. Jansen /*===========================================================================
77*59599516SKenneth E. Jansen  *
78*59599516SKenneth E. Jansen  * Equation type
79*59599516SKenneth E. Jansen  *
80*59599516SKenneth E. Jansen  *===========================================================================
81*59599516SKenneth E. Jansen  */
82*59599516SKenneth E. Jansen #define	LES_EQN_FLOW	1			/* Solve flow vel/pres	*/
83*59599516SKenneth E. Jansen #define	LES_EQN_SCLR	2			/* Solve multi-scalar	*/
84*59599516SKenneth E. Jansen 
85*59599516SKenneth E. Jansen /*===========================================================================
86*59599516SKenneth E. Jansen  *
87*59599516SKenneth E. Jansen  * Parameter names
88*59599516SKenneth E. Jansen  *
89*59599516SKenneth E. Jansen  *===========================================================================
90*59599516SKenneth E. Jansen  */
91*59599516SKenneth E. Jansen #define	LES_ACT_PRJS		1	/* No. active projection vecs.	*/
92*59599516SKenneth E. Jansen #define	LES_ACT_PRES_PRJS	2	/* No. act. pres. prj. vecs.	*/
93*59599516SKenneth E. Jansen #define	LES_PRJ_VEC_ID		3	/* Prj vec srcId into permVec	*/
94*59599516SKenneth E. Jansen #define	LES_PRES_PRJ_VEC_ID	4	/* Pres. Prj vec srcId 		*/
95*59599516SKenneth E. Jansen 
96*59599516SKenneth E. Jansen /*===========================================================================
97*59599516SKenneth E. Jansen  *
98*59599516SKenneth E. Jansen  * Pointers
99*59599516SKenneth E. Jansen  *
100*59599516SKenneth E. Jansen  *===========================================================================
101*59599516SKenneth E. Jansen  */
102*59599516SKenneth E. Jansen #define	LES_RES_PNT		100000		/* residual pointer	*/
103*59599516SKenneth E. Jansen #define	LES_SOL_PNT		200000		/* solution pointer	*/
104*59599516SKenneth E. Jansen 
105*59599516SKenneth E. Jansen /*===========================================================================
106*59599516SKenneth E. Jansen  *
107*59599516SKenneth E. Jansen  * Acusim callable funtions in C
108*59599516SKenneth E. Jansen  *
109*59599516SKenneth E. Jansen  *===========================================================================
110*59599516SKenneth E. Jansen  */
111*59599516SKenneth E. Jansen LesHd		lesNew(			char*		lmHost,
112*59599516SKenneth E. Jansen 					Integer		lmPort,
113*59599516SKenneth E. Jansen 					Integer*	lmNum,
114*59599516SKenneth E. Jansen 					Integer		eqnType,
115*59599516SKenneth E. Jansen 					Integer		nDofs,
116*59599516SKenneth E. Jansen 					Integer		minIters,
117*59599516SKenneth E. Jansen 					Integer		maxIters,
118*59599516SKenneth E. Jansen 					Integer		nKvecs,
119*59599516SKenneth E. Jansen 					Integer		prjFlag,
120*59599516SKenneth E. Jansen 					Integer		nPrjs,
121*59599516SKenneth E. Jansen 					Integer		presPrjFlag,
122*59599516SKenneth E. Jansen 					Integer		nPresPrjs,
123*59599516SKenneth E. Jansen 					Integer		presPrecFlag,
124*59599516SKenneth E. Jansen 					Real		tol,
125*59599516SKenneth E. Jansen 					Real		presTol,
126*59599516SKenneth E. Jansen 					Integer		verbose,
127*59599516SKenneth E. Jansen 					Real*		stats,
128*59599516SKenneth E. Jansen 					Integer*	nPermDims,
129*59599516SKenneth E. Jansen 					Integer*	nTmpDims	) ;
130*59599516SKenneth E. Jansen Void		lesFree(		LesHd		lesHd		) ;
131*59599516SKenneth E. Jansen Void		lesSolve(		LesHd		lesHd,
132*59599516SKenneth E. Jansen 					       UsrHd		usrHd		) ;
133*59599516SKenneth E. Jansen Real		lesGetPar(		LesHd		lesHd,
134*59599516SKenneth E. Jansen 					        Integer		parName		) ;
135*59599516SKenneth E. Jansen Void		lesSetPar(		LesHd		lesHd,
136*59599516SKenneth E. Jansen 					        Integer		parName,
137*59599516SKenneth E. Jansen 					        Real		parVal		) ;
138*59599516SKenneth E. Jansen 
139*59599516SKenneth E. Jansen /*===========================================================================
140*59599516SKenneth E. Jansen  *
141*59599516SKenneth E. Jansen  * Fortran calling convention
142*59599516SKenneth E. Jansen  *
143*59599516SKenneth E. Jansen  *===========================================================================
144*59599516SKenneth E. Jansen  */
145*59599516SKenneth E. Jansen #if	defined(ACUSIM_SGI)     ||	defined(ACUSIM_SGI64)	|| \
146*59599516SKenneth E. Jansen 	defined(ACUSIM_HAL)	||	defined(ACUSIM_SUN)	|| \
147*59599516SKenneth E. Jansen 	defined(ACUSIM_ALPHA)	||	defined(ACUSIM_LINUX)	|| \
148*59599516SKenneth E. Jansen 	defined(ACUSIM_LINUXIPF)
149*59599516SKenneth E. Jansen #define	fLesNew		flesnew_
150*59599516SKenneth E. Jansen #define	fLesFree	flesfree_
151*59599516SKenneth E. Jansen #define	fLesSolve	flessolve_
152*59599516SKenneth E. Jansen #elif	defined(ACUSIM_HP) || defined(ibm)
153*59599516SKenneth E. Jansen #define	fLesNew		flesnew
154*59599516SKenneth E. Jansen #define	fLesFree	flesfree
155*59599516SKenneth E. Jansen #define	fLesSolve	flessolve
156*59599516SKenneth E. Jansen #elif	defined(ACUSIM_NT)
157*59599516SKenneth E. Jansen #define	fLesNew		FLESNEW
158*59599516SKenneth E. Jansen #define	fLesFree	FLESFREE
159*59599516SKenneth E. Jansen #define	fLesSolve	FLESSOLVE
160*59599516SKenneth E. Jansen #else /* dummy */
161*59599516SKenneth E. Jansen #define	fLesNew		fLesNewXX
162*59599516SKenneth E. Jansen #define	fLesFree	fLesFreeXX
163*59599516SKenneth E. Jansen #define	fLesSolve	fLesSolveXX
164*59599516SKenneth E. Jansen #endif
165*59599516SKenneth E. Jansen 
166*59599516SKenneth E. Jansen /*===========================================================================
167*59599516SKenneth E. Jansen  *
168*59599516SKenneth E. Jansen  * Acusim callable funtions in Fortran
169*59599516SKenneth E. Jansen  *
170*59599516SKenneth E. Jansen  *===========================================================================
171*59599516SKenneth E. Jansen  */
172*59599516SKenneth E. Jansen 
173*59599516SKenneth E. Jansen Void		fLesNew(		Integer*	lesId,
174*59599516SKenneth E. Jansen 					char*		lmhost,
175*59599516SKenneth E. Jansen 					Integer*	lmport,
176*59599516SKenneth E. Jansen 					Integer*	lmNum,
177*59599516SKenneth E. Jansen 					Integer*	eqnType,
178*59599516SKenneth E. Jansen 					Integer*	nDofs,
179*59599516SKenneth E. Jansen 					Integer*	minIters,
180*59599516SKenneth E. Jansen 					Integer*	maxIters,
181*59599516SKenneth E. Jansen 					Integer*	nKvecs,
182*59599516SKenneth E. Jansen 					Integer*	prjFlag,
183*59599516SKenneth E. Jansen 					Integer*	nPrjs,
184*59599516SKenneth E. Jansen 					Integer*	presPrjFlag,
185*59599516SKenneth E. Jansen 					Integer*	nPresPrjs,
186*59599516SKenneth E. Jansen 					Integer*	presPrecFlag,
187*59599516SKenneth E. Jansen 					Real*		tol,
188*59599516SKenneth E. Jansen 					Real*		presTol,
189*59599516SKenneth E. Jansen 					Integer*	verbose,
190*59599516SKenneth E. Jansen 					Real*		stats,
191*59599516SKenneth E. Jansen 					Integer*	nPermDims,
192*59599516SKenneth E. Jansen 					Integer*	nTmpDims,
193*59599516SKenneth E. Jansen 					Integer		len_lmHost	) ;
194*59599516SKenneth E. Jansen Void		fLesFree(		Integer*	lesId		) ;
195*59599516SKenneth E. Jansen Void		fLesSolve(		Integer*	lesId,
196*59599516SKenneth E. Jansen 					UsrHd		usrHd		) ;
197*59599516SKenneth E. Jansen 
198*59599516SKenneth E. Jansen /*===========================================================================
199*59599516SKenneth E. Jansen  *
200*59599516SKenneth E. Jansen  * Functions to be provided by user
201*59599516SKenneth E. Jansen  *
202*59599516SKenneth E. Jansen  *===========================================================================
203*59599516SKenneth E. Jansen  */
204*59599516SKenneth E. Jansen Void		lesPrepDiag(		UsrHd		usrHd		) ;
205*59599516SKenneth E. Jansen Void		lesDiagScaleCp(		UsrHd		usrHd,
206*59599516SKenneth E. Jansen 					Integer		srcId,
207*59599516SKenneth E. Jansen 					Integer		dstId,
208*59599516SKenneth E. Jansen 					Integer		nSrcDims,
209*59599516SKenneth E. Jansen 					Integer		srcOff,
210*59599516SKenneth E. Jansen 					Integer		nDstDims,
211*59599516SKenneth E. Jansen 					Integer		dstOff,
212*59599516SKenneth E. Jansen 					Integer		diagOff,
213*59599516SKenneth E. Jansen 					Integer		nDims		) ;
214*59599516SKenneth E. Jansen 
215*59599516SKenneth E. Jansen Void		lesZero(		UsrHd		usrHd,
216*59599516SKenneth E. Jansen 					Integer		dstId,
217*59599516SKenneth E. Jansen 					Integer		nDims		) ;
218*59599516SKenneth E. Jansen Void		lesCp(			UsrHd		usrHd,
219*59599516SKenneth E. Jansen 					Integer		srcId,
220*59599516SKenneth E. Jansen 					Integer		dstId,
221*59599516SKenneth E. Jansen 					Integer		nDims		) ;
222*59599516SKenneth E. Jansen Void		lesScale(		UsrHd		usrHd,
223*59599516SKenneth E. Jansen 					Integer		dstId,
224*59599516SKenneth E. Jansen 					Real		coef,
225*59599516SKenneth E. Jansen 					Integer		nDims		) ;
226*59599516SKenneth E. Jansen Void		lesScaleCp(		UsrHd		usrHd,
227*59599516SKenneth E. Jansen 					Integer		srcId,
228*59599516SKenneth E. Jansen 					Integer		dstId,
229*59599516SKenneth E. Jansen 					Real		coef,
230*59599516SKenneth E. Jansen 					Integer		nDims		) ;
231*59599516SKenneth E. Jansen Void		lesAdd(			UsrHd		usrHd,
232*59599516SKenneth E. Jansen 					Integer		srcId,
233*59599516SKenneth E. Jansen 					Integer		dstId,
234*59599516SKenneth E. Jansen 					Integer		nDims		) ;
235*59599516SKenneth E. Jansen Void		lesSub(			UsrHd		usrHd,
236*59599516SKenneth E. Jansen 					Integer		srcId,
237*59599516SKenneth E. Jansen 					Integer		dstId,
238*59599516SKenneth E. Jansen 					Integer		nDims		) ;
239*59599516SKenneth E. Jansen Real		lesDot1(		UsrHd		usrHd,
240*59599516SKenneth E. Jansen 					Integer		srcId,
241*59599516SKenneth E. Jansen 					Integer		nDims		) ;
242*59599516SKenneth E. Jansen Real		lesDot2(		UsrHd		usrHd,
243*59599516SKenneth E. Jansen 					Integer		src1Id,
244*59599516SKenneth E. Jansen 					Integer		src2Id,
245*59599516SKenneth E. Jansen 					Integer		nDims		) ;
246*59599516SKenneth E. Jansen Void		lesDaxpy(		UsrHd		usrHd,
247*59599516SKenneth E. Jansen 					Integer		srcId,
248*59599516SKenneth E. Jansen 					Integer		dstId,
249*59599516SKenneth E. Jansen 					Real		coef,
250*59599516SKenneth E. Jansen 					Integer		nDims		) ;
251*59599516SKenneth E. Jansen Void		lesDxpay(		UsrHd		usrHd,
252*59599516SKenneth E. Jansen 					Integer		srcId,
253*59599516SKenneth E. Jansen 					Integer		dstId,
254*59599516SKenneth E. Jansen 					Real		coef,
255*59599516SKenneth E. Jansen 					Integer		nDims		) ;
256*59599516SKenneth E. Jansen Void		lesInv(			UsrHd		usrHd,
257*59599516SKenneth E. Jansen 					Integer		dstId,
258*59599516SKenneth E. Jansen 					Integer		nDims		) ;
259*59599516SKenneth E. Jansen Void		lesBlkDot2(		UsrHd		usrHd,
260*59599516SKenneth E. Jansen 					Integer		src1Id,
261*59599516SKenneth E. Jansen 					Integer		src2Id,
262*59599516SKenneth E. Jansen 					Real*		values,
263*59599516SKenneth E. Jansen 					Integer		mDims,
264*59599516SKenneth E. Jansen 					Integer		nDims		) ;
265*59599516SKenneth E. Jansen Void		lesBlkDaxpy(		UsrHd		usrHd,
266*59599516SKenneth E. Jansen 					Integer		srcId,
267*59599516SKenneth E. Jansen 					Integer		dstId,
268*59599516SKenneth E. Jansen 					Real*		coef,
269*59599516SKenneth E. Jansen 					Integer		mDims,
270*59599516SKenneth E. Jansen 					Integer		nDims		) ;
271*59599516SKenneth E. Jansen Void		lesBlkDyeax(		UsrHd		usrHd,
272*59599516SKenneth E. Jansen 					Integer		srcId,
273*59599516SKenneth E. Jansen 					Integer		dstId,
274*59599516SKenneth E. Jansen 					Real*		coef,
275*59599516SKenneth E. Jansen 					Integer		mDims,
276*59599516SKenneth E. Jansen 					Integer		nDims		) ;
277*59599516SKenneth E. Jansen Void		lesBlkDmaxpy(		UsrHd		usrHd,
278*59599516SKenneth E. Jansen 					Integer		srcId,
279*59599516SKenneth E. Jansen 					Integer		dstId,
280*59599516SKenneth E. Jansen 					Real*		coef,
281*59599516SKenneth E. Jansen 					Integer		mDims,
282*59599516SKenneth E. Jansen 					Integer		nDims		) ;
283*59599516SKenneth E. Jansen Void		lesVdimCp(		UsrHd		usrHd,
284*59599516SKenneth E. Jansen 					Integer		srcId,
285*59599516SKenneth E. Jansen 					Integer		dstId,
286*59599516SKenneth E. Jansen 					Integer		nSrcDims,
287*59599516SKenneth E. Jansen 					Integer		srcOff,
288*59599516SKenneth E. Jansen 					Integer		nDstDims,
289*59599516SKenneth E. Jansen 					Integer		dstOff,
290*59599516SKenneth E. Jansen 					Integer		nDims		) ;
291*59599516SKenneth E. Jansen Void		lesVdimDot2(		UsrHd		usrHd,
292*59599516SKenneth E. Jansen 					Integer		src1Id,
293*59599516SKenneth E. Jansen 					Integer		src2Id,
294*59599516SKenneth E. Jansen 					Real*		coef,
295*59599516SKenneth E. Jansen 					Integer		nSrc1Dims,
296*59599516SKenneth E. Jansen 					Integer		src1Off,
297*59599516SKenneth E. Jansen 					Integer		nSrc2Dims,
298*59599516SKenneth E. Jansen 					Integer		src2Off,
299*59599516SKenneth E. Jansen 					Integer		nDims		) ;
300*59599516SKenneth E. Jansen Void		lesVdimDaxpy(		UsrHd		usrHd,
301*59599516SKenneth E. Jansen 					Integer		srcId,
302*59599516SKenneth E. Jansen 					Integer		dstId,
303*59599516SKenneth E. Jansen 					Real*		coef,
304*59599516SKenneth E. Jansen 					Integer		nSrcDims,
305*59599516SKenneth E. Jansen 					Integer		srcOff,
306*59599516SKenneth E. Jansen 					Integer		nDstDims,
307*59599516SKenneth E. Jansen 					Integer		dstOff,
308*59599516SKenneth E. Jansen 					Integer		nDims		) ;
309*59599516SKenneth E. Jansen 
310*59599516SKenneth E. Jansen Void		lesApG(			UsrHd		usrHd,
311*59599516SKenneth E. Jansen 					Integer		srcId,
312*59599516SKenneth E. Jansen 					Integer		dstId,
313*59599516SKenneth E. Jansen 					Integer		nSrcDims,
314*59599516SKenneth E. Jansen 					Integer		srcOff,
315*59599516SKenneth E. Jansen 					Integer		nDstDims,
316*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
317*59599516SKenneth E. Jansen Void		lesApKG(		UsrHd		usrHd,
318*59599516SKenneth E. Jansen 					Integer		src1Id,
319*59599516SKenneth E. Jansen 					Integer		src2Id,
320*59599516SKenneth E. Jansen 					Integer		dstId,
321*59599516SKenneth E. Jansen 					Integer		nSrc1Dims,
322*59599516SKenneth E. Jansen 					Integer		src1Off,
323*59599516SKenneth E. Jansen 					Integer		nSrc2Dims,
324*59599516SKenneth E. Jansen 					Integer		src2Off,
325*59599516SKenneth E. Jansen 					Integer		nDstDims,
326*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
327*59599516SKenneth E. Jansen Void		lesApNGt(		UsrHd		usrHd,
328*59599516SKenneth E. Jansen 					Integer		srcId,
329*59599516SKenneth E. Jansen 					Integer		dstId,
330*59599516SKenneth E. Jansen 					Integer		nSrcDims,
331*59599516SKenneth E. Jansen 					Integer		srcOff,
332*59599516SKenneth E. Jansen 					Integer		nDstDims,
333*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
334*59599516SKenneth E. Jansen Void		lesApNGtC(		UsrHd		usrHd,
335*59599516SKenneth E. Jansen 					Integer		src1Id,
336*59599516SKenneth E. Jansen 					Integer		src2Id,
337*59599516SKenneth E. Jansen 					Integer		dstId,
338*59599516SKenneth E. Jansen 					Integer		nSrc1Dims,
339*59599516SKenneth E. Jansen 					Integer		src1Off,
340*59599516SKenneth E. Jansen 					Integer		nSrc2Dims,
341*59599516SKenneth E. Jansen 					Integer		src2Off,
342*59599516SKenneth E. Jansen 					Integer		nDstDims,
343*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
344*59599516SKenneth E. Jansen Void		lesApFull(		UsrHd		usrHd,
345*59599516SKenneth E. Jansen 					Integer		srcId,
346*59599516SKenneth E. Jansen 					Integer		dstId,
347*59599516SKenneth E. Jansen 					Integer		nSrcDims,
348*59599516SKenneth E. Jansen 					Integer		srcOff,
349*59599516SKenneth E. Jansen 					Integer		nDstDims,
350*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
351*59599516SKenneth E. Jansen Void		lesApSclr(		UsrHd		usrHd,
352*59599516SKenneth E. Jansen 					Integer		srcId,
353*59599516SKenneth E. Jansen 					Integer		dstId,
354*59599516SKenneth E. Jansen 					Integer		nSrcDims,
355*59599516SKenneth E. Jansen 					Integer		srcOff,
356*59599516SKenneth E. Jansen 					Integer		nDstDims,
357*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
358*59599516SKenneth E. Jansen Void	       lesPrecPPE(		UsrHd		usrHd,
359*59599516SKenneth E. Jansen 					Integer		srcId,
360*59599516SKenneth E. Jansen 					Integer		dstId,
361*59599516SKenneth E. Jansen 					Integer		nSrcDims,
362*59599516SKenneth E. Jansen 					Integer		srcOff,
363*59599516SKenneth E. Jansen 					Integer		nDstDims,
364*59599516SKenneth E. Jansen 					Integer		dstOff		) ;
365*59599516SKenneth E. Jansen 
366*59599516SKenneth E. Jansen /*===========================================================================
367*59599516SKenneth E. Jansen  *
368*59599516SKenneth E. Jansen  * End of the file
369*59599516SKenneth E. Jansen  *
370*59599516SKenneth E. Jansen  *===========================================================================
371*59599516SKenneth E. Jansen  */
372*59599516SKenneth E. Jansen 
373*59599516SKenneth E. Jansen #endif	/* __LES_H__ */
374