Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vec_irec1cr16(A) — Apollo Domain/OS SR10.4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vec_$rec1

vec_$rec1c

vec_$rec1cr

vec_$rec1n

vec_$rec1r

vec_$rec1cr_i

vec_$drec1cr

vec_$drec1cr_i

vec_$irec1cr

vec_$irec1cr_i

vec_$irec1cr16_i

VEC_$IREC1CR16                    Domain/OS                     VEC_$IREC1CR16


NAME
     vec_$irec1cr16 - function returning first-order linear recurrence of 16-
     bit integer vector with constant coefficient

SYNOPSIS (C)
     #include <apollo/base.h>
     #include <apollo/vec.h>

     short int vec_$irec1cr16(
          short int *start_vec,
          long int &count,
          short int &mult_constant,
          short int &init_value)

SYNOPSIS (Pascal)
     %include '/sys/ins/base.ins.pas';
     %include '/sys/ins/vec.ins.pas';

     function vec_$irec1cr16(
          in start_vec: univ vec_$integer16_vector;
          in count: integer32;
          in mult_constant: integer16;
          in init_value: integer16):integer16;

SYNOPSIS (FORTRAN)
     %include '/sys/ins/base.ins.ftn'
     %include '/sys/ins/vec.ins.ftn'

           parameter (nvec = 10)

           integer*2 start_vec(nvec), init_value, mult_constant, return_value
           integer*4 count

           return_value = vec_$irec1cr16(start_vec, count, mult_constant, init_value)

DESCRIPTION
     Vec_$irec1cr16 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.  It
     differs from vec_$rec1cr in that the vectors being handled contain 16-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) + (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_$irec1cr16 is used to operate on matrixes in C and Pascal,
     start_vec is a row vector; in FORTRAN, it is a column vector.

     vec_$irec1cr16 may be used to evaluate a polynomial by passing the
     highest-order polynomial coefficient as init_value, the remainder of the
     polynomial coefficients as start_vec, the degree as count, and the value
     for which you want the polynomial evaluated as mult_constant.

     Vec_$irec1cr16, like all 16-bit integer routines, performs poorly when
     compared to the 32-bit integer routines.  Its use should be avoided wher-
     ever possible, especially on high-performance workstations.

SEE ALSO
     vec_$rec1, vec_$rec1c, vec_$rec1cr, vec_$rec1n, vec_$rec1r,
     vec_$rec1cr_i, vec_$drec1cr, vec_$drec1cr_i, vec_$irec1cr,
     vec_$irec1cr_i, vec_$irec1cr16_i.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026