return localInnerProduct(s1.elem(), s2.elem());
typedef typename BinaryReturn<RComplex<T1>, RComplex<T2>, FnLocalInnerProduct>::Type_t  Ret_t;  return Ret_t(localInnerProduct(l.real(),r.real()) + localInnerProduct(l.imag(),r.imag()), localInnerProduct(l.real(),r.imag()) - localInnerProduct(l.imag(),r.real()));
localInnerProduct(const RScalar<T1>& s1, const RScalar<T2>& s2){  return localInnerProduct(s1.elem(), s2.elem());}