/*
* Copyright (C) 2014 - Martin Berger
* CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
*/
package edu.stanford.rsl.conrad.data.generic;
import edu.stanford.rsl.conrad.data.generic.datatypes.Gridable;
public interface GenericGridOperatorInterface<T extends Gridable<T>> {
public void addBy(final GenericGrid<T> grid, T val);
public void addBy(final GenericGrid<T> gridA, final GenericGrid<T> gridB);
public void subtractBy(final GenericGrid<T> grid, T val);
public void subtractBy(final GenericGrid<T> gridA, final GenericGrid<T> gridB);
public void multiplyBy(final GenericGrid<T> grid, T val);
public void multiplyBy(final GenericGrid<T> gridA, final GenericGrid<T> gridB);
public void divideBy(final GenericGrid<T> grid, T val);
public void divideBy(final GenericGrid<T> gridA, final GenericGrid<T> gridB);
public void copy(final GenericGrid<T> gridA, final GenericGrid<T> gridB);
public void fill(final GenericGrid<T> grid, T val);
public T sum(final GenericGrid<T> grid);
public T min(final GenericGrid<T> grid);
public T max(final GenericGrid<T> grid);
public T dotProduct(final GenericGrid<T> gridA, final GenericGrid<T> gridB);
}