VEC_$REC1CR Domain/OS VEC_$REC1CR
NAME
vec_$rec1cr - function returning first-order linear recurrence of
single-precision vector with constant coefficient
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/vec.h>
float vec_$rec1cr(
float *start_vec,
long int &count,
float &mult_constant,
float &init_value)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/vec.ins.pas';
function vec_$rec1cr(
in start_vec: univ vec_$real_vector;
in count: integer32;
in mult_constant: real;
in init_value: real):real;
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/vec.ins.ftn'
parameter (nvec = 10)
real start_vec(nvec), init_value, mult_constant, return_value
integer*4 count
return_value = vec_$rec1cr(start_vec, count, mult_constant, init_value)
DESCRIPTION
Vec_$rec1cr calculates a first-order linear recurrence with constant
coefficient based on start_vec. Unlike vec_$rec1c, 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.
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) + (mult_constant x return_value)
start_vec
An input vector.
mult_constant
A scalar multiplier.
count
The number of elements to be operated on.
init_value
The initial value on which the recurrence calculation is based.
NOTES
When vec_$rec1cr is used to operate on matrixes in C and Pascal,
start_vec is a row vector; in FORTRAN, it is a column vector.
vec_$rec1cr may be used to evaluate a polynomial by passing the highest-
order polynomial coefficient as init_value, the remainder of the polyno-
mial coefficients as start_vec, the degree as count, and the value for
which you want the polynomial evaluated as mult_constant.
SEE ALSO
vec_$rec1, vec_$rec1c, vec_$rec1n, vec_$rec1r, vec_$rec1cr_i,
vec_$drec1cr, vec_$drec1cr_i, vec_$irec1cr, vec_$irec1cr_i,
vec_$irec1cr16, vec_$irec1cr16_i.