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 + -
显示快捷键?