/*-=-=-=-=-=-=-=-=-=-=-=- RCCL/RCI Notice of Copyright -=-=-=-=-=-=-=-=-=-=-*
 *									    *
 *	Copyright (C) 1987, 1991 by John E. Lloyd.			    *
 *									    *
 *	Information on copyright permissions, as well as a complete	    *
 *	disclaimer of warranty, is given in the file COPYRIGHT.		    *
 *									    *
 *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/

#ifndef _VECTOR_H_
#define _VECTOR_H_

#ifndef PROTO
#ifndef NO_PROTOTYPES
#define PROTO(x) x
#else
#define PROTO(x) ()
#endif
#endif

#ifndef NO_PROTOTYPES
#include <stdio.h>
#endif

extern double *addVd PROTO((double*, double*, double*, int));
extern double *subtractVd PROTO((double*, double*, double*, int));
extern double *scaleVd PROTO((double*, double, double*, int));
extern double *combineVd PROTO((double*,double,double*,double,double*,int));
extern double normVd PROTO((double*, int));
extern double dotVd PROTO((double*, double*, int));
extern double *copyVd PROTO((double*, double*, int));
extern double *zeroVd PROTO((double*, int));

extern float *addVf PROTO((float*, float*, float*, int));
extern float *subtractVf PROTO((float*, float*, float*, int));
extern float *scaleVf PROTO((float*, double, float*, int));
extern float *combineVf PROTO((float*, double, float*, double, float*, int));
extern float normVf PROTO((float*, int));
extern float dotVf PROTO((float*, float*, int));
extern float *copyVf PROTO((float*, float*, int));
extern float *zeroVf PROTO((float*, int));

extern float *copyVdf PROTO((float*, double*, int));
extern double *copyVfd PROTO((double*, float*, int));

extern printVd PROTO((const char*, double*, int));
extern fprintVd PROTO((FILE*, const char*, double*, int));
extern scanVd PROTO((double*, int));
extern fscanVd PROTO((FILE*, double*, int));
extern printVf PROTO((const char*, float*, int));
extern fprintVf PROTO((FILE*, const char*, float*, int));
extern scanVf PROTO((float*, int));
extern fscanVf PROTO((FILE*, float*, int));

#endif
