UFJF - Machine Learning Toolkit  0.51.8
Point.hpp File Reference
#include <cstddef>
#include <cassert>
#include <vector>
#include <iostream>
#include <functional>
#include <cmath>
#include <memory>
#include <algorithm>
#include <initializer_list>
#include "ExprOps.hpp"
#include "ExprScalar.hpp"
#include "Utils.hpp"
#include "Random.hpp"
Include dependency graph for Point.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mltk::Point< T, Rep >
 Wrapper for the point data. More...
 

Namespaces

 mltk
 UFJF-MLTK main namespace for core functionalities.
 

Typedefs

template<class T , typename Rep = std::vector<T>>
using mltk::PointPointer = std::shared_ptr< mltk::Point< T, Rep > >
 
template<class T , typename Rep = std::vector<T>>
using mltk::PointIterator = typename Rep::iterator
 

Functions

template<typename T , typename Rep >
std::ostream & mltk::operator<< (std::ostream &output, const Point< T, Rep > &p)
 
template<typename T , typename R = std::vector<T>, typename... Types>
PointPointer< T, R > mltk::make_point (Types... args)
 
template<typename T >
double mltk::norm (const Point< T > &p, int q)
 
template<typename T , typename R >
mltk::dot (const Point< T, R > &p, const Point< T, R > &p1)
 Computes the dot product with a vector. More...
 
template<typename T , typename R >
mltk::max (const Point< T, R > &p)
 Returns the max value of the point. More...
 
template<typename T , typename R >
mltk::min (const Point< T, R > &p)
 Returns the min value of the point. More...
 
template<typename T = double, typename R = std::vector< T >>
Point< T, R > mltk::random_init (Point< T, R > &p, const size_t &size, const size_t &seed)
 
template<typename T = double, typename R = std::vector< T >>
Point< T, R > mltk::random_init (const size_t &size, const size_t &seed=0)
 
template<typename T = double, typename distribution = std::uniform_real_distribution<T>>
Point< T > mltk::random_init (T val1, T val2, const size_t &size, const size_t &seed=0)
 
template<typename T = double, typename R = std::vector< T >>
Point< T, R > mltk::random_init (Point< T, R > &p, const size_t &seed=0)
 
template<typename T , typename R >
Point< T, F_Abs< T, R > > mltk::abs (const Point< T, R > &p)
 
template<typename T , typename R >
Point< T, F_Cos< T, R > > mltk::cos (const Point< T, R > &p)
 
template<typename T , typename R >
Point< T, F_Sin< T, R > > mltk::sin (const Point< T, R > &p)
 
template<typename T , typename R >
Point< T, F_Exp< T, R > > mltk::exp (const Point< T, R > &p)
 
template<typename T , typename R >
Point< T, F_Log< T, R > > mltk::log (const Point< T, R > &p)
 
template<typename T , typename P , typename R >
Point< T, F_Pow< T, P, R > > mltk::pow (const Point< T, R > &p, const P &power)
 
template<typename T >
Point< T > mltk::normalize (Point< T > p, const double q)
 normalize Normalize a vector using a Lp-norm. More...
 
template<typename T >
Point< T > mltk::normalize (std::vector< T > &p, const double q)
 
template<typename T = double>
Point< T > mltk::linspace (double lower, double upper, size_t N)
 
template<typename T , typename R >
std::ostream & mltk::operator<< (std::ostream &output, const Point< T, R > &p)
 
template<typename T , typename R1 >
Point< T, A_Mod< T, R1, A_Scalar< T > > > mltk::operator% (const Point< T, R1 > &p, const T &mod)
 
template<typename T , typename Y , typename R1 >
Point< T, A_Mod< T, R1, A_Scalar< Y > > > mltk::operator% (const Point< T, R1 > &p, const Y &mod)
 
template<typename T , typename R1 , typename R2 >
Point< T, A_Add< T, R1, R2 > > mltk::operator+ (Point< T, R1 > const &a, Point< T, R2 > const &b)
 
template<typename T , typename R2 >
Point< T, A_Add< T, A_Scalar< T >, R2 > > mltk::operator+ (T const &s, Point< T, R2 > const &b)
 
template<typename T , typename T2 , typename R2 >
Point< T, A_Add< T, A_Scalar< T2 >, R2 > > mltk::operator+ (T2 const &s, Point< T, R2 > const &b)
 
template<typename T , typename R1 >
Point< T, A_Add< T, R1, A_Scalar< T > > > mltk::operator+ (Point< T, R1 > const &a, T const &s)
 
template<typename T , typename T2 , typename R1 >
Point< T, A_Add< T, R1, A_Scalar< T2 > > > mltk::operator+ (Point< T, R1 > const &a, T2 const &s)
 
template<typename T , typename R1 , typename R2 >
Point< T, A_Sub< T, R1, R2 > > mltk::operator- (Point< T, R1 > const &a, Point< T, R2 > const &b)
 
template<typename T , typename R2 >
Point< T, A_Sub< T, A_Scalar< T >, R2 > > mltk::operator- (T const &s, Point< T, R2 > const &b)
 
template<typename T , typename R2 >
Point< T, A_Sub< T, A_Scalar< int >, R2 > > mltk::operator- (int const &s, Point< T, R2 > const &b)
 
template<typename T , typename R1 >
Point< T, A_Sub< T, R1, A_Scalar< T > > > mltk::operator- (Point< T, R1 > const &a, T const &s)
 
template<typename T , typename R1 >
Point< T, A_Sub< T, R1, A_Scalar< int > > > mltk::operator- (Point< T, R1 > const &a, int const &s)
 
template<typename T , typename R1 , typename R2 >
Point< T, A_Mult< T, R1, R2 > > mltk::operator* (Point< T, R1 > const &a, Point< T, R2 > const &b)
 
template<typename T , typename R2 >
Point< T, A_Mult< T, A_Scalar< T >, R2 > > mltk::operator* (T const &s, Point< T, R2 > const &b)
 
template<typename T , typename T2 , typename R1 >
Point< T, A_Mult< T, A_Scalar< T2 >, R1 > > mltk::operator* (T2 const &s, Point< T, R1 > const &b)
 
template<typename T , typename R1 >
Point< T, A_Mult< T, R1, A_Scalar< T > > > mltk::operator* (Point< T, R1 > const &a, T const &s)
 
template<typename T , typename T2 , typename R1 >
Point< T, A_Mult< T, R1, A_Scalar< T2 > > > mltk::operator* (Point< T, R1 > const &a, T2 const &s)
 
template<typename T , typename R1 , typename R2 >
Point< T, A_Div< T, R1, R2 > > mltk::operator/ (Point< T, R1 > const &a, Point< T, R2 > const &b)
 
template<typename T , typename R1 >
Point< T, A_Div< T, R1, A_Scalar< T > > > mltk::operator/ (Point< T, R1 > const &a, T const &s)
 
template<typename T , typename R1 >
Point< T, A_Div< T, R1, A_Scalar< int > > > mltk::operator/ (Point< T, R1 > const &a, int const &s)
 
template<typename T , typename R2 >
Point< T, A_Div< T, A_Scalar< T >, R2 > > mltk::operator/ (T const &s, Point< T, R2 > const &b)
 
template<typename T , typename R2 >
Point< T, A_Div< T, A_Scalar< int >, R2 > > mltk::operator/ (int const &s, Point< T, R2 > const &b)
 

Detailed Description

Point manipulation class

Author
Mateus Coutinho Marim