#include <cmath>#include <numeric>#include <concepts>#include <algorithm>#include <functional>#include <type_traits>#include "backbone/math.h"Go to the source code of this file.
Namespaces | |
| namespace | backbone |
| Random number generator; built on top of Drjit. | |
Functions | |
Horizontal operations on scalars | |
| template<typename T > requires std::is_scalar_v<T> | |
| T | hsum (const T &t) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | hprod (const T &t) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | hmax (const T &t) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | hmin (const T &t) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | dot (const T &a, const T &b) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | norm (const T &t) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | squared_norm (const T &t) |
| template<typename T > requires std::is_scalar_v<T> | |
| T | normalize (const T &) |
Mask operations on scalars | |
| template<typename T > requires std::convertible_to<T, bool> | |
| bool | all (const T &t) |
| template<typename T > requires std::convertible_to<T, bool> | |
| bool | any (const T &t) |
| template<typename T > requires std::convertible_to<T, bool> | |
| bool | none (const T &t) |
| template<typename T > requires std::convertible_to<T, bool> | |
| size_t | count (const T &t) |
Horizontal operations on arrays | |
| template<typename T , size_t N> | |
| auto | hsum (const array< T, N > &t) |
| template<typename T , size_t N> | |
| auto | hprod (const array< T, N > &t) |
| template<typename T , size_t N> | |
| auto | hmax (const array< T, N > &t) |
| template<typename T , size_t N> | |
| auto | hmin (const array< T, N > &t) |
| template<typename T , typename U , size_t N> | |
| auto | dot (const array< T, N > &a, const array< U, N > &b) |
| template<typename T , size_t N> | |
| auto | squared_norm (const array< T, N > &t) |
| template<typename T , size_t N> | |
| auto | norm (const array< T, N > &t) |
| template<typename T , size_t N> | |
| auto | normalize (const array< T, N > &t) |
| template<size_t N> | |
| bool | all (const array< bool, N > &t) |
| \Name Mask operations on arrays | |
| template<size_t N> | |
| bool | any (const array< bool, N > &t) |
| template<size_t N> | |
| bool | none (const array< bool, N > &t) |
| template<size_t N> | |
| size_t | count (const array< bool, N > &t) |