/* --------------------------------------------------------------------- * Numenta Platform for Intelligent Computing (NuPIC) * Copyright (C) 2014, Numenta, Inc. Unless you have an agreement * with Numenta, Inc., for a separate license for this software code, the * following terms and conditions apply: * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero Public License version 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Affero Public License for more details. * * You should have received a copy of the GNU Affero Public License * along with this program. If not, see http://www.gnu.org/licenses. * * http://numenta.org/licenses/ * --------------------------------------------------------------------- */ package org.numenta.nupic.util; /** * Implemented to be used as arguments in other operations. * see {@link ArrayUtils#retainLogicalAnd(int[], Condition[])}; * {@link ArrayUtils#retainLogicalAnd(double[], Condition[])}. */ public interface Condition<T> { /** * Convenience adapter to remove verbosity * @author metaware * */ public class Adapter<T> implements Condition<T> { public boolean eval(int n) { return false; } public boolean eval(double d) { return false; } public boolean eval(T t) { return false; } } public boolean eval(int n); public boolean eval(double d); public boolean eval(T t); }