ALP User Documentation  0.8.preview
Algebraic Programming User Documentation
Classes | Namespaces | Macros
ops.hpp File Reference

Provides a set of standard binary operators. More...

Go to the source code of this file.

Classes

class  abs_diff< D1, D2, D3, implementation >
 This operator returns the absolute difference between two numbers. More...
 
class  add< D1, D2, D3, implementation >
 This operator takes the sum of the two input parameters and writes it to the output variable. More...
 
class  any_or< D1, D2, D3, implementation >
 This operator is a generalisation of the logical or. More...
 
class  argmax< IType, VType >
 The argmax operator on key-value pairs. More...
 
class  argmin< IType, VType >
 The argmin operator on key-value pairs. More...
 
class  conjugate_left_mul< IN1, IN2, OUT, implementation >
 Conjugate-multiply operator that conjugates the left-hand operand before multiplication. More...
 
class  conjugate_mul< IN1, IN2, OUT, conj_left, implementation >
 Conjugate-multiply operator that conjugates the left- or right-hand operand before multiplication. More...
 
class  conjugate_right_mul< IN1, IN2, OUT, implementation >
 Conjugate-multiply operator that conjugates the right-hand operand before multiplication. More...
 
class  divide< D1, D2, D3, implementation >
 Numerical division of two numbers. More...
 
class  divide_reverse< D1, D2, D3, implementation >
 Reversed division of two numbers. More...
 
class  equal< D1, D2, D3, implementation >
 Operator which returns true if its inputs compare equal, and false otherwise. More...
 
class  equal_first< D1, D2, D3, implementation >
 Compares std::pair inputs taking the first entry in every pair as the comparison key, and returns true or false accordingly. More...
 
class  geq< D1, D2, D3, implementation >
 This operation returns whether the left operand compares greater-than or equal to the right operand. More...
 
class  greater_than< D1, D2, D3, implementation >
 This operation returns whether the left operand compares greater-than the right operand. More...
 
class  left_assign< D1, D2, D3, implementation >
 This operator discards all right-hand side input and simply copies the left-hand side input to the output variable. More...
 
class  left_assign_if< D1, D2, D3, implementation >
 This operator assigns the left-hand input if the right-hand input evaluates true. More...
 
class  leq< D1, D2, D3, implementation >
 This operation returns whether the left operand compares less-than or equal to the right operand. More...
 
class  less_than< D1, D2, D3, implementation >
 This operation returns whether the left operand compares less-than the right operand. More...
 
class  logical_and< D1, D2, D3, implementation >
 The logical and. More...
 
class  logical_or< D1, D2, D3, implementation >
 The logical or. More...
 
class  max< D1, D2, D3, implementation >
 This operator takes the maximum of the two input parameters and writes the result to the output variable. More...
 
class  min< D1, D2, D3, implementation >
 This operator takes the minimum of the two input parameters and writes the result to the output variable. More...
 
class  mul< D1, D2, D3, implementation >
 This operator multiplies the two input parameters and writes the result to the output variable. More...
 
class  not_equal< D1, D2, D3, implementation >
 Operator that returns false whenever its inputs compare equal, and true otherwise. More...
 
class  relu< D1, D2, D3, implementation >
 This operation is equivalent to grb::operators::min. More...
 
class  right_assign< D1, D2, D3, implementation >
 This operator discards all left-hand side input and simply copies the right-hand side input to the output variable. More...
 
class  right_assign_if< D1, D2, D3, implementation >
 This operator assigns the right-hand input if the left-hand input evaluates true. More...
 
class  square_diff< D1, D2, D3, implementation >
 This operation returns the squared difference between two numbers. More...
 
class  subtract< D1, D2, D3, implementation >
 Numerical substraction of two numbers. More...
 
class  zip< IN1, IN2, implementation >
 The zip operator that operators on keys as a left-hand input and values as a right hand input, producing a key-value std::pair. More...
 

Namespaces

 grb
 The ALP/GraphBLAS namespace.
 
 grb::operators
 This namespace holds various standard operators such as grb::operators::add and grb::operators::mul.
 

Macros

#define _DEBUG_NO_IOSTREAM_PAIR_CONVERTER
 Macro that disables the definition of an operator<< overload for instances of std::pair. More...
 

Detailed Description

Provides a set of standard binary operators.

Author
A. N. Yzelman
Date
8th of August, 2016

Macro Definition Documentation

◆ _DEBUG_NO_IOSTREAM_PAIR_CONVERTER

#define _DEBUG_NO_IOSTREAM_PAIR_CONVERTER

Macro that disables the definition of an operator<< overload for instances of std::pair.

This overload is only active when the _DEBUG macro is defined, but may clash with user-defined overloads.