1 #ifndef SimTK_SIMMATH_GCVSPL_UTIL_H_     2 #define SimTK_SIMMATH_GCVSPL_UTIL_H_    69     for (
int j = 0; j < K; ++j)
    70         for (
int i = 0; i < ny; ++i)
    71             yvec[index++] = y[i][j];
    79     SimTK_gcvspl_(&x[0], &yvec[0], &ny, &wx[0], &wy[0], &m, &n, &k, &md, &val, &cvec[0], &n, &wk[0], &ier);
    87     for (
int j = 0; j < K; ++j)
    88         for (
int i = 0; i < n; ++i)
    89             c[i][j] = cvec[index++];
    94     assert(derivOrder >= 0);
    95     assert(t >= x[0] && t <= x[x.
size()-1]);
    96     assert(x.
size() == coeff.size());
    97     assert(degree > 0 && degree%2==1);
   104     int m = (degree+1)/2;
   106     int interval = (int) ceil(n*(t-x[0])/(x[n-1]-x[0]));
   108     const int MaxCheapM = 32;
   109     Real qbuf[2*MaxCheapM];
   115     int offset = (int) (&coeff[1][0]-&coeff[0][0]);
   119     for (
int i = 0; i < K; ++i)
   120         result[i] = 
SimTK_splder_(&derivOrder, &m, &n, &t, &x[0], &coeff[0][i], &interval, q, offset);
   130 #endif // SimTK_SIMMATH_GCVSPL_UTIL_H_ 
#define SimTK_APIARGCHECK_ALWAYS(cond, className, methodName, msg)
Definition: ExceptionMacros.h:224
 
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
 
int SimTK_gcvspl_(const SimTK::Real *, const SimTK::Real *, int *, const SimTK::Real *, const SimTK::Real *, int *, int *, int *, int *, SimTK::Real *, SimTK::Real *, int *, SimTK::Real *, int *)
 
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double. 
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:606
 
This class provides entry points for using the GCVSPL algorithm in terms of SimTK data types...
Definition: GCVSPLUtil.h:44
 
bool hasContiguousData() const
Definition: MatrixBase.h:837
 
This is a fixed-length column vector designed for no-overhead inline computation. ...
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:618
 
static Real splder(int derivOrder, int degree, Real t, const Vector &x, const Vector &coeff)
 
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix. 
 
This is the header file that every Simmath compilation unit should include first. ...
 
int size() const
Definition: VectorBase.h:396
 
SimTK::Real SimTK_splder_(int *, int *, int *, SimTK::Real *, const SimTK::Real *, const SimTK::Real *, int *, SimTK::Real *, int)
 
static void gcvspl(const Vector &x, const Vector &y, const Vector &wx, Real wy, int m, int md, Real val, Vector &c, Vector &wk, int &ier)
 
VectorBase & resize(int m)
Definition: VectorBase.h:451
 
#define SimTK_SIMMATH_EXPORT
Definition: SimTKmath/include/simmath/internal/common.h:64