int main( int argc, char **unused_argv) { double matrix[9], prev_matrix[9]; int i, j, system_number, rval; clock_t t0 = clock( ); setvbuf( stdout, NULL, _IONBF, 0); if( argc == 2) produce_fixed_cospar( ); for( i = 0; i < 9; i++) prev_matrix[i] = 0.; for( i = -5; i < 2000; i++) { for( system_number = 0; system_number < 4; system_number++) { rval = calc_planet_orientation( i, system_number, 2451000. + (double)i * 1000., matrix); if( rval && rval != -1) printf( "rval %d\n", rval); else if( !rval) if( memcmp( matrix, prev_matrix, 9 * sizeof( double))) { printf( "Planet %d, system %d\n", i, system_number); for( j = 0; j < 9; j += 3) printf( "%11.8lf %11.8lf %11.8lf\n", matrix[j], matrix[j + 1], matrix[j + 2]); for( j = 0; j < 9; j++) prev_matrix[j] = matrix[j]; } } } printf( "Total time: %lf\n", (double)( clock() - t0) / (double)CLOCKS_PER_SEC); return( 0); }
void main( int argc, char **argv) { double pole_ra, pole_dec, omega; const int planet_number = atoi( argv[1]); const double jde = atof( argv[2]); const int system_number = (argc > 3 ? atoi( argv[3]) : 0); int i, j; for( i = (planet_number == -1 ? 0 : planet_number); i < (planet_number == -1 ? 100 : planet_number + 1); i++) { int err = get_cospar_data_from_text_file( i, system_number, jde, &pole_ra, &pole_dec, &omega); printf( "Planet %d\n", i); if( !err) { double old_mat[9], new_mat[9], delta = 0.; printf( " pole RA: %lf\n", pole_ra); printf( " pole dec %lf\n", pole_dec); printf( " Omega %lf (%lf)\n", omega, fmod( omega, 360.)); if( !calc_planet_orientation2( i, system_number, jde, new_mat)) if( !calc_planet_orientation( i, system_number, jde, old_mat)) { for( j = 0; j < 9; j += 3) printf( "%10.6lf %10.6lf %10.6lf %10.6lf %10.6lf %10.6lf\n", new_mat[j], new_mat[j + 1], new_mat[j + 2], old_mat[j], old_mat[j + 1], old_mat[j + 2]); for( j = 0; j < 9; j++) delta += (new_mat[j] - old_mat[j]) * (new_mat[j] - old_mat[j]); printf( "Diff: %lf\n", sqrt( delta)); } } else printf( " Error %d\n", err); } }