'polish' a b-spline several times, to see if it's precision can be improved. It turns out that, starting out with zero tolerance for the coefficient generation, there is very little room for improvement.
More...
#include <vigra/multi_array.hxx>
#include <vigra/accumulator.hxx>
#include <vigra/multi_math.hxx>
#include <iostream>
#include <typeinfo>
#include <random>
#include <ctime>
#include <chrono>
#include <vspline/vspline.h>
Go to the source code of this file.
|
template<class T > |
using | is_singular = typename std::conditional< std::is_fundamental< T > ::value, std::true_type, std::false_type > ::type |
|
|
template<typename T > |
double | condense (const T &t, std::true_type) |
|
template<typename T > |
double | condense (const T &t, std::false_type) |
|
template<typename T > |
double | condense (const std::complex< T > &t, std::false_type) |
|
template<typename T > |
double | condense (const T &t) |
|
template<int dim, typename T > |
double | check_diff (vigra::MultiArrayView< dim, T > &reference, vigra::MultiArrayView< dim, T > &candidate) |
|
template<int dim, typename T > |
void | polish_test (vigra::TinyVector< int, dim > shape, vspline::bc_code bc, int spline_degree) |
|
int | main (int argc, char *argv[]) |
|
'polish' a b-spline several times, to see if it's precision can be improved. It turns out that, starting out with zero tolerance for the coefficient generation, there is very little room for improvement.
Definition in file polish.cc.
◆ is_singular
template<class T >
using is_singular = typename std::conditional < std::is_fundamental < T > :: value , std::true_type , std::false_type > :: type |
◆ check_diff()
template<int dim, typename T >
double check_diff |
( |
vigra::MultiArrayView< dim, T > & |
reference, |
|
|
vigra::MultiArrayView< dim, T > & |
candidate |
|
) |
| |
◆ condense() [1/4]
template<typename T >
double condense |
( |
const std::complex< T > & |
t, |
|
|
std::false_type |
|
|
) |
| |
◆ condense() [2/4]
template<typename T >
double condense |
( |
const T & |
t | ) |
|
◆ condense() [3/4]
template<typename T >
double condense |
( |
const T & |
t, |
|
|
std::false_type |
|
|
) |
| |
◆ condense() [4/4]
template<typename T >
double condense |
( |
const T & |
t, |
|
|
std::true_type |
|
|
) |
| |
◆ main()
int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
◆ polish_test()
template<int dim, typename T >
void polish_test |
( |
vigra::TinyVector< int, dim > |
shape, |
|
|
vspline::bc_code |
bc, |
|
|
int |
spline_degree |
|
) |
| |
◆ verbose