Detailed description of the procedures

DSGRID2S - primary 2D gridding function

DSGRID2S is the Fortran single precision subroutine that does an interpolation from 2D random data to an output grid. DSGRID2S is called after all of the desired values for control parameters have been set using the subroutines DSSETI, DSSETR, DSSETC.
```--------------------------------------------------------------
Argument | Type    |  Mode  | Dimension
--------------------------------------------------------------
CALL DSGRID2S (NPNTS,   | Integer | Input  |
X,       | Real    | Input  | NPNTS
Y,       | Real    | Input  | NPNTS
Z,       | Real    | Input  | NPNTS
NUMXOUT, | Integer | Input  |
NUMYOUT, | Integer | Input  |
XO,      | Real    | Input  | NUMXOUT
YO,      | Real    | Input  | NUMYOUT
ZO,      | Real    | Output | NUMXOUT x NUMYOUT
IER)     | Integer | Output |
--------------------------------------------------------------
```
NPNTS
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the functional values of the input data points. That is, Z(L) is the value of the input function at coordinate (X(L),Y(L)), for L=1,NPNTS.
NUMXOUT
The number of X values in the output grid.
NUMYOUT
The number of Y values in the output grid.
XO
An array of dimension NUMXOUT containing the X coordinates of the output data grid. The values in XO must be increasing, but need not be equally spaced.
YO
An array of dimension NUMYOUT containing the Y coordinates of the output data grid. The values in YO must be increasing, but need not be equally spaced.
ZO
A two-dimensional array of dimension NUMXOUT x NUMYOUT containing the interpolated functional values. ZO(I,J) is the interpolated value at grid point (XO(I),YO(J)).
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSGRID3S - primary 3D gridding function

DSGRID3S is the Fortran single precision subroutine that does an interpolation from 3D random data to an output grid. DSGRID3S is called after all of the desired values for control parameters have been set using the subroutines DSSETI, DSSETR, DSSETC.
```-------------------------------------------------------------------------
Argument | Type    |  Mode  | Dimension
-------------------------------------------------------------------------
CALL DSGRID3S (NPNTS,   | Integer | Input  |
X,       | Real    | Input  | NPNTS
Y,       | Real    | Input  | NPNTS
Z,       | Real    | Input  | NPNTS
U,       | Real    | Input  | NPNTS
NUMXOUT, | Integer | Input  |
NUMYOUT, | Integer | Input  |
NUMZOUT, | Integer | Input  |
XO,      | Real    | Input  | NUMXOUT
YO,      | Real    | Input  | NUMYOUT
ZO,      | Real    | Input  | NUMZOUT
UO,      | Real    | Output | NUMXOUT x NUMYOUT x NUMZOUT
IER)     | Integer | Output |
-------------------------------------------------------------------------
```
NPNTS
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the Z coordinates of the input data points.
U
An array containing the functional values of the input data points. That is, U(L) is the value of the input function at coordinate (X(L),Y(L),Z(L)), for L=1,NPNTS.
NUMXOUT
The number of X values in the output grid.
NUMYOUT
The number of Y values in the output grid.
NUMZOUT
The number of Z values in the output grid.
XO
An array of dimension NUMXOUT containing the X coordinates of the output data grid. The values in XO must be increasing, but need not be equally spaced.
YO
An array of dimension NUMYOUT containing the Y coordinates of the output data grid. The values in YO must be increasing, but need not be equally spaced.
ZO
An array of dimension NUMZOUT containing the Z coordinates of the output data grid. The values in ZO must be increasing, but need not be equally spaced.
UO
A three-dimensional array of dimension NUMXOUT x NUMYOUT x NUMZOUT containing the interpolated functional values. UO(I,J,K) is the interpolated value at grid point (XO(I),YO(J),ZO(K)).
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSSETI - set INTEGER parameter values

DSSETI is used to set values for any of the control parameters that take integer values. The values set by DSSETI remain in effect until changed by subsequent calls to DSSETI.
```-----------------------------------------------------
Argument | Type      |  Mode  | Dimension
-----------------------------------------------------
CALL DSSETI (PNAM,   | Character | Input  |
IVAL)   | Integer   | Input  |
-----------------------------------------------------
```
PNAM
The name of the control parameter to be set.
IVAL
The value to be assigned to the parameter.

DSGETI - retrieve values for INTEGER parameters

