Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vec_inorm16_i(A) — Apollo Domain/OS SR10.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vec_$sum

vec_$asum

vec_$dot

vec_$norm_i

vec_$dnorm

vec_$dnorm_i

vec_$norm

vec_$inorm_i

vec_$inorm16

VEC_$INORM16_I                    Domain/OS                     VEC_$INORM16_I


NAME
     vec_$inorm16_i - squared norm (sum the squares of the elements) a 16-bit
     integer vector

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

     short int vec_$inorm16_i(
          short int *start_vec,
          long int &start_inc,
          long int &length)

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

     function vec_$inorm16_i(
          in start_vec: univ vec_$integer16_vector;
          in start_inc: integer32;
          in length: integer32): integer16;

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

           parameter (nvec = 10)

           integer*2 start_vec(nvec), norm
           integer*4 length, start_inc

           norm = vec_$inorm16_i(start_vec, start_inc, length)

DESCRIPTION
     Vec_$inorm16_i returns the squared norm (the sum of the squares of the
     elements) of the vector start_vec. It differs from vec_$norm_i in that
     the argument vector contains 16-bit integers.

     This call, like all vec_$ calls ending in _i, takes a set of extra stride
     arguments, one for every vector argument.  The stride arguments determine
     which elements in the array are actually processed.  For instance, if the
     stride for a particular array is set to 3, every third element in the
     array will be processed by the routine.  The stride arguments need not be
     identical.  If all stride arguments are set to 1, this call behaves
     exactly like the version without the _i in its name.

     start_vec
          The vector whose squared norm you want.

     start_inc
          The stride for start_vec.

     length
          The number of elements to be operated on;  normally the same as the
          number of elements in the vector.

NOTES
     When vec_$inorm16_i is used to operate on matrixes in C and Pascal,
     start_vec is a row vector; in FORTRAN, it is a column vector.

     As in all the vec_$ calls,  the result array must not overlap any of the
     input arrays; the result array may be identical to an input, but must not
     contain any subset  of it.   Because of pipelining, using overlapping
     input and output arrays may cause incorrect results.

     Vec_$inorm16_i, 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_$sum, vec_$asum, vec_$dot, vec_$norm_i, vec_$dnorm, vec_$dnorm_i,
     vec_$norm, vec_$inorm_i, vec_$norm, vec_$inorm16.

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