Brush C++ API
A flexible interpretable machine learning framework
Loading...
Searching...
No Matches
nodetype.h File Reference
#include <bitset>
#include <type_traits>
#include <utility>
#include "../init.h"
#include "../data/data.h"
#include "../util/utils.h"
#include "../util/rnd.h"
#include "signatures.h"
Include dependency graph for nodetype.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Brush::NodeTypes
 
struct  fmt::formatter< Brush::NodeType >
 
struct  is_in< T, Ts >
 

Namespaces

namespace  Brush
 < nsga2 selection operator for getting the front
 

Typedefs

using Brush::UnderlyingNodeType = std::underlying_type_t<NodeType>
 
using NT = NodeType
 

Enumerations

enum class  Brush::NodeType : uint64_t {
  Brush::Abs = 1UL << 0UL , Brush::Acos = 1UL << 1UL , Brush::Asin = 1UL << 2UL , Brush::Atan = 1UL << 3UL ,
  Brush::Cos = 1UL << 4UL , Brush::Cosh = 1UL << 5UL , Brush::Sin = 1UL << 6UL , Brush::Sinh = 1UL << 7UL ,
  Brush::Tan = 1UL << 8UL , Brush::Tanh = 1UL << 9UL , Brush::Ceil = 1UL << 10UL , Brush::Floor = 1UL << 11UL ,
  Brush::Exp = 1UL << 12UL , Brush::Log = 1UL << 13UL , Brush::Logabs = 1UL << 14UL , Brush::Log1p = 1UL << 15UL ,
  Brush::Sqrt = 1UL << 16UL , Brush::Sqrtabs = 1UL << 17UL , Brush::Square = 1UL << 18UL , Brush::Logistic = 1UL << 19UL ,
  Brush::Before = 1UL << 20UL , Brush::After = 1UL << 21UL , Brush::During = 1UL << 22UL , Brush::Min = 1UL << 23UL ,
  Brush::Max = 1UL << 24UL , Brush::Mean = 1UL << 25UL , Brush::Median = 1UL << 26UL , Brush::Prod = 1UL << 27UL ,
  Brush::Sum = 1UL << 28UL , Brush::OffsetSum = 1UL << 29UL , Brush::Softmax = 1UL << 30UL , Brush::Add = 1UL << 31UL ,
  Brush::Sub = 1UL << 32UL , Brush::Mul = 1UL << 33UL , Brush::Div = 1UL << 34UL , Brush::Pow = 1UL << 35UL ,
  Brush::SplitBest = 1UL << 36UL , Brush::SplitOn = 1UL << 37UL , Brush::And = 1UL << 38UL , Brush::Or = 1UL << 39UL ,
  Brush::Not = 1UL << 40UL , Brush::MeanLabel = 1UL << 41UL , Brush::Constant = 1UL << 42UL , Brush::Terminal = 1UL << 43UL ,
  Brush::ArgMax = 1UL << 44UL , Brush::Count = 1UL << 45UL , Brush::CustomUnaryOp = 1UL << 46UL , Brush::CustomBinaryOp = 1UL << 47UL ,
  Brush::CustomSplit = 1UL << 48UL
}
 

Functions

constexpr auto Brush::operator& (NodeType lhs, NodeType rhs) -> NodeType
 
constexpr auto Brush::operator| (NodeType lhs, NodeType rhs) -> NodeType
 
constexpr auto Brush::operator^ (NodeType lhs, NodeType rhs) -> NodeType
 
constexpr auto Brush::operator~ (NodeType lhs) -> NodeType
 
auto Brush::operator&= (NodeType &lhs, NodeType rhs) -> NodeType &
 
auto Brush::operator|= (NodeType &lhs, NodeType rhs) -> NodeType &
 
auto Brush::operator^= (NodeType &lhs, NodeType rhs) -> NodeType &
 

Variables

template<NodeType T, NodeType... Ts>
static constexpr bool is_in_v = is_in<T, Ts...>::value
 
template<NT nt>
static constexpr bool UnaryOp
 
template<NT nt>
static constexpr bool BinaryOp
 
template<NT nt>
static constexpr bool AssociativeBinaryOp
 
template<NT nt>
static constexpr bool NaryOp
 

Typedef Documentation

◆ NT

Definition at line 254 of file nodetype.h.

Variable Documentation

◆ AssociativeBinaryOp

template<NT nt>
constexpr bool AssociativeBinaryOp
staticconstexpr
Initial value:
NT::Add,
NT::Mul
>
void bind_engine(py::module &m, string name)
static constexpr bool is_in_v
Definition nodetype.h:252

Definition at line 291 of file nodetype.h.

◆ BinaryOp

template<NT nt>
constexpr bool BinaryOp
staticconstexpr
Initial value:
NT::Add,
NT::Sub,
NT::Mul,
NT::Div,
NT::Pow
>

Definition at line 282 of file nodetype.h.

◆ is_in_v

template<NodeType T, NodeType... Ts>
constexpr bool is_in_v = is_in<T, Ts...>::value
staticconstexpr

Definition at line 252 of file nodetype.h.

◆ NaryOp

template<NT nt>
constexpr bool NaryOp
staticconstexpr
Initial value:
NT::Min,
NT::Max,
NT::Mean,
NT::Median,
NT::Sum,
NT::OffsetSum,
NT::Prod,
NT::Softmax
>

Definition at line 297 of file nodetype.h.

◆ UnaryOp

template<NT nt>
constexpr bool UnaryOp
staticconstexpr
Initial value:
NT::Abs,
NT::Acos,
NT::Asin,
NT::Atan,
NT::Cos,
NT::Cosh,
NT::Sin,
NT::Sinh,
NT::Tan,
NT::Tanh,
NT::Ceil,
NT::Floor,
NT::Exp,
NT::Log,
NT::Logabs,
NT::Log1p,
NT::Sqrt,
NT::Sqrtabs,
NT::Square,
NT::Logistic
>

Definition at line 257 of file nodetype.h.