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