Program Listing for File cheby.h¶
↰ Return to documentation for file (include/lupnt/physics/cheby.h
)
#pragma once
#include <cspice/SpiceUsr.h>
#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lupnt/core/constants.h"
namespace lupnt {
void cheby_eval(double x, double* scale, double* coeff, long num, double* f, double* df);
Vec2 cheby_eval_ad(Real x, double* scale, double* coeff, long num);
int cheby_posvel(double t, double* seg, long len, double pos[3], double vel[3]);
Vec6 cheby_posvel_ad(Real t, double* seg, long len);
int cheby_verify(double* seg, long len);
typedef struct {
long target; // target body code
long center; // center body code
long frame; // frame of reference code
long len; // length of segment in doubles
double* seg; // allocated segment
} segment_t;
int cheby_segment(SpiceInt daf, SpiceDouble* dc, SpiceInt* ic, segment_t* s);
segment_t* spk_extract(char const* path, long* segs);
void spk_free(segment_t* s, long n);
} // namespace lupnt