SheafSystem  0.0.0.0
fiber_bundle::stp_algebra Namespace Reference

Namespace containing the symmetric tensor algrebra functions for the fiber_bundles component of the sheaf system. More...

Functions

SHEAF_DLL_SPEC void symmetric_product (const stp_lite &x0, const stp_lite &x1, stp_lite &xresult)
 Symmetric product (pre-allocated version for volatile types). More...
 
SHEAF_DLL_SPEC void symmetric_product (const stp &x0, const stp &x1, stp &xresult, bool xauto_access)
 Symmetric product (pre-allocated, access control version for persistent types). More...
 
template<typename T0 , typename T1 >
tensor_traits< T0::P+T1::P, typename T0::vector_space_type >::tp_type * symmetric_product (const T0 &x0, const T1 &x1)
 The symmetric product of two general tensors (auto-allocated version for volatile types). More...
 
template<typename T0 , typename T1 >
tensor_traits< T0::P+T1::P, typename T0::vector_space_type >::tp_type * symmetric_product (const T0 &x0, const T1 &x1, bool xauto_access)
 The symmetric product of two general tensors (auto-allocated version for persistent types). More...
 

Detailed Description

Namespace containing the symmetric tensor algrebra functions for the fiber_bundles component of the sheaf system.

Function Documentation

◆ symmetric_product() [1/4]

void fiber_bundle::stp_algebra::symmetric_product ( const stp_lite x0,
const stp_lite x1,
stp_lite xresult 
)

Symmetric product (pre-allocated version for volatile types).

Precondition
  • x1.dd() == x0.dd()
  • xresult.dd() == x0.dd()
  • xresult.p() == x0.p() + x1.p()
Not Implemented.

Definition at line 898 of file stp.cc.

References fiber_bundle::tp_lite::dd(), and fiber_bundle::tp_lite::p().

Referenced by fiber_bundle::stp::invariant(), and symmetric_product().

◆ symmetric_product() [2/4]

void fiber_bundle::stp_algebra::symmetric_product ( const stp x0,
const stp x1,
stp xresult,
bool  xauto_access 
)

Symmetric product (pre-allocated, access control version for persistent types).

Precondition
  • x0.state_is_auto_read_accessible(xauto_access)
  • x1.state_is_auto_read_accessible(xauto_access)
  • xresult.state_is_auto_read_accessible(xauto_access)
  • xresult.p(xauto_access) == x0.p(xauto_access) + x1.p(xauto_access)
Not Implemented.

Definition at line 921 of file stp.cc.

References fiber_bundle::tp::p(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ symmetric_product() [3/4]

template<typename T0 , typename T1 >
tensor_traits< T0::P+T1::P, typename T0::vector_space_type >::tp_type * fiber_bundle::stp_algebra::symmetric_product ( const T0 &  x0,
const T1 &  x1 
)

The symmetric product of two general tensors (auto-allocated version for volatile types).

Precondition
  • precondition_of(symmetric_product(x0, x1, *result))
Postcondition
  • result != 0
  • postcondition_of(symmetric_product(x0, x1, *result))
Precondition
  • precondition_of(symmetric_product(x0, x1, *result))
Postcondition
  • result != 0
  • postcondition_of(symmetric_product(x0, x1, *result))

Definition at line 41 of file stp.impl.h.

References symmetric_product().

◆ symmetric_product() [4/4]

template<typename T0 , typename T1 >
tensor_traits< T0::P+T1::P, typename T0::vector_space_type >::tp_type * fiber_bundle::stp_algebra::symmetric_product ( const T0 &  x0,
const T1 &  x1,
bool  xauto_access 
)

The symmetric product of two general tensors (auto-allocated version for persistent types).

Precondition
  • precondition_of(symmetric_product(x0, x1, *result, xauto_access))
Postcondition
  • result != 0
  • postcondition_of(symmetric_product(x0, x1, *result, xauto_access))
Precondition
  • precondition_of(symmetric_product(x0, x1, *result, xauto_access))
Postcondition
  • result != 0
  • postcondition_of(symmetric_product(x0, x1, *result, xauto_access))

Definition at line 69 of file stp.impl.h.

References symmetric_product().