typename BinaryReturn<PScalar<T1>, PScalar<T2>, OpRightShift>::Type_t  d;
cerr << "inside pscalar" << endl; if (Layout::primaryNode()) s >> d.elem();
operator>>(const PScalar<T1>& l, const PScalar<T2>& r){  typename BinaryReturn<PScalar<T1>, PScalar<T2>, OpRightShift>::Type_t  d;  d.elem() = l.elem() >> r.elem();  return d;}