DSGETI is a called to obtain current values for any of the INTEGER valued control parameters.
```-----------------------------------------------------
Argument | Type      |  Mode  | Dimension
-----------------------------------------------------
CALL DSGETI (PNAM,   | Character | Input  |
IVAL)   | Integer   | Output |
-----------------------------------------------------
```
PNAM
The name of the control parameter whose value is to be retrieved.
IVAL
The current value assigned to the control parameter.

DSSETR - set REAL parameter values

DSSETR is used to set values for any of the control parameters that take REAL values. The values set by DSSETR remain in effect until changed by subsequent calls to DSSETR.
```-----------------------------------------------------
Argument | Type      |  Mode  | Dimension
-----------------------------------------------------
CALL DSSETR (PNAM,   | Character | Input  |
RVAL)   | Real      | Input  |
-----------------------------------------------------
```
PNAM
The name of the control parameter to be set.
RVAL
The value to be assigned to the parameter.

DSGETR - retrieve values for REAL parameters

DSGETR is a called to obtain current values for any of the REAL valued control parameters.
```-----------------------------------------------------
Argument | Type      |  Mode  | Dimension
-----------------------------------------------------
CALL DSGETR (PNAM,   | Character | Input  |
RVAL)   | Real      | Output |
-----------------------------------------------------
```
PNAM
The name of the control parameter whose value is to be retrieved.
RVAL
The current value assigned to the control parameter.

DSSETC - set CHARACTER valued parameters.

```-----------------------------------------------------
Argument | Type      |  Mode  | Dimension
-----------------------------------------------------
CALL DSSETC (PNAM,   | Character | Input  |
CVAL)   | Character | Input  |
-----------------------------------------------------
```
DSSETC is used to set values for any of the control parameters that take CHARACTER values. The values set by DSSETC remain in effect until changed by subsequent calls to DSSETC.
PNAM
The name of the control parameter to be set.
CVAL
The value to be assigned to the parameter.

DSGETC - retrieve values for CHARACTER parameters

DSGETC is a called to obtain current values for any of the CHARACTER valued control parameters.
```-----------------------------------------------------
Argument | Type      |  Mode  | Dimension
-----------------------------------------------------
CALL DSGETC (PNAM,   | Character | Input  |
CVAL)   | Character | Output |
-----------------------------------------------------
```
PNAM
The name of the control parameter whose value is to be retrieved.
CVAL
The current value assigned to the control parameter. Be sure to provide enough space in the character variable to receive the value.

DSPNT2S - interpolate 2D data at specified points

This subroutine is called to interpolate 2D data at specified points.
```--------------------------------------------------------
Argument | Type    |  Mode  | Dimension
--------------------------------------------------------
CALL DSPNT2S (N,       | Integer | Input  |
X,       | Real    | Input  | N
Y,       | Real    | Input  | N
Z,       | Real    | Input  | N
M,       | Integer | Input  |
XO,      | Real    | Input  | M
YO,      | Real    | Input  | M
ZO,      | Real    | Output | M
IER)     | Integer | Output |
--------------------------------------------------------
```
N
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the functional values of the input data points. That is, Z(L) is the value of the input function at coordinate (X(L),Y(L)), for L=1,N.
M
The number of output data points (this may be "1").
XO
An array of dimension M containing the X coordinates of the output data. The values in XO may be in any order.
YO
An array of dimension M containing the Y coordinates of the output data. The values in YO may be in any order.
ZO
An array of dimension M containing the interpolated values. ZO(I) is the interpolated value at point (XO(I),YO(I)) for I=1,M.
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSPNT3S - interpolate 3D data at specified points

This subroutine is called to interpolate 3D data at specified points.
```--------------------------------------------------------
Argument | Type    |  Mode  | Dimension
--------------------------------------------------------
CALL DSPNT3S (N,       | Integer | Input  |
X,       | Real    | Input  | N
Y,       | Real    | Input  | N
Z,       | Real    | Input  | N
U,       | Real    | Input  | N
M,       | Integer | Input  |
XO,      | Real    | Input  | M
YO,      | Real    | Input  | M
ZO,      | Real    | Input  | M
UO,      | Real    | Output | M
IER)     | Integer | Output |
--------------------------------------------------------
```
N
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the Z coordinates of the input data points.
U
An array containing the functional values of the input data points. That is, U(L) is the value of the input function at coordinate (X(L),Y(L),Z(L)), for L=1,N.
M
The number of output data points (this may be "1").
XO
An array of dimension M containing the X coordinates of the output data. The values in XO may be in any order.
YO
An array of dimension M containing the Y coordinates of the output data. The values in YO may be in any order.
ZO
An array of dimension M containing the Z coordinates of the output data. The values in ZO may be in any order.
UO
An array of dimension M containing the interpolated values. UO(I) is the interpolated value at point (XO(I),YO(I),ZO(I)) for I=1,M.
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSGRID2D - primary 2D gridding function

