forpy  2
types.h File Reference
#include <Eigen/Dense>
#include <map>
#include <memory>
#include <numeric>
#include <utility>
#include <vector>
#include "./util/hash.h"
#include "./util/storage.h"

Go to the source code of this file.

Classes

struct  forpy::Name< T >
 Struct for translating primitive types to a short name. More...
 
struct  forpy::Name< double >
 
struct  forpy::Name< float >
 
struct  forpy::Name< uint >
 
struct  forpy::Name< uint8_t >
 
struct  forpy::Name< int16_t >
 
struct  forpy::Name< int >
 
struct  forpy::SplitOptRes< FT >
 
struct  forpy::TodoMark
 Stores the parameters for one marked tree node. More...
 

Namespaces

 forpy
 

Macros

#define FORPY_TYPES_H_
 

Typedefs

template<typename DT >
using forpy::Mat = Eigen::Matrix< DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >
 Parameterized Matrix type (row major). More...
 
template<typename DT >
using forpy::MatCM = Eigen::Matrix< DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor >
 Parameterized column major matrix type. More...
 
template<typename DT >
using forpy::MatCRef = Eigen::Ref< const Mat< DT > >
 Parameterized const matrix ref type. More...
 
template<typename DT >
using forpy::MatCMCRef = Eigen::Ref< const MatCM< DT > >
 Parameterized const matrix column major matrix ref type. More...
 
template<typename DT >
using forpy::MatRef = Eigen::Ref< Mat< DT > >
 Parameterized standard non-const matrix ref type. More...
 
template<typename DT >
using forpy::Vec = Eigen::Matrix< DT, Eigen::Dynamic, 1, Eigen::ColMajor >
 
template<typename DT >
using forpy::VecRM = Eigen::Matrix< DT, 1, Eigen::Dynamic, Eigen::RowMajor >
 
template<typename DT >
using forpy::VecRef = Eigen::Ref< Vec< DT > >
 
template<typename DT >
using forpy::VecRMRef = Eigen::Ref< VecRM< DT > >
 
template<typename DT >
using forpy::VecCRef = Eigen::Ref< const Vec< DT > >
 
template<typename DT >
using forpy::VecCMap = Eigen::Map< const Eigen::Matrix< DT, 1, Eigen::Dynamic, Eigen::RowMajor >, Eigen::Unaligned, Eigen::InnerStride<> >
 
typedef size_t forpy::id_t
 Element id type. More...
 
typedef std::function< id_t(const Data< MatCRef > &, const id_t &, const std::function< void(void *)> &)> forpy::node_predf
 
typedef unsigned int forpy::uint
 Convenience typedef for unsigned int. More...
 
typedef mu::variant< SplitOptRes< float >, SplitOptRes< double >, SplitOptRes< uint >, SplitOptRes< uint8_t > > forpy::OptSplitV
 
typedef std::pair< id_t, id_t > forpy::interv_t
 
typedef std::pair< ptrdiff_t, ptrdiff_t > forpy::regint_t
 
typedef std::vector< std::pair< std::shared_ptr< std::vector< size_t > >, std::shared_ptr< std::vector< float > const > > > forpy::usage_map_t
 Describes how each sample is used for each tree. More...
 
typedef std::pair< std::shared_ptr< std::vector< id_t > >, id_t > forpy::include_pair_t
 A pair containing information about newly included samples. More...
 
typedef std::unordered_set< std::vector< size_t >, vector_hasher > forpy::proposal_set_t
 The type of a set of dimension selections. More...
 

Enumerations

enum  forpy::ECompletionLevel { forpy::ECompletionLevel::Node, forpy::ECompletionLevel::Level, forpy::ECompletionLevel::Complete }
 Specifies the completion level for one training step. More...
 
enum  forpy::EThresholdSelection { forpy::EThresholdSelection::LessEqOnly, forpy::EThresholdSelection::GreaterOnly, forpy::EThresholdSelection::Both }
 Specifies which thresholds should be used for a decision. More...
 
enum  forpy::ESearchType { forpy::ESearchType::DFS, forpy::ESearchType::BFS }
 

Functions

const MatCRef< float > forpy::FORPY_ZERO_MATR (Mat< float >::Zero(0, 1))
 

Variables

const double forpy::GAIN_EPS = 1E-7
 

Macro Definition Documentation

◆ FORPY_TYPES_H_

#define FORPY_TYPES_H_

Definition at line 4 of file types.h.