cMHN 1.1
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
Namespaces | Functions
contract.hpp File Reference
#include <prc/core/basic/functions/is_even.hpp>
#include <prc/core/basic/functions/min.hpp>
#include <prc/core/functors/view.hpp>
#include <prc/core/tensor/views/contract.hpp>

Go to the source code of this file.

Namespaces

namespace  pRC
 

Functions

template<Index... Is, class X , class R = RemoveReference<X>, If< IsTensorish< R > > = 0, If< IsInvocable< View, X > > = 0, If< IsSatisfied<(isEven(sizeof...(Is)))> > = 0, If< IsSatisfied<(sizeof...(Is)<=typename R::Dimension())> > = 0>
static constexpr auto pRC::contract (X &&a)
 
template<Index... Is, class XA , class XB , class RA = RemoveReference<XA>, class RB = RemoveReference<XB>, If< IsTensorish< RA > > = 0, If< IsInvocable< View, XA > > = 0, If< IsTensorish< RB > > = 0, If< IsInvocable< View, XB > > = 0, If< IsSatisfied<(isEven(sizeof...(Is)))> > = 0, If< IsSatisfied<(sizeof...(Is)/2<=min(typename RA::Dimension(), typename RB::Dimension()))> > = 0>
static constexpr auto pRC::contract (XA &&a, XB &&b)
 
template<Index... Is, class X , class R = RemoveReference<X>, If< IsTensorish< R > > = 0, If< Not< IsInvocable< View, X > > > = 0, If< IsInvocable< Contract< Is... >, X & > > = 0>
static constexpr auto pRC::contract (X &&a)
 
template<Index... Is, class XA , class XB , class RA = RemoveReference<XA>, class RB = RemoveReference<XB>, If< IsTensorish< RA > > = 0, If< IsTensorish< RB > > = 0, If< Not< All< IsInvocable< View, XA >, IsInvocable< View, XB > > > > = 0, If< IsInvocable< Contract< Is... >, XA &, XB & > > = 0>
static constexpr auto pRC::contract (XA &&a, XB &&b)