typename BinaryReturn<RScalar<T1>, RScalar<T2>, FnLocalInnerProductReal>::Type_t  d;
typename BinaryReturn<RComplex<T1>, RComplex<T2>, FnLocalInnerProductReal>::Type_t  d;
localInnerProductReal(const RScalar<T1>& s1, const RScalar<T2>& s2){  typename BinaryReturn<RScalar<T1>, RScalar<T2>, FnLocalInnerProductReal>::Type_t  d;  d.elem() = localInnerProductReal(s1.elem(), s2.elem());  return d;}