24 #include <pybind11/pybind11.h> 
   25 #include <pybind11/stl.h> 
   34 using namespace pybind11::literals;
 
   42 template <
typename ReturnT>
 
   47             clsPolynomialFunction1(mod, (
"PolynomialFunction1" + suffix).c_str());
 
   50     clsPolynomialFunction1.def(py::init<unsigned int>(), 
"order"_a);
 
   61             clsPolynomialFunction2(mod, (
"PolynomialFunction2" + suffix).c_str());
 
   64     clsPolynomialFunction2.def(py::init<unsigned int>(), 
"order"_a);
 
   74 template <
typename ReturnT>
 
   79             clsChebyshev1Function1(mod, (
"Chebyshev1Function1" + suffix).c_str());
 
   83     clsChebyshev1Function1.def(py::init<unsigned int, double, double>(), 
"order"_a, 
"minX"_a = -1,
 
   97             clsChebyshev1Function2(mod, (
"Chebyshev1Function2" + suffix).c_str());
 
  101     clsChebyshev1Function2.def(py::init<unsigned int, lsst::geom::Box2D const &>(), 
"order"_a,
 
  112 template <
typename ReturnT>
 
  116             clsGaussianFunction1(mod, (
"GaussianFunction1" + suffix).c_str());
 
  118     clsGaussianFunction1.def(py::init<double>(), 
"sigma"_a);
 
  126             clsGaussianFunction2(mod, (
"GaussianFunction2" + suffix).c_str());
 
  128     clsGaussianFunction2.def(py::init<double, double, double>(), 
"sigma1"_a, 
"sigma2"_a, 
"angle"_a = 0.0);
 
  138             clsDoubleGaussianFunction2(mod, (
"DoubleGaussianFunction2" + suffix).c_str());
 
  140     clsDoubleGaussianFunction2.def(py::init<double, double, double>(), 
"sigma1"_a, 
"sigma2"_a = 0,
 
  149 template <
typename ReturnT>
 
  154             clsIntegerDeltaFunction1(mod, (
"IntegerDeltaFunction1" + suffix).c_str());
 
  156     clsIntegerDeltaFunction1.def(py::init<double>(), 
"xo"_a);
 
  165             clsIntegerDeltaFunction2(mod, (
"IntegerDeltaFunction2" + suffix).c_str());
 
  167     clsIntegerDeltaFunction2.def(py::init<double, double>(), 
"xo"_a, 
"yo"_a);
 
  174 template <
typename ReturnT>
 
  178             clsLanczosFunction1(mod, (
"LanczosFunction1" + suffix).c_str());
 
  180     clsLanczosFunction1.def(py::init<unsigned int, double>(), 
"n"_a, 
"xOffset"_a = 0.0);
 
  189             clsLanczosFunction2(mod, (
"LanczosFunction2" + suffix).c_str());
 
  191     clsLanczosFunction2.def(py::init<unsigned int, double, double>(), 
"n"_a, 
"xOffset"_a = 0.0,
 
  201     py::module::import(
"lsst.geom");
 
  202     py::module::import(
"lsst.afw.math.function");
 
  204     declarePolynomialFunctions<float>(mod, 
"F");
 
  205     declareChebyshevFunctions<float>(mod, 
"F");
 
  206     declareGaussianFunctions<float>(mod, 
"F");
 
  207     declareIntegerDeltaFunctions<float>(mod, 
"F");
 
  208     declareLanczosFunctions<float>(mod, 
"F");
 
  210     declarePolynomialFunctions<double>(mod, 
"D");
 
  211     declareChebyshevFunctions<double>(mod, 
"D");
 
  212     declareGaussianFunctions<double>(mod, 
"D");
 
  213     declareIntegerDeltaFunctions<double>(mod, 
"D");
 
  214     declareLanczosFunctions<double>(mod, 
"D");