Hydra
4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
|
#include <hydra/detail/Config.h>
#include <hydra/detail/BackendPolicy.h>
#include <hydra/Types.h>
#include <hydra/Function.h>
#include <hydra/detail/utility/CheckValue.h>
#include <hydra/detail/external/hydra_thrust/copy.h>
#include <hydra/detail/external/hydra_thrust/iterator/zip_iterator.h>
#include <hydra/detail/external/hydra_thrust/execution_policy.h>
#include <hydra/detail/external/hydra_thrust/binary_search.h>
#include <hydra/detail/external/hydra_thrust/extrema.h>
#include <hydra/detail/external/hydra_thrust/iterator/iterator_traits.h>
#include <hydra/detail/Iterable_traits.h>
#include <math.h>
#include <algorithm>
#include <type_traits>
#include <hydra/detail/Spline.inl>
#include <hydra/detail/Spline2D.inl>
#include <hydra/detail/Spline3D.inl>
#include <hydra/detail/Spline4D.inl>
Go to the source code of this file.
Namespaces | |
hydra | |
Generic policies definition. | |
Functions | |
template<typename IterableX , typename IterableY , typename IterableM , typename TypeX , typename TypeY > | |
__hydra_host__ __hydra_device__ std::enable_if< hydra::detail::is_iterable< IterableX >::value &&hydra::detail::is_iterable< IterableY >::value &&hydra::detail::is_iterable< IterableM >::value &&std::is_convertible< typename IterableX::value_type, double >::value &&std::is_convertible< typename IterableY::value_type, double >::value &&std::is_convertible< typename IterableM::value_type, double >::value &&std::is_convertible< TypeX, double >::value &&std::is_convertible< TypeY, double >::value, double >::type | hydra::spline (IterableX &&abcissa_x, IterableY &&abcissa_y, IterableM measurements, TypeX x, TypeX y) |
template<typename Iterator1 , typename Iterator2 , typename Type > | |
__hydra_host__ __hydra_device__ std::enable_if< std::is_convertible< typename hydra::thrust::iterator_traits< Iterator1 >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< Iterator2 >::value_type, double >::value &&std::is_convertible< Type, double >::value, Type >::type | hydra::spline (Iterator1 first, Iterator1 last, Iterator2 measurements, Type value) |
Cubic monotone spline interpolation. More... | |
template<typename Iterable1 , typename Iterable2 , typename Type > | |
__hydra_host__ __hydra_device__ std::enable_if< hydra::detail::is_iterable< Iterable1 >::value &&hydra::detail::is_iterable< Iterable2 >::value &&std::is_convertible< typename Iterable1::value_type, double >::value &&std::is_convertible< typename Iterable2::value_type, double >::value &&std::is_convertible< Type, double >::value, Type >::type | hydra::spline (Iterable1 &&abscissae, Iterable2 &&ordinate, Type value) |
template<typename IteratorX , typename IteratorY , typename IteratorM , typename TypeX , typename TypeY > | |
__hydra_host__ __hydra_device__ std::enable_if< std::is_convertible< typename hydra::thrust::iterator_traits< IteratorX >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorY >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorM >::value_type, double >::value &&std::is_convertible< TypeX, double >::value &&std::is_convertible< TypeY, double >::value, double >::type | hydra::spline2D (IteratorX firstx, IteratorX lastx, IteratorY firsty, IteratorY lasty, IteratorM measurements, TypeX x, TypeY y) |
template<typename IterableX , typename IterableY , typename IterableZ , typename IterableM , typename TypeX , typename TypeY , typename TypeZ > | |
__hydra_host__ __hydra_device__ std::enable_if< hydra::detail::is_iterable< IterableX >::value &&hydra::detail::is_iterable< IterableY >::value &&hydra::detail::is_iterable< IterableZ >::value &&hydra::detail::is_iterable< IterableM >::value &&std::is_convertible< typename IterableX::value_type, double >::value &&std::is_convertible< typename IterableY::value_type, double >::value &&std::is_convertible< typename IterableZ::value_type, double >::value &&std::is_convertible< typename IterableM::value_type, double >::value &&std::is_convertible< TypeX, double >::value &&std::is_convertible< TypeY, double >::value &&std::is_convertible< TypeZ, double >::value, double >::type | hydra::spline3D (IterableX &&abscissa_x, IterableY &&abscissa_y, IterableZ &&abscissa_z, IterableM measurements, TypeX x, TypeX y, TypeZ z) |
template<typename IteratorX , typename IteratorY , typename IteratorZ , typename IteratorM , typename TypeX , typename TypeY , typename TypeZ > | |
__hydra_host__ __hydra_device__ std::enable_if< std::is_convertible< typename hydra::thrust::iterator_traits< IteratorX >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorY >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorZ >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorM >::value_type, double >::value &&std::is_convertible< TypeX, double >::value &&std::is_convertible< TypeY, double >::value &&std::is_convertible< TypeZ, double >::value, double >::type | hydra::spline3D (IteratorX firstx, IteratorX lastx, IteratorY firsty, IteratorY lasty, IteratorY firstz, IteratorY lastz, IteratorM measurements, TypeX x, TypeY y, TypeZ z) |
template<typename IterableX , typename IterableY , typename IterableW , typename IterableZ , typename IterableM , typename TypeX , typename TypeY , typename TypeW , typename TypeZ > | |
__hydra_host__ __hydra_device__ std::enable_if< hydra::detail::is_iterable< IterableX >::value &&hydra::detail::is_iterable< IterableY >::value &&hydra::detail::is_iterable< IterableW >::value &&hydra::detail::is_iterable< IterableZ >::value &&hydra::detail::is_iterable< IterableM >::value &&std::is_convertible< typename IterableX::value_type, double >::value &&std::is_convertible< typename IterableY::value_type, double >::value &&std::is_convertible< typename IterableW::value_type, double >::value &&std::is_convertible< typename IterableZ::value_type, double >::value &&std::is_convertible< typename IterableM::value_type, double >::value &&std::is_convertible< TypeX, double >::value &&std::is_convertible< TypeY, double >::value &&std::is_convertible< TypeW, double >::value &&std::is_convertible< TypeZ, double >::value, double >::type | hydra::spline3D (IterableX &&abscissa_x, IterableY &&abscissa_y, IterableW &&abscissa_w, IterableZ &&abscissa_z, IterableM measurements, TypeX x, TypeX y, TypeW w, TypeZ z) |
template<typename IteratorX , typename IteratorY , typename IteratorW , typename IteratorZ , typename IteratorM , typename TypeX , typename TypeY , typename TypeW , typename TypeZ > | |
__hydra_host__ __hydra_device__ std::enable_if< std::is_convertible< typename hydra::thrust::iterator_traits< IteratorX >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorY >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorW >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorZ >::value_type, double >::value &&std::is_convertible< typename hydra::thrust::iterator_traits< IteratorM >::value_type, double >::value &&std::is_convertible< TypeX, double >::value &&std::is_convertible< TypeY, double >::value &&std::is_convertible< TypeW, double >::value &&std::is_convertible< TypeZ, double >::value, double >::type | hydra::spline4D (IteratorX firstx, IteratorX lastx, IteratorY firsty, IteratorY lasty, IteratorW firstw, IteratorW lastw, IteratorZ firstz, IteratorZ lastz, IteratorM measurements, TypeX x, TypeY y, TypeW w, TypeZ z) |