vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Typedefs | Functions | Variables
polish.cc File Reference

'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.

Typedefs

template<class T >
using is_singular = typename std::conditional< std::is_fundamental< T > ::value, std::true_type, std::false_type > ::type
 

Functions

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[])
 

Variables

bool verbose = true
 

Detailed Description

'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.

Typedef Documentation

◆ is_singular

template<class T >
using is_singular = typename std::conditional < std::is_fundamental < T > :: value , std::true_type , std::false_type > :: type

Definition at line 82 of file polish.cc.

Function Documentation

◆ check_diff()

template<int dim, typename T >
double check_diff ( vigra::MultiArrayView< dim, T > &  reference,
vigra::MultiArrayView< dim, T > &  candidate 
)

Definition at line 96 of file polish.cc.

◆ condense() [1/4]

template<typename T >
double condense ( const std::complex< T > &  t,
std::false_type   
)

Definition at line 76 of file polish.cc.

◆ condense() [2/4]

template<typename T >
double condense ( const T &  t)

Definition at line 90 of file polish.cc.

◆ condense() [3/4]

template<typename T >
double condense ( const T &  t,
std::false_type   
)

Definition at line 70 of file polish.cc.

◆ condense() [4/4]

template<typename T >
double condense ( const T &  t,
std::true_type   
)

Definition at line 64 of file polish.cc.

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 216 of file polish.cc.

◆ polish_test()

template<int dim, typename T >
void polish_test ( vigra::TinyVector< int, dim >  shape,
vspline::bc_code  bc,
int  spline_degree 
)

Definition at line 130 of file polish.cc.

Variable Documentation

◆ verbose

bool verbose = true

Definition at line 59 of file polish.cc.