
org.numenta.nupic.encoders.EncoderTuple Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of htm.java Show documentation
Show all versions of htm.java Show documentation
The Java version of Numenta's HTM technology
/* ---------------------------------------------------------------------
* 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 General 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses.
*
* http://numenta.org/licenses/
* ---------------------------------------------------------------------
*/
package org.numenta.nupic.encoders;
import org.numenta.nupic.util.Tuple;
/**
* Subclass of {@link Tuple} specialized to hold the 3-value contents
* of an "encoder tuple". Each {@code EncoderTuple} holds a name, encoder and offset
* in that order. Also, every EncoderTuple's size == 3.
*
* @author David Ray
* @see Tuple
*/
public class EncoderTuple extends Tuple {
/**
* Constructs a new {@code EncoderTuple}
*
* @param name the {@link Encoder}'s name
* @param e the {@link Encoder}
* @param offset the offset within the input (first on bit) that this
* encoder encodes/decodes. (see {@link ScalarEncoder#getFirstOnBit(
* org.numenta.nupic.research.Connections, double)})
*/
public EncoderTuple(String name, Encoder> e, int offset) {
super(name, e, offset);
if(name == null) throw new IllegalArgumentException("Can't instantiate an EncoderTuple " +
" with a null Name");
if(e == null) throw new IllegalArgumentException("Can't instantiate an EncoderTuple " +
" with a null Encoder");
}
/**
* Returns the {@link Encoder}'s name
* @return
*/
public String getName() {
return (String)get(0);
}
/**
* Returns this {@link Encoder}
* @return
*/
public Encoder> getEncoder() {
return (Encoder>)get(1);
}
/**
* Returns the index of the first on bit (offset)
* the {@link Encoder} encodes.
* @return
*/
public int getOffset() {
return (Integer)get(2);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy