Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

VEC_$INORM_I                      Domain/OS                       VEC_$INORM_I


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

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

     long int vec_$inorm_i(
          long 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_$inorm_i(
          in start_vec: univ vec_$integer32_vector;
          in start_inc: integer32;
          in length: integer32): integer32;

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

           parameter (nvec = 10)

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

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

DESCRIPTION
     Vec_$inorm_i returns the squared norm (the sum of the squares of the ele-
     ments) of the vector start_vec.  It differs from vec_$norm_i in that the
     argument vector contains 32-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_$inorm_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.


SEE ALSO
     vec_$sum, vec_$asum, vec_$dot, vec_$norm_i, vec_$dnorm, vec_$dnorm_i,
     vec_$norm, vec_$inorm, vec_$inorm16, vec_$inorm16_i.

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