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.