Beispiel #1
0
vector<int> rscc::determineinput(const vector<int>& input) const
   {
   assert(input.size() == k);
   vector<int> ip = input;
   for (int i = 0; i < ip.size(); i++)
      if (ip(i) == fsm::tail)
         ip(i) = (reg(i) + bitfield(0, 1)) * gen(i, i);
   return ip;
   }
Beispiel #2
0
bitfield rscc::determinefeedin(const vector<int>& input) const
   {
   assert(input.size() == k);
   // check we have no 'tail' inputs
   for (int i = 0; i < k; i++)
      assert(input(i) != fsm::tail);
   // compute input junction
   bitfield sin, ip = bitfield(vector<bool>(input));
   for (int i = 0; i < k; i++)
      sin = ((reg(i) + ip.extract(i)) * gen(i, i)) + sin;
   return sin;
   }