Minimum (FloatNamedArraylist function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 18: Line 18:
Minimum is available in ''Sirius Mods'' version 7.3 and later.
Minimum is available in ''Sirius Mods'' version 7.3 and later.
==Syntax==
==Syntax==
  %num = %fnamrayl:Minimum(function)
<p class="code">%num = %fnamrayl:Minimum(function)
</p>
===Syntax Terms===
===Syntax Terms===
<dl>
<dl>
Line 67: Line 68:


For more examples of Minimum and Maximum for collections, see [[Collections#Finding collection maxima and minima, and sorting|Finding collection maxima and minima, and sorting]].
For more examples of Minimum and Maximum for collections, see [[Collections#Finding collection maxima and minima, and sorting|Finding collection maxima and minima, and sorting]].
<pre style="xmp">
<p class="code">b
    b
class annual
    class annual
public
    public
  variable ybegin is float
      variable ybegin is float
  variable yend is float
      variable yend is float
  constructor newa (%beg is float, %end is float)
      constructor newa (%beg is float, %end is float)
  function myprint is string len 24
      function myprint is string len 24
  function chg is float
      function chg is float
end public
    end public


    constructor newa (%beg is float, %end is float)
constructor newa (%beg is float, %end is float)
      %ybegin = %beg
  %ybegin = %beg
      %yend = %end
  %yend = %end
    end constructor
end constructor


    function myprint is string len 24
function myprint is string len 24
      return 'ybegin=' with %ybegin with ', ' -
  return 'ybegin=' with %ybegin with ', ' -
        with 'yend=' with %yend
    with 'yend=' with %yend
    end function
end function


    function chg is float
function chg is float
      %chg is float
  %chg is float
      %chg = %yend - %ybegin
  %chg = %yend - %ybegin
      return %chg
  return %chg
    end function
end function


    End class
End class


    %fann is floatnamedArraylist of object annual
%fann is floatnamedArraylist of object annual
    %fann = new
%fann = new
    %fann(12) = newa(621, 650)
%fann(12) = newa(621, 650)
    %fann(14) = newa(334, 343)
%fann(14) = newa(334, 343)
    %fann(15) = newa(288, 276)
%fann(15) = newa(288, 276)
    %fann(13) = newa(141, 182)
%fann(13) = newa(141, 182)
    %fann(11) = newa(131, 115)
%fann(11) = newa(131, 115)


    %i is float
%i is float
    for %i from 1 to %fann:count
for %i from 1 to %fann:count
      print %fann:namebynumber(%i) With ': ' -
  print %fann:namebynumber(%i) With ': ' -
      With %fann:itembynumber(%i):myprint
  With %fann:itembynumber(%i):myprint
    end for
end for


    print 'item ' %fann:minimum(chg) ' has the minimum increase'
print 'item ' %fann:minimum(chg) ' has the minimum increase'
    print 'item ' %fann:maximum(chg) ' has the maximum increase'
print 'item ' %fann:maximum(chg) ' has the maximum increase'


    end
end
</pre>
</p>


The result is.
The result is.
<pre style="xmp">
<p class="output">11: ybegin=131, yend=115
    11: ybegin=131, yend=115
12: ybegin=621, yend=650
    12: ybegin=621, yend=650
13: ybegin=141, yend=182
    13: ybegin=141, yend=182
14: ybegin=334, yend=343
    14: ybegin=334, yend=343
15: ybegin=288, yend=276
    15: ybegin=288, yend=276
item 11 has the minimum increase
    item 11 has the minimum increase
item 13 has the maximum increase
    item 13 has the maximum increase
</p>
</pre>

Revision as of 20:54, 28 January 2011

<section begin=dpl_desc/>Get item that has minimum value<section end=dpl_desc/>

Minimum is a member of the FloatNamedArraylist class.

This function returns the number (subscript) of the FloatNamedArraylist item that has the minimum value after the application of a specified function to each item. The function that gets applied to each FloatNamedArraylist item, which you identify in the argument to Minimum, must be a method that operates on the item type and returns a User Language intrinsic datatype (Float, String, Longstring, or Unicode) value.

The system intrinsic classes are discussed in "Intrinsic classes". Local methods are discussed in ?? refid=localm..

Minimum is available in Sirius Mods version 7.3 and later.

Syntax

%num = %fnamrayl:Minimum(function)

Syntax Terms

%num
A numeric variable to contain the subscript number of the item in the indicated FloatNamedArraylist that has the minimum value after the argument function has been applied.
%fnamrayl
A FloatNamedArraylist object.
function
A method value (a method name literal, a method variable, or even a method that returns a method value) for a method that operates on objects of the type specified on the %fnamrayl declaration and that returns a numeric or string value. As of Sirius Mods version 7.6, the special identity function, This, is the default function value for the Maximum and Minimum methods. See Using the This function as the Maximum parameter.

Usage Notes

  • If the function applied by Minimum returns string values, Minimum uses the decimal-equivalent value of the character bytes and determines the number of the item that has the lowest value. Therefore, lowercase letters are ranked alphabetically and the minimum lowercase letter is “a”; the uppercase letters are ranked alphabetically and the minimum uppercase letter is “A”; “z” ranks lower than all the uppercase letters; and all letters rank lower than any number.
  • If one or more FloatNamedArraylist items have equal, minimum, values, Minimum returns the subscript of the item that appears closest to the beginning of the FloatNamedArraylist.
  • The Maximum function is the opposite of the Minimum function.
  • The parameter for Minimum 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

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.

For more examples of Minimum and Maximum for collections, see Finding collection maxima and minima, and sorting.

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