VEC_$IREC1R Domain/OS VEC_$IREC1R
NAME
vec_$irec1r - function returning first-order linear recurrence of 32-bit
integer vector
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/vec.h>
long int vec_$irec1r(
long int *start_vec,
long int *vec_2,
long int &count,
long int &init_value)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/vec.ins.pas';
function vec_$irec1r(
in start_vec: univ vec_$integer32_vector;
in vec_2: univ vec_$integer32_vector;
in count: integer32;
in init_value: integer32):integer32;
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/vec.ins.ftn'
parameter (nvec = 10)
integer*4 start_vec(nvec), vec_2(nvec), init_value, return_value
integer*4 count
return_value = vec_$irec1r(start_vec, vec_2, count, init_value)
DESCRIPTION
Vec_$irec1r 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 con-
tain 32-bit integers.
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_$irec1r 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, vec_$drec1r_i, vec_$irec1r_i, vec_$irec1r16,
vec_$irec1r16_i.