/* 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