elem(0) = (rhs.elem() | S(1)) & S(4095);
elem(0) = rhs.elem() & S(4095);
  PSeed& assign(const PScalar<T1>& rhs)     {      typedef typename InternalScalar<T1>::Type_t  S;      elem(0) = (rhs.elem() | S(1)) & S(4095);      elem(1) = (rhs.elem() >> S(12)) & S(4095);      elem(2) = (rhs.elem() >> S(24)) & S(4095);//      elem(3) = (rhs.elem() >> S(36)) & S(2047);  // This probably will never be nonzero      zero_rep(elem(3));    // assumes 32 bit integers      return *this;    }