DSGRID2D is the Fortran double precision subroutine that does an interpolation from 2D random data to an output grid. DSGRID2D is called after all of the desired values for control parameters have been set using the subroutines DSSETI, DSSETRD, DSSETC.
```-------------------------------------------------------------------------
Argument |           Type    |  Mode  | Dimension
-------------------------------------------------------------------------
CALL DSGRID2D (NPNTS,   | Integer           | Input  |
X,       | Double precision  | Input  | NPNTS
Y,       | Double precision  | Input  | NPNTS
Z,       | Double precision  | Input  | NPNTS
NUMXOUT, | Integer           | Input  |
NUMYOUT, | Integer           | Input  |
XO,      | Double precision  | Input  | NUMXOUT
YO,      | Double precision  | Input  | NUMYOUT
ZO,      | Double precision  | Output | NUMXOUT x NUMYOUT
IER)     | Integer           | Output |
-------------------------------------------------------------------------
```
NPNTS
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the functional values of the input data points. That is, Z(L) is the value of the input function at coordinate (X(L),Y(L)), for L=1,NPNTS.
NUMXOUT
The number of X values in the output grid.
NUMYOUT
The number of Y values in the output grid.
XO
An array of dimension NUMXOUT containing the X coordinates of the output data grid. The values in XO must be increasing, but need not be equally spaced.
YO
An array of dimension NUMYOUT containing the Y coordinates of the output data grid. The values in YO must be increasing, but need not be equally spaced.
ZO
A two-dimensional array of dimension NUMXOUT x NUMYOUT containing the interpolated functional values. ZO(I,J) is the interpolated value at grid point (XO(I),YO(J)).
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSGRID3D - primary 3D gridding function

DSGRID3D is the Fortran double precision subroutine that does an interpolation from 3D random data to an output grid. DSGRID3D is called after all of the desired values for control parameters have been set using the subroutines DSSETI, DSSETRD, DSSETC.
```--------------------------------------------------------------------------------
Argument | Type             |  Mode | Dimension
--------------------------------------------------------------------------------
CALL DSGRID3D (NPNTS,   | Integer          | Input |
X,       | Double precision | Input | NPNTS
Y,       | Double precision | Input | NPNTS
Z,       | Double precision | Input | NPNTS
U,       | Double precision | Input | NPNTS
NUMXOUT, | Integer          | Input |
NUMYOUT, | Integer          | Input |
NUMZOUT, | Integer          | Input |
XO,      | Double precision | Input | NUMXOUT
YO,      | Double precision | Input | NUMYOUT
ZO,      | Double precision | Input | NUMZOUT
UO,      | Double precision | Output| NUMXOUT x NUMYOUT x NUMZOUT
IER)     | Integer          | Output|
--------------------------------------------------------------------------------
```
NPNTS
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the Z coordinates of the input data points.
U
An array containing the functional values of the input data points. That is, U(L) is the value of the input function at coordinate (X(L),Y(L),Z(L)), for L=1,NPNTS.
NUMXOUT
The number of X values in the output grid.
NUMYOUT
The number of Y values in the output grid.
NUMZOUT
The number of Z values in the output grid.
XO
An array of dimension NUMXOUT containing the X coordinates of the output data grid. The values in XO must be increasing, but need not be equally spaced.
YO
An array of dimension NUMYOUT containing the Y coordinates of the output data grid. The values in YO must be increasing, but need not be equally spaced.
ZO
An array of dimension NUMZOUT containing the Z coordinates of the output data grid. The values in ZO must be increasing, but need not be equally spaced.
UO
A three-dimensional array of dimension NUMXOUT x NUMYOUT x NUMZOUT containing the interpolated functional values. UO(I,J,K) is the interpolated value at grid point (XO(I),YO(J),ZO(K)).
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSSETRD - set DOUBLE PRECISION parameter values

DSSETRD is used to set values for any of the control parameters that take DOUBLE PRECISION values. The values set by DSSETRD remain in effect until changed by subsequent calls to DSSETRD.
```------------------------------------------------------
Argument | Type      |  Mode  | Dimension
------------------------------------------------------
CALL DSSETRD (PNAM,   | Character | Input  |
RVAL)   | Real      | Input  |
------------------------------------------------------
```
PNAM
The name of the control parameter to be set.
RVAL
The value to be assigned to the parameter.

DSGETRD - retrieve values for DOUBLE PRECISION parameters

DSGETRD is a called to obtain current values for any of the DOUBLE PRECISION valued control parameters.
```-------------------------------------------------------------
Argument | Type              |  Mode  | Dimension
-------------------------------------------------------------
CALL DSGETRD (PNAM,  | Character         | Input  |
RVAL)  | DOUBLE precision  | Output |
-------------------------------------------------------------
```
PNAM
The name of the control parameter whose value is to be retrieved.
RVAL
The current value assigned to the control parameter.

DSPNT2D - interpolate 2D double precision data at specified points

This subroutine is called to interpolate 2D double precision data at specified points.
```-------------------------------------------------------------
Argument | Type             |  Mode  | Dimension
-------------------------------------------------------------
CALL DSPNT2D (N,     | Integer          | Input  |
X,     | Double precision | Input  | N
Y,     | Double precision | Input  | N
Z,     | Double precision | Input  | N
M,     | Integer          | Input  |
XO,    | Double precision | Input  | M
YO,    | Double precision | Input  | M
ZO,    | Double precision | Output | M
IER)   | Integer          | Output |
-------------------------------------------------------------
```
N
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the functional values of the input data points. That is, Z(L) is the value of the input function at coordinate (X(L),Y(L)), for L=1,N.
M
The number of output data points (this may be "1").
XO
An array of dimension M containing the X coordinates of the output data. The values in XO may be in any order.
YO
An array of dimension M containing the Y coordinates of the output data. The values in YO may be in any order.
ZO
An array of dimension M containing the interpolated values. ZO(I) is the interpolated value at point (XO(I),YO(I)) for I=1,M.
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

DSPNT3D - interpolate 3D double precision data at specified points

This subroutine is called to interpolate 3D double precision data at specified points.
```---------------------------------------------------------------
Argument  | Type             |  Mode  | Dimension
---------------------------------------------------------------
CALL DSPNT3D (N,       | Integer          | Input  |
X,       | Double precision | Input  | N
Y,       | Double precision | Input  | N
Z,       | Double precision | Input  | N
U,       | Double precision | Input  | N
M,       | Integer          | Input  |
XO,      | Double precision | Input  | M
YO,      | Double precision | Input  | M
ZO,      | Double precision | Input  | M
UO,      | Double precision | Output | M
IER)     | Integer          | Output |
---------------------------------------------------------------
```
N
The number of input data points.
X
An array containing the X coordinates of the input data points.
Y
An array containing the Y coordinates of the input data points.
Z
An array containing the Z coordinates of the input data points.
U
An array containing the functional values of the input data points. That is, U(L) is the value of the input function at coordinate (X(L),Y(L),Z(L)), for L=1,N.
M
The number of output data points (this may be "1").
XO
An array of dimension M containing the X coordinates of the output data. The values in XO may be in any order.
YO
An array of dimension M containing the Y coordinates of the output data. The values in YO may be in any order.
ZO
An array of dimension M containing the Z coordinates of the output data. The values in ZO may be in any order.
UO
An array of dimension M containing the interpolated values. UO(I) is the interpolated value at point (XO(I),YO(I),ZO(I)) for I=1,M.
IER
An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the error list in the error table for details.

c_dsgrid2s - Primary gridding function

c_dsgrid2s is the C single precision function that does an interpolation from 2D random data to an output grid. c_dsgrid2s is called after all of the desired values for control parameters have been set using the function c_dsseti, c_dssetr, c_dssetc.

Function prototype:

```  float *c_dsgrid2s(int, float [], float [], float [],
int, int, float [], float [], int *);
```
Return value:

c_dsgrid2s returns a pointer to a linear array of data that is the interpolated grid stored in row-major order. That is, if out is declared as

