chunkedseq
container library for large in-memory data sets
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
pasl::data::algebra::combiner< Algebra1, Algebra2 > Class Template Reference

[int_group_under_addition_and_negation] More...

#include <algebra.hpp>

Public Types

using algebra1_type = Algebra1
 
using algebra2_type = Algebra2
 
using value1_type = typename Algebra1::value_type
 
using value2_type = typename Algebra2::value_type
 
using value_type = measure::measured_pair< value1_type, value2_type >
 

Static Public Member Functions

static value_type identity ()
 
static value_type combine (value_type x, value_type y)
 
static value_type inverse (value_type x)
 

Static Public Attributes

static constexpr bool has_inverse
 

Detailed Description

template<class Algebra1, class Algebra2>
class pasl::data::algebra::combiner< Algebra1, Algebra2 >

[combiner]

Combiner of two algebras

Combines two algebras to make a new algebra that pairs together values of the two given algebras. The resulting algebra combines together the operations of the given algebras to operate pointwise on the values of the pairs.

The resulting algebra has an inverse operator only if both of its subalgebras has inverse operators and otherwise does not.

Template Parameters
Algebra1an algebra
Algebra2an algebra

Definition at line 105 of file algebra.hpp.

Member Typedef Documentation

template<class Algebra1 , class Algebra2 >
using pasl::data::algebra::combiner< Algebra1, Algebra2 >::algebra1_type = Algebra1

Definition at line 108 of file algebra.hpp.

template<class Algebra1 , class Algebra2 >
using pasl::data::algebra::combiner< Algebra1, Algebra2 >::algebra2_type = Algebra2

Definition at line 109 of file algebra.hpp.

template<class Algebra1 , class Algebra2 >
using pasl::data::algebra::combiner< Algebra1, Algebra2 >::value1_type = typename Algebra1::value_type

Definition at line 111 of file algebra.hpp.

template<class Algebra1 , class Algebra2 >
using pasl::data::algebra::combiner< Algebra1, Algebra2 >::value2_type = typename Algebra2::value_type

Definition at line 112 of file algebra.hpp.

template<class Algebra1 , class Algebra2 >
using pasl::data::algebra::combiner< Algebra1, Algebra2 >::value_type = measure::measured_pair<value1_type, value2_type>

Definition at line 114 of file algebra.hpp.

Member Function Documentation

template<class Algebra1 , class Algebra2 >
static value_type pasl::data::algebra::combiner< Algebra1, Algebra2 >::combine ( value_type  x,
value_type  y 
)
inlinestatic

Definition at line 125 of file algebra.hpp.

template<class Algebra1 , class Algebra2 >
static value_type pasl::data::algebra::combiner< Algebra1, Algebra2 >::identity ( )
inlinestatic

Definition at line 120 of file algebra.hpp.

template<class Algebra1 , class Algebra2 >
static value_type pasl::data::algebra::combiner< Algebra1, Algebra2 >::inverse ( value_type  x)
inlinestatic

Definition at line 130 of file algebra.hpp.

Member Data Documentation

template<class Algebra1 , class Algebra2 >
constexpr bool pasl::data::algebra::combiner< Algebra1, Algebra2 >::has_inverse
static
Initial value:
=
algebra1_type::has_inverse
&& algebra2_type::has_inverse

Definition at line 116 of file algebra.hpp.


The documentation for this class was generated from the following file: