VEC_$DREC1R Domain/OS VEC_$DREC1R
NAME
vec_$drec1r - function returning first-order linear recurrence of
double-precision vector
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/vec.h>
double vec_$drec1r(
double *start_vec,
double *vec_2,
long int &count,
double &init_value)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/vec.ins.pas';
function vec_$drec1r(
in start_vec: univ vec_$double_vector;
in vec_2: univ vec_$double_vector;
in count: integer32;
in init_value: double):double;
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/vec.ins.ftn'
parameter (nvec = 10)
real*8 start_vec(nvec), vec_2(nvec), init_value, return_value
integer*4 count
return_value = vec_$drec1r(start_vec, vec_2, count, init_value)
DESCRIPTION
Vec_$drec1r calculates a first-order linear recurrence based on
start_vec, with coefficients taken from vec_2. Unlike vec_$rec1, it does
not produce an output vector. Instead, it calculates the value of each
entry in a temporary output vector, then returns the value of the last
entry. It differs from vec_$rec1r in that the vectors being handled are
double-precision floating point.
This routine sets its return value to init_value; it then performs a
recurrence calculation as follows:
For each integer I such that 1 <= I <= count,
return_value = start_vec(I) + (vec_2(I) x return_value)
start_vec
An input vector.
vec_2
An input vector.
count
The number of elements to be operated on.
init_value
The initial value on which the recurrence calculation is based.
NOTES
When vec_$drec1r is used to operate on matrixes in C and Pascal,
start_vec and vec_2 are row vectors; in FORTRAN, they are column vec-
tors.
SEE ALSO
vec_$rec1, vec_$rec1c, vec_$rec1n, vec_$rec1r, vec_$rec1cr, vec_$rec1r_i,
vec_$drec1r_i, vec_$irec1r, vec_$irec1r_i, vec_$irec1r16,
vec_$irec1r16_i.