```  float *out;
```
and we set:
```  out = c_dsgrid2s(npnts, x, y, z, numxout, numyout, xo, yo, &ier);
```
then out[i*numyout+j] is the interpolated function value at coordinate point (xo[i],yo[j]) for 0 <= i < numxout and 0 <= j < numyout. The space for out is allocated internal to c_dsgrid2s and is numxout*numyout floats in size.

Argument description:

```-------------------------------------------------
Argument | Type     |  Size
-------------------------------------------------
float *c_dsgrid2s (npnts,   | int      |
x,       | float [] | npnts
y,       | float [] | npnts
z,       | float [] | npnts
numxout, | int      |
numyout, | int      |
xi,      | float [] | numxout
yi,      | float [] | numyout
ier      | int *    |
);
-------------------------------------------------
```
npnts
The number of input data points.
x
An array of size npnts containing the X coordinates of the input data points.
y
An array of size npnts containing the Y coordinates of the input data points.
z
An array of size npnts containing the functional values of the input data points. That is, z[n] is the value of the input function at coordinate (x[n],y[n]), for 0 <= n < npnts.
numxout
The number of X values in the output grid.
numyout
The number of Y values in the output grid.
xi
An array of size numxout containing the X coordinates of the output data grid. The values in xi must be increasing, but need not be equally spaced.
yi
An array of size numyout containing the Y coordinates of the output data grid. The values in yi must be increasing, but need not be equally spaced.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dsgrid3s - Primary gridding function

c_dsgrid3s is the C single precision function that does an interpolation from 3D random data to an output grid. c_dsgrid3s is called after all of the desired values for control parameters have been set using the function c_dsseti, c_dssetr, c_dssetc.

Function prototype:

```float    *c_dsgrid3s(int, float [], float [], float [], float [],
int, int, int, float [], float [], float [], int *);
```
Return value:

c_dsgrid3s returns a pointer to a linear array of data that is the interpolated grid stored in row-major order. That is, if out is declared as

```  float *out;
```
and we set:
```  out = c_dsgrid3s(n, x, y, z, u, nx, ny, nz, xo, yo, zo, &ier);
```
then out[nz*ny*i + nz*j + k] is the interpolated function value at coordinate point (xo[i],yo[j],zo[k]) for 0 <= i < nx, 0 <= j < ny, and 0 <= k < nz. The space for out is allocated internal to c_dsgrid3s and is nx*ny*nz floats in size.

Argument description:

```-------------------------------------------------
Argument | Type     |  Size
-------------------------------------------------
float *c_dsgrid3s (npnts,   | int      |
x,       | float [] | npnts
y,       | float [] | npnts
z,       | float [] | npnts
u,       | float [] | npnts
numxout, | int      |
numyout, | int      |
numzout, | int      |
xo,      | float [] | numxout
yo,      | float [] | numyout
zo,      | float [] | numzout
ier      | int *    |
);
-------------------------------------------------
```
npnts
The number of input data points.
x
An array of size npnts containing the X coordinates of the input data points.
y
An array of size npnts containing the Y coordinates of the input data points.
z
An array of size npnts containing the Z coordinates of the input data points.
u
An array of size npnts containing the functional values of the input data points. That is, z[n] is the value of the input function at coordinate (x[n],y[n],z[n]), for 0 <= n < npnts.
numxout
The number of X values in the output grid.
numyout
The number of Y values in the output grid.
numzout
The number of Z values in the output grid.
xo
An array of size numxout containing the X coordinates of the output data grid. The values in xo must be increasing, but need not be equally spaced.
yo
An array of size numyout containing the Y coordinates of the output data grid. The values in yo must be increasing, but need not be equally spaced.
zo
An array of size numyout containing the Z coordinates of the output data grid. The values in zo must be increasing, but need not be equally spaced.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dsseti - Set int valued parameters

c_dsseti is used to set values for any of the control parameters that take int values. The values set by c_dsseti remain in effect until changed by subsequent calls to c_dsseti.

Function prototype:

```  void c_dsseti(char *, int);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dsseti (pnam,   | char *  |
ival);  | int     |
-------------------------------------------
```
pnam
The name of the control parameter to be assigned an int value.
ival
The value to be assigned to the control parameter whose name is pointed to by pnam.

c_dsgeti - Retrieve an int valued parameter

c_dsgeti is a called to obtain current values for any of the int valued
control parameters.

Function prototype:

