ec.app.multiplexer
Class MultiplexerData

java.lang.Object
  extended by ec.gp.GPData
      extended by ec.app.multiplexer.MultiplexerData
All Implemented Interfaces:
Prototype, Setup, java.io.Serializable, java.lang.Cloneable

public class MultiplexerData
extends GPData

This is ugly and complicated because it needs to hold a variety of different-length bitstrings, including temporary ones held while computing subtrees.

Version:
1.0
Author:
Sean Luke
See Also:
Serialized Form

Field Summary
 long[] dat_11
          An array of 32 longs for Multiplexer-11 data
 byte dat_3
          A byte for Multiplexer-3 data
 long dat_6
          A long for Multiplexer-6 data
static int MULTI_11_BITLENGTH
          The length of an atomic data element in Multiplexer-11 (a long)
static int MULTI_11_NUM_BITSTRINGS
          The number of atomic elements in Multiplexer-11 comprising one string (32)
static int MULTI_3_BITLENGTH
          The length of an atomic data element in Multiplexer-3 (a byte)
static int MULTI_6_BITLENGTH
          The length of an atomic data element in Multiplexer-6 (a long)
 byte status
          A byte indicating the number of Dn in this problem
static byte STATUS_11
          The number of Dn in Multiplexer-11
static byte STATUS_3
          The number of Dn in Multiplexer-3
static byte STATUS_6
          The number of Dn in Multiplexer-6
 java.util.Stack tmp
          A stack of available long arrays for popDat11/pushDat11
 
Fields inherited from class ec.gp.GPData
P_GPDATA
 
Constructor Summary
MultiplexerData()
           
 
Method Summary
 java.lang.Object clone()
          Creates a new individual cloned from a prototype, and suitable to begin use in its own evolutionary context.
 GPData copyTo(GPData gpd)
          Modifies gpd so that gpd is equivalent to us.
 long[] popDat11()
          Pops a dat_11 off of the stack; if the stack is empty, creates a new dat_11 and returns that.
 void pushDat11(long[] l)
          Pushes a dat_11 onto the stack
 
Methods inherited from class ec.gp.GPData
defaultBase, setup
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tmp

public java.util.Stack tmp
A stack of available long arrays for popDat11/pushDat11


STATUS_3

public static final byte STATUS_3
The number of Dn in Multiplexer-3

See Also:
Constant Field Values

STATUS_6

public static final byte STATUS_6
The number of Dn in Multiplexer-6

See Also:
Constant Field Values

STATUS_11

public static final byte STATUS_11
The number of Dn in Multiplexer-11

See Also:
Constant Field Values

MULTI_3_BITLENGTH

public static final int MULTI_3_BITLENGTH
The length of an atomic data element in Multiplexer-3 (a byte)

See Also:
Constant Field Values

MULTI_6_BITLENGTH

public static final int MULTI_6_BITLENGTH
The length of an atomic data element in Multiplexer-6 (a long)

See Also:
Constant Field Values

MULTI_11_BITLENGTH

public static final int MULTI_11_BITLENGTH
The length of an atomic data element in Multiplexer-11 (a long)

See Also:
Constant Field Values

MULTI_11_NUM_BITSTRINGS

public static final int MULTI_11_NUM_BITSTRINGS
The number of atomic elements in Multiplexer-11 comprising one string (32)

See Also:
Constant Field Values

dat_11

public long[] dat_11
An array of 32 longs for Multiplexer-11 data


dat_6

public long dat_6
A long for Multiplexer-6 data


dat_3

public byte dat_3
A byte for Multiplexer-3 data


status

public byte status
A byte indicating the number of Dn in this problem

Constructor Detail

MultiplexerData

public MultiplexerData()
Method Detail

popDat11

public long[] popDat11()
Pops a dat_11 off of the stack; if the stack is empty, creates a new dat_11 and returns that.


pushDat11

public void pushDat11(long[] l)
Pushes a dat_11 onto the stack


clone

public java.lang.Object clone()
Description copied from interface: Prototype
Creates a new individual cloned from a prototype, and suitable to begin use in its own evolutionary context.

Typically this should be a full "deep" clone. However, you may share certain elements with other objects rather than clone hem, depending on the situation:

Implementations.

Specified by:
clone in interface Prototype
Overrides:
clone in class GPData

copyTo

public GPData copyTo(GPData gpd)
Description copied from class: GPData
Modifies gpd so that gpd is equivalent to us. You may safely assume that gpd is of the same class as we are.

Specified by:
copyTo in class GPData