naturalnumbertableadder.java

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

JAVA
35
字号
/*
 * NaturalNumberTableAdder.java	1.0 05/04/15
 *
 * Copyright 2004-2005 Positronic Software.
 *
 *
 */

package positronic.satisfiability.naturalnumbertable;

import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.elements.Problem;
import positronic.satisfiability.exceptions.NaturalNumberTableAdderException;
import positronic.satisfiability.naturalnumber.NaturalNumberAdder;

public class NaturalNumberTableAdder extends Problem implements IProblem
{
  private static final long serialVersionUID = 1L;

	public NaturalNumberTableAdder(INaturalNumberTable X, INaturalNumberTable Y, INaturalNumberTable Z) throws Exception
  {
    if(!X.isSameSizeAs(Y) || !X.isSameSizeAs(Z))
      throw new NaturalNumberTableAdderException("INaturalNumberTables of differing sizes were passed to a constructor.");
    else
    {
      IProblem[] p=new IProblem[X.getRows()*X.getColumns()];
      int count=0;
      for(int i=0;i<X.getRows();i++)
      	for(int j=0;j<X.getColumns();j++)
      		p[count++]=new NaturalNumberAdder(X.get(i,j),Y.get(i,j),Z.get(i,j));
      this.setClauses(new Conjunction(p).getClauses());
    }
  }
}

⌨️ 快捷键说明

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