bitstringmapper.java

来自「Java版的SAT求解器」· Java 代码 · 共 69 行

JAVA
69
字号
/* * BitStringMapper.java	1.0 05/04/21 * * Copyright 2004-2005 Positronic Software. * * */package positronic.satisfiability.bitstring;import positronic.satisfiability.bitstring.BitStringFixer;import positronic.satisfiability.bitstring.IBitString;import positronic.satisfiability.bitstringlist.IBitStringList;import positronic.satisfiability.elements.IProblem;import positronic.satisfiability.elements.Mapper;import positronic.satisfiability.elements.Problem;public class BitStringMapper extends Problem implements IProblem{  private static final long serialVersionUID = 1L;  private IBitString domainVariable;  private IBitString rangeVariable;  public BitStringMapper(IBitString[] x, IBitString[] y, IBitString X, IBitString Y) throws Exception  {    if(x.length == 0 || y.length == 0 || x.length != y.length)      this.setClauses(Problem.unsolvableProblem().getClauses());    else    {      this.domainVariable=X;      this.rangeVariable=Y;      IProblem[] px=new Problem[x.length];      IProblem[] py=new Problem[y.length];      for(int i=0;i<x.length;i++)      {        px[i]=new BitStringFixer(this.domainVariable,(IBitString)x[i]);        py[i]=new BitStringFixer(this.rangeVariable,(IBitString)y[i]);      }      IProblem pcomb=new Mapper(px,py);      this.setClauses(pcomb.getClauses());    }  }  public BitStringMapper(IBitStringList x, IBitStringList y, IBitString X, IBitString Y) throws Exception  {    this((IBitString[])x.toArray(new IBitString[0]),      (IBitString[])y.toArray(new IBitString[0]),X,Y);  }	public IBitString getDomainVariable()	{		return domainVariable;	}	public IBitString getRangeVariable()	{		return rangeVariable;	}	public void setDomainVariable(IBitString domainVariable)	{		this.domainVariable = domainVariable;	}	public void setRangeVariable(IBitString rangeVariable)	{		this.rangeVariable = rangeVariable;	}}

⌨️ 快捷键说明

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