public FilterContent(UnflatFilter unflat) { SIRFilter filter=unflat.filter; name=filter.getName(); inputType=filter.getInputType(); outputType=filter.getOutputType(); initMult=unflat.initMult; steadyMult=unflat.steadyMult; array=unflat.array; if(array!=null) { linear=true; constant=unflat.constant; popCount=unflat.popCount; int mod=array.length%popCount; if(mod!=0) { final int len=array.length+popCount-mod; double[] temp=new double[len]; System.arraycopy(array,0,temp,0,array.length); array=temp; } begin=true; end=true; pos=0; total=1;       } else { linear=false; init=filter.getInitPhases(); steady=filter.getPhases(); methods=filter.getMethods(); fields = filter.getFields(); paramList=filter.getParams(); initFunction = filter.getInit(); is2stage = steady.length > 1; }
public FilterContent(FilterContent content) { name=content.name; init=content.init; steady=content.steady; inputType=content.inputType; outputType=content.outputType; initMult=content.initMult; steadyMult=content.steadyMult; methods=content.methods; paramList=content.paramList; initFunction=content.initFunction; is2stage=content.is2stage; fields=content.fields; array=content.array; constant=content.constant; popCount=content.popCount; linear=content.linear; begin=content.begin; end=content.end; pos=content.pos; total=content.total;
    public FilterContent(UnflatFilter unflat) {	SIRFilter filter=unflat.filter;	name=filter.getName();	inputType=filter.getInputType();	outputType=filter.getOutputType();	initMult=unflat.initMult;	steadyMult=unflat.steadyMult;	array=unflat.array;	if(array!=null) {	    linear=true;	    constant=unflat.constant;	    popCount=unflat.popCount;	    int mod=array.length%popCount;	    if(mod!=0) {		final int len=array.length+popCount-mod;		double[] temp=new double[len];		System.arraycopy(array,0,temp,0,array.length);		array=temp;	    }	    begin=true;	    end=true;	    pos=0;	    total=1;	    //methods=filter.getMethods(); //Keep nonlinear rep	    //steady=filter.getPhases(); //Keep nonlinear rep	    //fields=filter.getFields(); //Keep nonlinear rep	    //paramList = filter.getParams(); //Keep nonlinear rep	    //initFunction=filter.getInit(); //Keep nonlinear rep	    //init=filter.getInitPhases(); //Keep nonlinear rep	} else {	    linear=false;	    init=filter.getInitPhases();	    steady=filter.getPhases();	    methods=filter.getMethods();	    fields = filter.getFields();	    paramList=filter.getParams();	    initFunction = filter.getInit();	    is2stage = steady.length > 1;	}    }