Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

VEC_$RMAX_I                       Domain/OS                        VEC_$RMAX_I


NAME
     vec_$rmax_i - find the maximum value in a single-precision vector

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

     long int vec_$rmax_i(
          float *start_vec,
          long int &start_inc,
          long int &length,
          float *result)

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

     function vec_$rmax_i(
          in start_vec: univ vec_$real_vector;
          in start_inc: integer32;
          in length: integer32;
          out result: real): integer32;

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

           parameter (nvec = 10)

           real start_vec(nvec), result
           integer*4 length, location
           integer*4 start_inc

           location = vec_$rmax_i(start_vec, start_inc, length, result)

DESCRIPTION
     Vec_$rmax_i searches through length elements of start_vec, sets location
     to the greatest element, and returns the location of the element with the
     greatest value. By contrast, vec_$amax_i finds the element with greatest
     absolute value.  vec_$rmax_i differs from vec_$max_i in being a function
     instead of a procedure; vec_$max_i is now obsolete.

     In the case of a tie, vec_$rmax_i returns the index of the first maximum
     value found.


     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.  If the argument
     start_inc is not set to 1, the returned index is relative to the stride;
     it does not necessarily correspond to the actual vector index.  For exam-
     ple, if start_inc is set to 5, and the third element examined is the
     largest, this routine will return 3, even though the actual index of the
     largest element is 11.



     start_vec
          The vector to be searched.

     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 vectors.

     result
          The value of the greatest element in start_vec.

NOTES
     In C and Pascal, vec_$rmax_i searches a row vector; in FORTRAN, it
     searches a column vector.


SEE ALSO
     vec_$rmin, vec_$amax, vec_$amin, vec_$rmax, vec_$drmax, vec_$drmax_i,
     vec_$irmax, vec_$irmax_i, vec_$irmax16, vec_$irmax16_i.

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