```  void c_dsgeti(char *, int);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dsgeti (pnam,   | char *  |
ival);  | int  *  |
-------------------------------------------
```
pnam
The name of the control parameter whose value is to be retrieved.
ival
*ival will be the value currently assigned to the control parameter whose name is pointed to by pnam.

c_dssetr - Set float valued parameters

c_dssetr is used to set values for any of the control parameters that take float values. The values set by c_dssetr remain in effect until changed by subsequent calls to c_dssetr.

Function prototype:

```  void c_dssetr(char *, float);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dssetr (pnam,   | char *  |
fval);  | float   |
-------------------------------------------
```
pnam
The name of the control parameter to be assigned a float value.
fval
The value to be assigned to the control parameter whose name is pointed to by pnam.

c_dsgetr - Retrieve a float valued parameter

c_dsgetr is a called to obtain current values for any of the float valued control parameters.

Function prototype:

```  void c_dsgetr(char *, float *);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dsgetr (pnam,   | char *  |
fval);  | float * |
-------------------------------------------
```
pnam
The name of the control parameter whose value is to be retrieved.
fval
*fval will be the value currently assigned to the control parameter whose name is pointed to by pnam.

c_dssetrd - Set double precision valued parameters

c_dssetrd is used to set values for any of the control parameters that take double precision values. The values set by c_dssetrd remain in effect until changed by subsequent calls to c_dssetrd.

Function prototype:

```  void c_dssetrd(char *, double);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dssetrd (pnam,  | char *  |
dval); | double  |
-------------------------------------------
```
pnam
The name of the control parameter to be assigned a double precision value.
dval
The value to be assigned to the control parameter whose name is pointed to by pnam.

c_dsgetrd - Retrieve a double precision valued parameter

c_dsgetrd is a called to obtain current values for any of the double precision valued control parameters.

Function prototype:

```  void c_dsgetrd(char *, double *);
```
Argument description:
```--------------------------------------------
Argument | Type     |  Size
--------------------------------------------
void c_dsgetrd (pnam,  | char *   |
dval); | double * |
--------------------------------------------
```
pnam
The name of the control parameter whose value is to be retrieved.
dval
*dval will be the value currently assigned to the control parameter whose name is pointed to by pnam.

c_dssetc - Set char valued parameters

c_dssetc is used to set values for any of the control parameters that take string values. The values set by c_dssetc remain in effect until changed by subsequent calls to c_dssetc.

Function prototype:

```  void c_dssetc(char *, char *);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dssetc (pnam,   | char *  |
cval);  | char *  |
-------------------------------------------
```
pnam
The name of the control parameter to be assigned a char value.
cval
The value to be assigned to the control parameter whose name is pointed to by pnam.

c_dsgetc - Retrieve a char valued parameter

c_dsgetc is a called to obtain current values for any of the string valued
control parameters.

Function prototype:

```  void c_dsgetc(char *, char *);
```
Argument description:
```-------------------------------------------
Argument | Type    |  Size
-------------------------------------------
void c_dsgetc (pnam,   | char *  |
cval);  | char *  |
-------------------------------------------
```
pnam
The name of the control parameter whose value is to be retrieved.
cval
cval will point to a string containing the returned value. The user is required to reserve enough space to store the string.

c_dspnt2s - Interpolate at specified points

This function is called to interpolate single precision 2D data at specified points.

Function prototype:

```   void c_dspnt2s(int, float [], float [], float [],
int, float [], float [], float *, int *);
```
Argument description:
```-----------------------------------------------
Argument | Type     |  Size
-----------------------------------------------
void c_dspnt2s (n,      | int      |
x,      | float [] | n
y,      | float [] | n
z,      | float [] | n
m,      | int      |
xo,     | float [] | m
yo,     | float [] | m
zo,     | float *  |
ier     | int *    |
);      |          |
-----------------------------------------------
```
n
The number of input data points.
x
An array containing the X coordinates of the input data points.
y
An array containing the Y coordinates of the input data points.
z
An array containing the functional values of the input data points. That is, z[l] is the value of the input function at coordinate (x[l],y[l]), for l=1,n.
m
The number of output data points (this may be "1").
xo
An array of dimension m containing the X coordinates of the output data. The values in xo may be in any order.
yo
An array of dimension m containing the Y coordinates of the output data. The values in yo may be in any order.
zo
A pointer to a float. Space for m floats is allocated for zo by dspnt2s. zo[i] is the interpolated value at point (xo[i],yo[i]) for i=1,m.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dspnt3s - Interpolate at specified points

