Example #1
0
 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);
 }
Example #2
0
        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;
        }