1 /* A JPL binary ephemeris header contains five doubles and */ 2 /* (up to) 41 int32_t integers, so: */ 3 #define JPL_HEADER_SIZE (5 * sizeof( double) + 41 * sizeof( int32_t)) 4 5 #pragma pack(1) 6 7 struct jpl_eph_data { 8 double ephem_start, ephem_end, ephem_step; 9 int32_t ncon; 10 double au; 11 double emrat; 12 int32_t ipt[13][3]; 13 int32_t ephemeris_version; 14 /* This is the end of the file header. Following are */ 15 /* items computed within my code. */ 16 int32_t kernel_size, recsize, ncoeff; 17 int32_t swap_bytes; 18 int32_t curr_cache_loc; 19 double pvsun[6]; 20 double *cache; 21 void *iinfo; 22 FILE *ifile; 23 }; 24 #pragma pack() 25 26 struct interpolation_info 27 { 28 double pc[18],vc[18], twot; 29 int np, nv; 30 }; 31 32