This function is called to interpolate single precision 3D data at specified points.

Function prototype:

```   void c_dspnt3s(int, float [], float [], float [], float[]
int, float [], float [], float [], float *, int *);
```
Argument description:
```-----------------------------------------------
Argument | Type     |  Size
-----------------------------------------------
void c_dspnt3s (n,      | int      |
x,      | float [] | n
y,      | float [] | n
z,      | float [] | n
u,      | float [] | n
m,      | int      |
xo,     | float [] | m
yo,     | float [] | m
zo,     | float [] | m
uo,     | float *  |
ier     | int *    |
);      |          |
-----------------------------------------------
```
n
The number of input data points.
x
An array containing the X coordinates of the input data points.
y
An array containing the Y coordinates of the input data points.
z
An array containing the Z coordinates of the input data points.
u
An array containing the functional values of the input data points. That is, u[l] is the value of the input function at coordinate (x[l],y[l],z[l]), for l=1,n.
m
The number of output data points (this may be "1").
xo
An array of dimension m containing the X coordinates of the output data. The values in xo may be in any order.
yo
An array of dimension m containing the Y coordinates of the output data. The values in yo may be in any order.
zo
An array of dimension m containing the Z coordinates of the output data. The values in yo may be in any order.
uo
A pointer to a float. Space for m floats is allocated for uo by dspnt3s. zo[i] is the interpolated value at point (xo[i],yo[i],zo[i]) for i=1,m.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dsgrid2d - Primary 2D gridding function

c_dsgrid2d is the C double precision function that does an interpolation from 2D random data to an output grid. c_dsgrid2d is called after all of the desired values for control parameters have been set using the function c_dsseti, c_dssetrd, c_dssetc.

Function prototype:

```  double *c_dsgrid2d(int, double [], double [], double [],
int, int, double [], double [], int *);
```
Return value:

c_dsgrid2d returns a pointer to a linear array of data that is the interpolated grid stored in row-major order. That is, if out is declared as

```  double *out;
```
and we set:
```  out = c_dsgrid2d(npnts, x, y, z, numxout, numyout, xo, yo, &ier);
```
then out[i*numyout+j] is the interpolated function value at coordinate point (xo[i],yo[j]) for 0 <= i < numxout and 0 <= j < numyout. The space for out is allocated internal to c_dsgrid2d and is numxout*numyout doubles in size.

Argument description:

```-------------------------------------------------
Argument | Type      |  Size
-------------------------------------------------
double *c_dsgrid2d (npnts,  | int       |
x,      | double [] | npnts
y,      | double [] | npnts
z,      | double [] | npnts
numxout,| int       |
numyout,| int       |
xi,     | double [] | numxout
yi,     | double [] | numyout
ier     | int *     |
);      |           |
-------------------------------------------------
```
npnts
The number of input data points.
x
An array of size npnts containing the X coordinates of the input data points.
y
An array of size npnts containing the Y coordinates of the input data points.
z
An array of size npnts containing the functional values of the input data points. That is, z[n] is the value of the input function at coordinate (x[n],y[n]), for 0 <= n < npnts.
numxout
The number of X values in the output grid.
numyout
The number of Y values in the output grid.
xi
An array of size numxout containing the X coordinates of the output data grid. The values in xi must be increasing, but need not be equally spaced.
yi
An array of size numyout containing the Y coordinates of the output data grid. The values in yi must be increasing, but need not be equally spaced.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dsgrid3d - Primary 3D gridding function

c_dsgrid3d is the C double precision function that does an interpolation from 3D random data to an output grid. c_dsgrid3d is called after all of the desired values for control parameters have been set using the function c_dsseti, c_dssetrd, c_dssetc.

Function prototype:

```double   *c_dsgrid3d(int, double [], double [], double [], double [],
int, int, int, double [], double [], double [], int *);
```
Return value:

c_dsgrid3d returns a pointer to a linear array of data that is the interpolated grid stored in row-major order. That is, if out is declared as

```  double *out;
```
and we set:
```  out = c_dsgrid3d(n, x, y, z, u, nx, ny, nz, xo, yo, zo, &ier);
```
then out[nz*ny*i + nz*j + k] is the interpolated function value at coordinate point (xo[i],yo[j],zo[k]) for 0 <= i < nx, 0 <= j < ny, and 0 <= k < nz. The space for out is allocated internal to c_dsgrid3d and is nx*ny*nz doubles in size.

