/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-roccv/checkouts/latest/include/core/detail/math/math.hpp File Reference

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-roccv/checkouts/latest/include/core/detail/math/math.hpp File Reference#

2 min read time

Applies to Linux

rocCV: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-roccv/checkouts/latest/include/core/detail/math/math.hpp File Reference
math.hpp File Reference
#include <hip/hip_runtime.h>
#include <cassert>

Go to the source code of this file.

Classes

class  roccv::detail::math::Matrix< T, M, N >
 Defines a matrix object. More...
 
class  roccv::detail::math::Vector< T, N >
 Defines a Vector object. More...
 

Namespaces

 roccv
 
 roccv::detail
 
 roccv::detail::math
 

Functions

template<class T >
constexpr __host__ __device__ T roccv::detail::math::det (const Matrix< T, 0, 0 > &m)
 
template<class T >
constexpr __host__ __device__ T roccv::detail::math::det (const Matrix< T, 1, 1 > &m)
 
template<class T >
constexpr __host__ __device__ T roccv::detail::math::det (const Matrix< T, 2, 2 > &m)
 
template<class T >
constexpr __host__ __device__ T roccv::detail::math::det (const Matrix< T, 3, 3 > &m)
 
template<class T , int N>
__host__ __device__ T roccv::detail::math::dot (const Vector< T, N > &a, const Vector< T, N > &b)
 
template<class T >
constexpr __host__ __device__ Matrix< T, 3, 3 > roccv::detail::math::inv (const Matrix< T, 3, 3 > &m, const T &d)
 
template<class T >
constexpr __host__ __device__ void roccv::detail::math::inv_inplace (Matrix< T, 3, 3 > &m, const T &d)
 
template<class T , int N, class = std::enable_if_t<(N < 4)>>
constexpr __host__ __device__ bool roccv::detail::math::inv_inplace (Matrix< T, N, N > &m)
 
template<class F = float, class T , int N>
__host__ __device__ bool roccv::detail::math::lu_inplace (Matrix< T, N, N > &m, Vector< int, N > &p)
 
template<class T , int N>
__host__ __device__ Vector< T, N > roccv::detail::math::operator- (const Vector< T, N > &v)
 
template<class T , int N>
__host__ __device__ void roccv::detail::math::solve_inplace (const Matrix< T, N, N > &lu, const Vector< int, N > &p, Vector< T, N > &b)
 
template<class T , int N>
__host__ __device__ bool roccv::detail::math::solve_inplace (const Matrix< T, N, N > &m, Vector< T, N > &b)
 
template<class T >
__host__ __device__ void roccv::detail::math::swap (T &a, T &b)