DateTime-Astro
view release on metacpan or search on metacpan
lib/DateTime/Astro.xs view on Meta::CPAN
DT_Astro_polynomial(x, ...)
SV_TO_MPFR x;
CODE:
mpfr_init(RETVAL);
if (items <= 1) {
mpfr_set_ui(RETVAL, 0, GMP_RNDN);
} else {
int i;
mpfr_t **coefs;
Newxz(coefs, items - 1, mpfr_t *);
for(i = 1; i < items; i++) {
Newxz( coefs[i - 1], 1, mpfr_t );
mpfr_init_set_str( *coefs[i - 1], SvPV_nolen(ST(i)), 10, GMP_RNDN);
}
dt_astro_polynomial(&RETVAL, &x, items - 1, coefs);
for( i = 1; i < items; i++ ) {
mpfr_clear( *coefs[i - 1] );
Safefree( coefs[i - 1] );
}
Safefree(coefs);
}
mpfr_clear(x);
OUTPUT:
RETVAL
mpfr_t
DT_Astro_ephemeris_correction(year)
int year;
CODE:
mpfr_init(RETVAL);
ephemeris_correction( &RETVAL, year );
OUTPUT:
RETVAL
mpfr_t
DT_Astro_dynamical_moment(moment)
SV_TO_MPFR moment;
CODE:
mpfr_init(RETVAL);
dynamical_moment( &RETVAL, &moment );
mpfr_clear(moment);
OUTPUT:
RETVAL
long
DT_Astro_gregorian_year_from_rd(rd)
long rd;
CODE:
RETVAL = gregorian_year_from_rd(rd);
OUTPUT:
RETVAL
void
DT_Astro_gregorian_components_from_rd(rd)
long rd;
PREINIT:
long y;
int m, d;
PPCODE:
EXTEND(SP, 3);
gregorian_components_from_rd(rd, &y, &m, &d);
mPUSHi(y);
mPUSHi(m);
mPUSHi(d);
void
DT_Astro_ymd_seconds_from_moment(moment)
SV_TO_MPFR moment;
PREINIT:
long y;
int m, d, s;
PPCODE:
ymd_seconds_from_moment( &moment, &y, &m, &d, &s );
mpfr_clear(moment);
EXTEND(SP, 4);
mPUSHi(y);
mPUSHi(m);
mPUSHi(d);
mPUSHi(s);
mpfr_t
DT_Astro_julian_centuries_from_moment(moment)
SV_TO_MPFR moment;
CODE:
mpfr_init(RETVAL);
julian_centuries( &RETVAL, &moment );
mpfr_clear(moment);
OUTPUT:
RETVAL
mpfr_t
DT_Astro_nth_new_moon(n)
int n;
CODE:
mpfr_init(RETVAL);
nth_new_moon(&RETVAL, n);
OUTPUT:
RETVAL
mpfr_t
DT_Astro_lunar_longitude_from_moment(moment)
SV_TO_MPFR moment;
CODE:
mpfr_init(RETVAL);
lunar_longitude( &RETVAL, &moment );
mpfr_clear(moment);
OUTPUT:
RETVAL
mpfr_t
DT_Astro_solar_longitude_from_moment(moment)
SV_TO_MPFR moment;
CODE:
mpfr_init(RETVAL);
solar_longitude( &RETVAL, &moment );
mpfr_clear(moment);
OUTPUT:
RETVAL
mpfr_t
DT_Astro_lunar_phase_from_moment(moment)
SV_TO_MPFR moment
CODE:
mpfr_init(RETVAL);
lunar_phase( &RETVAL, &moment );
mpfr_clear(moment);
OUTPUT:
RETVAL
( run in 0.961 second using v1.01-cache-2.11-cpan-71847e10f99 )