41 #ifndef DTKBUHMANNBASIS_IMPL_HPP 42 #define DTKBUHMANNBASIS_IMPL_HPP 59 const double x )
const 61 double xval = x / radius;
62 double xp2 = xval * xval;
63 double xp4 = xp2 * xp2;
64 double xp6 = xp4 * xp2;
65 double xp72 = std::sqrt( xp6 * xval );
66 double q1 = 84.0 / 5.0;
67 double q2 = 1024.0 / 5.0;
68 return ( x > radius ) ? 0.0
69 : xp4 * xp4 - q1 * xp6 + q2 * xval * xp72 -
70 378.0 * xp4 + q2 * xp72 - q1 * xp2 + 1.0;
81 const double x )
const 83 double xval = x / radius;
84 double xp2 = xval * xval;
85 double xp3 = xp2 * xval;
86 double xp5 = xp3 * xp2;
87 double xp52 = std::sqrt( xp5 );
91 ( 576.0 * xval * xp52 + 448.0 * xp52 + 5.0 * xp5 * xp2 -
92 63.0 * xp5 - 945.0 * xp3 - 21.0 * xval );
101 #endif // end DTKBUHMANNBASIS_IMPL_HPP Buhmann compactly supported radial basis function.
Euclidean distance function.