Argument description:

```--------------------------------------------------
Argument | Type      |  Size
--------------------------------------------------
double *c_dsgrid3d (npnts,   | int       |
x,       | double [] | npnts
y,       | double [] | npnts
z,       | double [] | npnts
u,       | double [] | npnts
numxout, | int       |
numyout, | int       |
numzout, | int       |
xo,      | double [] | numxout
yo,      | double [] | numyout
zo,      | double [] | numzout
ier      | int *     |
);       |           |
--------------------------------------------------
```
npnts
The number of input data points.
x
An array of size npnts containing the X coordinates of the input data points.
y
An array of size npnts containing the Y coordinates of the input data points.
z
An array of size npnts containing the Z coordinates of the input data points.
u
An array of size npnts containing the functional values of the input data points. That is, z[n] is the value of the input function at coordinate (x[n],y[n],z[n]), for 0 <= n < npnts.
numxout
The number of X values in the output grid.
numyout
The number of Y values in the output grid.
numzout
The number of Z values in the output grid.
xo
An array of size numxout containing the X coordinates of the output data grid. The values in xo must be increasing, but need not be equally spaced.
yo
An array of size numyout containing the Y coordinates of the output data grid. The values in yo must be increasing, but need not be equally spaced.
zo
An array of size numzout containing the Z coordinates of the output data grid. The values in zo must be increasing, but need not be equally spaced.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dspnt2d - Interpolate at specified points

This function is called to interpolate double precision 2D data at specified points.

Function prototype:

```   void c_dspnt2d(int, double [], double [], double [],
int, double [], double [], double *, int *);
```
Argument description:
```-----------------------------------------------
Argument |  Type     |  Size
-----------------------------------------------
void c_dspnt2d (n,      | int       |
x,      | double [] | n
y,      | double [] | n
z,      | double [] | n
m,      | int       |
xo,     | double [] | m
yo,     | double [] | m
zo,     | double *  |
ier     | int *     |
);      |           |
-----------------------------------------------
```
n
The number of input data points.
x
An array containing the X coordinates of the input data points.
y
An array containing the Y coordinates of the input data points.
z
An array containing the functional values of the input data points. That is, z[l] is the value of the input function at coordinate (x[l],y[l]), for l=1,n.
m
The number of output data points (this may be "1").
xo
An array of dimension m containing the X coordinates of the output data. The values in xo may be in any order.
yo
An array of dimension m containing the Y coordinates of the output data. The values in yo may be in any order.
zo
A pointer to a float. Space for m floats is allocated for zo by dspnt2s. zo[i] is the interpolated value at point (xo[i],yo[i]) for i=1,m.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

c_dspnt3d - Interpolate at specified points

This function is called to interpolate double precision 3D data at specified points.

Function prototype:

```   void c_dspnt3d(int, double [], double [], double [], double[]
int, double [], double [], double [], double *, int *);
```
Argument description:
```-----------------------------------------------
Argument | Type      |  Size
-----------------------------------------------
void c_dspnt3d (n,      | int       |
x,      | double [] | n
y,      | double [] | n
z,      | double [] | n
u,      | double [] | n
m,      | int       |
xo,     | double [] | m
yo,     | double [] | m
zo,     | double [] | m
uo,     | double *  |
ier     | int *     |
);      |           |
-----------------------------------------------
```
n
The number of input data points.
x
An array containing the X coordinates of the input data points.
y
An array containing the Y coordinates of the input data points.
z
An array containing the Z coordinates of the input data points.
u
An array containing the functional values of the input data points. That is, u[l] is the value of the input function at coordinate (x[l],y[l],z[l]), for l=1,n.
m
The number of output data points (this may be "1").
xo
An array of dimension m containing the X coordinates of the output data. The values in xo may be in any order.
yo
An array of dimension m containing the Y coordinates of the output data. The values in yo may be in any order.
zo
An array of dimension m containing the Z coordinates of the output data. The values in zo may be in any order.
uo
A pointer to a float. Space for m floats is allocated for uo by dspnt3s. uo[i] is the interpolated value at point (xo[i],yo[i],zo[i]) for i=1,m.
ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in the error table for details.

home | contents | defs | params | procedures | exmpls | index