Minimum (FloatNamedArraylist function)

From m204wiki
Revision as of 23:11, 10 August 2012 by Dme (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Name of item with minimum value or minimum value of function applied to items (FloatNamedArraylist class)


Minimum returns the (numeric) name of the FloatNamedArraylist item that has the minimum value as returned by a specified function. The function applied to each FloatNamedArraylist item, which you specify with the required itemFunction argument, must be a method that operates on the item type and returns a User Language intrinsic datatype (Float, String, or Unicode) value.

Minimum is available in Sirius Mods version 7.3 and later.

Syntax

%number = fltNal:Minimum[( [itemFunction])]

Syntax terms

%number A numeric variable to contain the name of the item in fltNal, the method FloatNamedArraylist object, that has the minimum value as returned by the argument function.
fltNal A FloatNamedArraylist object.
itemFunction A method value (a method name literal, a method variable, or even a method that returns a method value) that operates on objects of the type specified on the fltNal declaration and that returns an intrinsic value. As of Sirius Mods version 7.6, the special identity function, This, is the default itemFunction value for the Maximum and Minimum methods. See "Using the This function as the Maximum parameter".

Usage notes

  • If itemFunction returns String or Unicode values, Minimum uses the collating sequence of EBCDIC or Unicode, respectively, to determine which item that has the lowest value. If itemFunction returns a numeric type, numeric comparisons are used. See the "example" for the NamedArraylist Minimum function.
  • If the values returned by itemFunction for two or more FloatNamedArraylist items are equal, minimum, values, Minimum returns the (numeric) name of that item which is closest to the beginning of the FloatNamedArraylist.
  • The Maximum function is the opposite of the Minimum function.
  • itemFunction is a method value, not a User Language expression. That is, you cannot provide a function that itself has an argument (say, ToIntegerPower(2)) as the Minimum parameter. Example "Maximum/Minimum with local method" shows a way to apply ToIntegerPower with Maximum or Minimum for an Arraylist.

Examples

  1. The following request finds the minimum and maximum differences between the two values that constitute each item in the FloatNamedArraylist. A class method is the Minimum and Maximum function parameter.

    b class annual public variable ybegin is float variable yend is float constructor newa (%beg is float, %end is float) function myprint is string len 24 function chg is float end public constructor newa (%beg is float, %end is float) %ybegin = %beg %yend = %end end constructor function myprint is string len 24 return 'ybegin=' with %ybegin with ', ' - with 'yend=' with %yend end function function chg is float %chg is float %chg = %yend - %ybegin return %chg end function End class %fann is floatnamedArraylist of object annual %fann = new %fann(12) = newa(621, 650) %fann(14) = newa(334, 343) %fann(15) = newa(288, 276) %fann(13) = newa(141, 182) %fann(11) = newa(131, 115) %i is float for %i from 1 to %fann:count print %fann:namebynumber(%i) With ': ' - With %fann:itembynumber(%i):myprint end for print 'item ' %fann:minimum(chg) ' has the minimum increase' print 'item ' %fann:maximum(chg) ' has the maximum increase' end

    The result is.

    11: ybegin=131, yend=115 12: ybegin=621, yend=650 13: ybegin=141, yend=182 14: ybegin=334, yend=343 15: ybegin=288, yend=276 item 11 has the minimum increase item 13 has the maximum increase

  2. For more examples, see the NamedArraylist Minimum "Examples" and "Finding collection maxima and minima, and sorting".

See also