bitstringlistfixer.java
来自「Java版的SAT求解器」· Java 代码 · 共 55 行
JAVA
55 行
/* * BitStringListFixer.java 1.0 05/04/11 * * Copyright 2004-2005 Positronic Software. * * */package positronic.satisfiability.bitstringlist;import positronic.satisfiability.elements.*;import positronic.satisfiability.exceptions.*;public class BitStringListFixer extends Problem implements IProblem{ private static final long serialVersionUID = 1L; public BitStringListFixer(IBitStringList target) throws Exception { if(target==null) throw new BitStringListFixerException("Passed null IBitStringList to constructor."); IProblem problem=null; for(int i=0;i<target.size();i++) for(int j=0;j<target.getBitString(i).size();j++) problem=new Conjunction(problem,new BitFixer(target.getBitString(i).getBooleanVariable(j), target.getBitString(i).getBooleanVariable(j).getValue())); this.setClauses(problem.getClauses()); } /* public BitStringListFixer(IBitStringList target, boolean[][] data) throws BooleanLiteralException,BitStringException,BitStringListException { if(data==null) throw new BitStringListException("Passed null boolean[][] to constructor."); IProblem problem=null; for(int i=0;i<data.length;i++) for(int j=0;j<data[i].length;j++) problem=new Conjunction(problem,new BitFixer(target.getBitString(i).getBooleanVariable(j),data[i][j])); this.setClauses(problem.getClauses()); } public BitStringListFixer(IBitStringList target, IBitString[] data) throws BooleanLiteralException,BitStringException,BitStringListException { boolean[][] bdata=new boolean[data.length][]; for(int i=0;i<bdata.length;i++) { bdata[i]=new boolean[data[i].size()]; for(int j=0;j<bdata[i].length;j++) bdata[i][j]=data[i].getBooleanVariable(j).getValue(); } BitStringListFixer res=new BitStringListFixer(target,bdata); this.setClauses(res.getClauses()); } */}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?