| LSSTApplications
    20.0.0
    LSSTDataManagementBasePackage | 
 
 
 
Go to the documentation of this file.
   29 template <
class AstMapT, 
class MapT>
 
   30 AstMapT *
polyTranImpl(MapT 
const &mapping, 
bool forward, 
double acc, 
double maxacc, 
int maxorder,
 
   33     auto const bndSize = 
static_cast<unsigned int>(forward ? mapping.getNOut() : mapping.getNIn());
 
   35     if (lbnd.
size() != bndSize) {
 
   37         os << 
"lbnd.size() = " << lbnd.
size() << 
" != " << bndSize << 
" = " 
   38            << (forward ? 
"getNOut()" : 
"getNIn()");
 
   41     if (ubnd.
size() != bndSize) {
 
   43         os << 
"ubnd.size() = " << ubnd.
size() << 
" != " << bndSize << 
" = " 
   44            << (forward ? 
"getNOut()" : 
"getNIn()");
 
   48     void *outRawMap = astPolyTran(mapping.getRawPtr(), 
static_cast<int>(forward), acc, maxacc, maxorder,
 
   52     assertOK(
reinterpret_cast<AstObject *
>(outRawMap));
 
   56     return reinterpret_cast<AstMapT *
>(outRawMap);
 
  
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.
PolyMap is a Mapping which performs a general polynomial transformation.
A ChebyMap is a form of Mapping which performs a Chebyshev polynomial transformation.
AST wrapper classes and functions.
template AstPolyMap * polyTranImpl< AstPolyMap >(PolyMap const &, bool, double, double, int, std::vector< double > const &, std::vector< double > const &)
AstMapT * polyTranImpl(MapT const &mapping, bool forward, double acc, double maxacc, int maxorder, std::vector< double > const &lbnd, std::vector< double > const &ubnd)
Call astPolyTran to set (or replace) one direction of a polynomial transform with a fit based on the ...
template AstChebyMap * polyTranImpl< AstChebyMap >(ChebyMap const &, bool, double, double, int, std::vector< double > const &, std::vector< double > const &)