Logo
Distributed Genetic Programming Framework
print print

File org.dgpf.gp.automaton.base.Construct.java

Here you can find all the information about the file org.dgpf.gp.automaton.base.Construct.java. You may explore it here or download it onto your local disk.
/*
 * Copyright (c) 2005 Thomas Weise
 * 
 * E-Mail           : tweise@gmx.de
 * Creation Date    : 2005-12-28 09:32:55
 * Original Filename: org.dgpf.automaton.base.Construct.java
 * Version          : 2.2.1
 * Last modification: 2006-05-08
 *                by: Thomas Weise
 * 
 * License          : GNU LESSER GENERAL PUBLIC LICENSE
 *                    Version 2.1, February 1999
 *                    You should have received a copy of this license along
 *                    with this library; if not, write to the Free Software
 *                    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *                    MA 02111-1307, USA or download the license under
 *                    http://www.gnu.org/copyleft/lesser.html.
 *                    
 * Warranty         : This software is provided "as is" without any
 *                    warranty; without even the implied warranty of
 *                    merchantability or fitness for a particular purpose.
 *                    See the Gnu Lesser General Public License for more
 *                    details.
 */

 
package org.dgpf.gp.automaton.base;


/**
 * A construct is the base of all instructions or expressions.
 * 
 * @param <HandlerType> The type of handler used by this construct.
 * 
 * @author Thomas Weise
 */

abstract class Construct<HandlerType>  extends AutomatonBase
  {  
/**
 * The serial version uid.
 */

  private static  final long            serialVersionUID  = 1;
  
/**
 * The required ticks of this construct.
 */

  int m_ticks       ;

  
/**
 * Create a new construct that requires some processor time.
 * @param p_ticks The ticks required for the construct.
 */

  Construct(final int p_ticks)
    {
    super();
    this.set_ticks(p_ticks);
    }
  
/**
 * Set the ticks of this construct. <warning>This method must only be
 * called from initializing routines.</warning>
 * @param p_ticks The ticks required for the construct.
 */

  protected final void  set_ticks (final int p_ticks)
    {
    this.m_ticks = ((p_ticks > 0) ? p_ticks : 1);
    }
  
  
/**
 * Returns the complexity of this element.
 * That is the count of cpu ticks that would be consumed if every single
 * sub-statement of the element was executed once.
 * @return The static complexity of this element.
 */

  @Override
  public final int   get_complexity  ()
    {
    return this.m_ticks;
    }
/**
 * Returns the genetic handler of the code construct.
 * @return The genetic handler of the code construct.
 */

  public  abstract  HandlerType get_handler ();
  
/**
 * This method is called when the construct is executed. It performs the
 * work of the construct.
 * @param p_automate    The automate it is invoked on.
 * @return  The return value of the construct.
 */

          abstract  int   execute (final Automaton p_automate) ;
          
/**
 * Checks wether this object is equal to another object.
 * This method must be implemented to allow the mutation and crossover
 * routines to ensure that new programs are obtained.
 * @param p_object  The object to compare with.
 * @return  <code>true</code> if and only if the two objects are exactly
 *          equal.
 */

  @Override
  public  abstract  boolean equals  (final Object p_object);  
  }

File Information:

file name:Construct.java
package:org.dgpf.gp.automaton.base
qualified name:org.dgpf.gp.automaton.base.Construct.java
file type:Java Source File
download location:download http://dgpf.sourceforge.net/source/org/dgpf/gp/automaton/base/Construct.java
size:3.263 KB (3342 B)
uploaded: 2015-07-22 04:10:55 GMT+0000
last update: 2006-05-08 13:38:44 GMT+0000
last access: 2017-11-17 19:01:41 GMT+0000

statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/scripts/source/source.php last modified at 2015-07-22 04:10:53 GMT+0000 served at 2017-11-17 19:01:41 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo