public BV64Algebra(CharSetSolver solver, BDD[] minterms) : base(new MintermClassifier(solver, minterms), solver.ComputeDomainSizes(minterms), minterms) { Debug.Assert(minterms.Length <= 64); _mintermGenerator = new MintermGenerator <ulong>(this); _false = 0; _true = _bits == 64 ? ulong.MaxValue : ulong.MaxValue >> (64 - _bits); }
public BVAlgebra(CharSetSolver solver, BDD[] minterms) : base(new MintermClassifier(solver, minterms), solver.ComputeDomainSizes(minterms), minterms) { _mintermGenerator = new MintermGenerator <BV>(this); False = BV.CreateFalse(_bits); True = BV.CreateTrue(_bits); var singleBitVectors = new BV[_bits]; for (int i = 0; i < singleBitVectors.Length; i++) { singleBitVectors[i] = BV.CreateSingleBit(_bits, i); } _minterms = singleBitVectors; }