mealyfsmedge.java

来自「Java遗传算法库」· Java 代码 · 共 57 行

JAVA
57
字号
/*
 * MealyFSMEdge.java
 *
 * Created on May 30, 2003, 2:33 PM
 */

package jaga.pj.circuits.experiment;

/** Edge in a Mealy Finite State Machine contains inputs, outputs and next
 * state.  Also has variables to save state of how this has been walked along.
 * <p>Stuff made public for speed.</p>
 * @author  Michael Garvie
 * @version 
 */
public class MealyFSMEdge implements java.io.Serializable {

    public boolean[] inputs;
    public boolean[] outputs;
    public int[] outputXPos = null;
    public MealyFSMNode dest;
    public boolean walked;
    public boolean permanent;
    
    /** Creates new MealyFSMEdge */
    public MealyFSMEdge(MealyFSMNode dest, String ins, String outs) {
        this.dest = dest;
        outputs = new boolean[ outs.length() ];
        inputs = new boolean[ ins.length() ];
        int xCount = 0;
        for( int dl = 0; dl < outs.length(); dl++ )
        {
            outputs[ dl ] = outs.charAt( dl ) == '1';
            if( outs.charAt( dl ) == '-' )
            {
                xCount++;
            }
        }
        if( xCount > 0 )
        {
            outputXPos = new int[ xCount ];
            for( int dl = 0; dl < outs.length(); dl++ )
            {
                if( outs.charAt( dl ) == '-' )
                {
                    outputXPos[ --xCount ] = dl;
                }
            }
        }            
        for( int dl = 0; dl < ins.length(); dl++ )
        {
            inputs[ dl ] = ins.charAt( dl ) == '1';
        }
        walked = false;
        permanent = false;
    }
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?