pulsatrix
Loading...
Searching...
No Matches
pulsatrix::datalog::RealSemiring< T > Struct Template Reference

The real-valued (+, x) semiring: ⊕ = floating-point addition, ⊗ = floating-point multiplication, zero = 0.0, one = 1.0 – the differentiable-provenance case. More...

#include <datalog_semiring.hpp>

Public Types

using Value = T
 

Static Public Member Functions

static constexpr Value zero ()
 
static constexpr Value one ()
 
static constexpr Value add (Value a, Value b)
 
static constexpr Value mul (Value a, Value b)
 

Detailed Description

template<typename T>
struct pulsatrix::datalog::RealSemiring< T >

The real-valued (+, x) semiring: ⊕ = floating-point addition, ⊗ = floating-point multiplication, zero = 0.0, one = 1.0 – the differentiable-provenance case.

Note
Operates on a plain T (double/float) scalar. Mission 2's exclusive scope is wiring this T to a Tensor/neural-predicate output and computing a gradient; this mission deliberately stops short of that – T here is never anything but a plain arithmetic scalar.

Member Typedef Documentation

◆ Value

template<typename T >
using pulsatrix::datalog::RealSemiring< T >::Value = T

Member Function Documentation

◆ add()

template<typename T >
static constexpr Value pulsatrix::datalog::RealSemiring< T >::add ( Value  a,
Value  b 
)
inlinestaticconstexpr

◆ mul()

template<typename T >
static constexpr Value pulsatrix::datalog::RealSemiring< T >::mul ( Value  a,
Value  b 
)
inlinestaticconstexpr

◆ one()

template<typename T >
static constexpr Value pulsatrix::datalog::RealSemiring< T >::one ( )
inlinestaticconstexpr

◆ zero()

template<typename T >
static constexpr Value pulsatrix::datalog::RealSemiring< T >::zero ( )
inlinestaticconstexpr

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