/* SCCS - @(#)NslAdd.java 1.6 - 09/01/99 - 00:18:05 */ // Copyright: Copyright (c) 1997 University of Southern California Brain Project. // Copyright: This software may be freely copied provided the toplevel // Copyright: COPYRIGHT file is included with each such copy. // Copyright: Email nsl@java.usc.edu. /* * $Log: NslAdd.java,v $ * Revision 1.2 1997/11/18 01:28:50 erhan * NslMin/Max now works on doubles also * * Revision 1.1 1997/07/30 21:19:28 erhan * nsl3.0 * * Revision 1.1.1.1 1997/03/12 22:52:20 nsl * new dir structure * * Revision 1.1.1.1 1997/02/08 00:40:40 nsl * Imported the Source directory * */ //////////////////////////////////////////////////////////// // // Addition routines // // package nslj.src.math; import nslj.src.lang.*; /** Addition routines. There are two basic format for the evaluation method in this routine: 1, eval(a, b) -> c a, b are the parameter of the evaluation function to do a adds b pointwise and the result is passed out as c 2. eval(dest, a, b) -> c a, b are the parameter of the evaluation function and dest is the temporary space to hold the result. The method returns the reference to dest. */ public final class NslAdd { // 0d native ints public static int eval(int a, int b) { return a+b; } // 1d native ints public static int[] eval(int[] a, int b) { int[] dest = new int[a.length]; return eval(dest, a, b); } public static int[] eval(int[] dest, int[] a, int b) { int i; int len = dest.length; if (len != a.length ) { len = a.length; dest = new int[len]; } for (i=0; i