| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjal.objects.Numeric
A class that encapsulates generalized numeric algorithms on one and two arrays. All methods are static and all variables are static and final, so this class has no constructors.
 Most methods operate on a range of elements.  A range is described
 by the index of its first element and an index that is 
 one past its last element.  So, for example,
 [n, n+1) is a range that contains one element,
 [n, n) is a range that contains zero elements,
 and [n, n-1) is not a valid range.
 
 
 Unless otherwise specified, the test for equality uses
 the == operator by default.  Any different notion of
 equality may be represented as a BinaryPredicate.  You can use the
 predefined class Equals, which implements BinaryPredicate, if you want 
 to use the Object.equals() method.
 
Copyright © 1996
 Silicon Graphics, Inc.
 
Permission to use, copy, modify, distribute and sell this software
 and its documentation for any purpose is hereby granted without fee,
 provided that the above copyright notice appear in all copies and
 that both that copyright notice and this permission notice appear
 in supporting documentation.  Silicon Graphics makes no
 representations about the suitability of this software for any
 purpose.  It is provided "as is" without express or 
 implied warranty.
Inspection, 
Modification, 
Sorting| Method Summary | |
| static Object | accumulate(Object[] array,
           int first,
           int last,
           Object init,
           BinaryOperator op)Generalized accumulation. | 
| static int | adjacent_difference(Object[] source,
                    Object[] dest,
                    int first,
                    int last,
                    int to,
                    BinaryOperator op)Computes a binary operation opfor each pair of adjacent elements in
 the input range and assigns the results to an output range. | 
| static Object | inner_product(Object[] array1,
              Object[] array2,
              int first1,
              int last1,
              int first2,
              Object init,
              BinaryOperator op1,
              BinaryOperator op2)Computes the generalized inner product of two ranges. | 
| static int | partial_sum(Object[] source,
            Object[] dest,
            int first,
            int last,
            int to,
            BinaryOperator op)Computes the generalized partial sums of elements in an input range and assigns them to elements in an output range. | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Method Detail | 
public static Object accumulate(Object[] array,
                                int first,
                                int last,
                                Object init,
                                BinaryOperator op)
acc is set to 
 an initial value and, for each index i in the range, 
 it is set to op.apply(acc, array[i]).
array - Array containing the range.first - Beginning of the range.last - Last element of the range.init - Initial value of the accumulation.op - Binary operation.
public static Object inner_product(Object[] array1,
                                   Object[] array2,
                                   int first1,
                                   int last1,
                                   int first2,
                                   Object init,
                                   BinaryOperator op1,
                                   BinaryOperator op2)
op1 and op2.  Specifically, the result
 acc is set to an initial value, and, for each index
 i in the range [first, last), 
 acc is set to 
 op1.apply(acc, op2.apply(array1[i] * array2[first2 + (i - first1)])).
array1 - Array containing the first range.array2 - Array containing the second range.first1 - Beginning of the first range.last1 - One past the end of the first range.first2 - Beginning of the second range.init - Initial value for the result.op1 - Binary operation that plays the role of addition.
public static int partial_sum(Object[] source,
                              Object[] dest,
                              int first,
                              int last,
                              int to,
                              BinaryOperator op)
op.
 dest[to] = source[first],
 dest[to+1] = op.apply(source[first], source[first+1]),
 etc. 
 There must be
 enough space in the destination array, and existing elements 
 will be overwritten.
source - Array containing the input range.dest - Array containing the output range.first - Beginning of the input range.last - One past the end of the input range.to - Beginning of the output range.op - Binary operation that plays the role of addition.
to + (last - first).
public static int adjacent_difference(Object[] source,
                                      Object[] dest,
                                      int first,
                                      int last,
                                      int to,
                                      BinaryOperator op)
op for each pair of adjacent elements in
 the input range and assigns the results to an output range.  Assigns
 dest[to] = source[first],
 dest[to+1] = op.apply(source[first+1], source[first]),...,
 dest[to + (last-first)] = op.apply(source[last-1], source[last-2]).
 There must be
 enough space in the destination array, and existing elements 
 will be overwritten.
source - Array containing the input range.dest - Array containing the output range.first - Beginning of the input range.last - One past the end of the input range.to - Beginning of the output range.op - Binary operation.
to + (last - first).| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||