22 #include <libnova/ln_types.h>
27 #define cbrt(x) pow(x,1.0/3.0)
66 double LIBNOVA_EXPORT ln_get_rect_distance(
struct ln_rect_posn *a,
108 void LIBNOVA_EXPORT ln_rad_to_hms(
double radians,
struct ln_hms *hms);
205 double LIBNOVA_EXPORT ln_range_radians2(
double angle);
212 double LIBNOVA_EXPORT ln_get_light_time(
double dist);
218 double LIBNOVA_EXPORT
ln_interpolate3(
double n,
double y1,
double y2,
double y3);
224 double LIBNOVA_EXPORT
ln_interpolate5(
double n,
double y1,
double y2,
double y3,
225 double y4,
double y5);
231 double LIBNOVA_EXPORT
ln_find_max(
double (*func) (
double,
double *),
232 double from,
double to,
double *
arg);
238 double LIBNOVA_EXPORT
ln_find_zero(
double (*func) (
double,
double *),
239 double from,
double to,
double *
arg);
244 struct tm *gmtime_r (time_t *t,
struct tm *gmt);
248 int gettimeofday(
struct timeval *tp,
struct timezone *tzp);
252 char *strtok_r(
char *str,
const char *sep,
char **last);
260 double cbrt(
double x);
264 #if defined(__WIN32__) || defined(sun) || defined(__C89_SUB__)
267 double nan(
const char *code);
struct ln_hms ra
Definition: ln_types.h:140
double Z
Definition: ln_types.h:242
struct ln_dms lat
Definition: ln_types.h:164
double ln_dms_to_deg(struct ln_dms *dms)
dms to degrees
Definition: utility.c:165
double lng
Definition: ln_types.h:205
Horizontal Coordinates.
Definition: ln_types.h:189
void ln_deg_to_hms(double degrees, struct ln_hms *hms)
degrees to hours
Definition: utility.c:124
double ln_find_max(double(*func)(double, double *), double from, double to, double *arg)
Find local maximum of function f() at given interval by Golden Section method.
Definition: utility.c:720
double X
Definition: ln_types.h:240
void ln_equ_to_hequ(struct ln_equ_posn *pos, struct lnh_equ_posn *hpos)
human double equatorial position to human readable equatorial position
Definition: utility.c:345
void ln_hrz_to_hhrz(struct ln_hrz_posn *pos, struct lnh_hrz_posn *hpos)
double horizontal position to human readable horizontal position
Definition: utility.c:365
double az
Definition: ln_types.h:190
const char * ln_get_version(void)
Library Version Number.
Definition: utility.c:80
unsigned short minutes
Definition: ln_types.h:129
double ra
Definition: ln_types.h:177
struct ln_dms dec
Definition: ln_types.h:141
void ln_hlnlat_to_lnlat(struct lnh_lnlat_posn *hpos, struct ln_lnlat_posn *pos)
human readable long/lat position to double long/lat position
Definition: utility.c:388
Ecliptical (or celestial) Latitude and Longitude.
Definition: ln_types.h:162
double seconds
Definition: ln_types.h:130
double ln_get_dec_location(char *s)
Obtains Latitude, Longitude, RA or Declination from a string.
Definition: utility.c:515
void ln_hequ_to_equ(struct lnh_equ_posn *hpos, struct ln_equ_posn *pos)
human readable equatorial position to double equatorial position
Definition: utility.c:335
unsigned short degrees
Definition: ln_types.h:116
struct ln_dms lng
Definition: ln_types.h:163
void ln_deg_to_dms(double degrees, struct ln_dms *dms)
degrees to dms
Definition: utility.c:197
void ln_lnlat_to_hlnlat(struct ln_lnlat_posn *pos, struct lnh_lnlat_posn *hpos)
double long/lat position to human readable long/lat position
Definition: utility.c:398
Definition: aberration.c:29
void ln_rad_to_dms(double radians, struct ln_dms *dms)
radians to dms
Definition: utility.c:228
Right Ascension and Declination.
Definition: ln_types.h:139
double ln_deg_to_rad(double degrees)
degrees to radians
Definition: utility.c:93
unsigned short minutes
Definition: ln_types.h:117
double ln_find_zero(double(*func)(double, double *), double from, double to, double *arg)
Find zero of function f() at given interval by Newton method.
Definition: utility.c:692
double ln_range_degrees(double angle)
puts a large angle in the correct range 0 - 360 degrees
Definition: utility.c:237
Hours, minutes and seconds.
Definition: ln_types.h:127
Degrees, minutes and seconds.
Definition: ln_types.h:114
double ln_hms_to_rad(struct ln_hms *hms)
hours to radians.
Definition: utility.c:111
const char * ln_hrz_to_nswe(struct ln_hrz_posn *pos)
returns direction of given azimuth - like N,S,W,E,NSW,...
Definition: utility.c:375
double ln_range_radians(double angle)
puts a large angle in the correct range 0 - 2PI radians
Definition: utility.c:252
struct ln_dms alt
Definition: ln_types.h:152
double lat
Definition: ln_types.h:206
double ln_interpolate3(double n, double y1, double y2, double y3)
Calculate an intermediate value of the 3 arguments.
Definition: utility.c:622
void ln_add_secs_hms(struct ln_hms *hms, double seconds)
add seconds to hms
Definition: utility.c:283
double ln_interpolate5(double n, double y1, double y2, double y3, double y4, double y5)
Calculate an intermediate value of the 5 arguments.
Definition: utility.c:650
double ln_dms_to_rad(struct ln_dms *dms)
dms to radians
Definition: utility.c:181
Azimuth and Altitude.
Definition: ln_types.h:150
double alt
Definition: ln_types.h:192
double Y
Definition: ln_types.h:241
double ln_hms_to_deg(struct ln_hms *hms)
hours to degrees
Definition: utility.c:99
unsigned short neg
Definition: ln_types.h:115
const char * ln_get_humanr_location(double location)
Obtains a human readable location in the form: ddÂșmm'ss.ss"
Definition: utility.c:600
double seconds
Definition: ln_types.h:118
struct ln_dms az
Definition: ln_types.h:151
double ln_rad_to_deg(double radians)
radians to degrees
Definition: utility.c:87
void ln_hhrz_to_hrz(struct lnh_hrz_posn *hpos, struct ln_hrz_posn *pos)
human readable horizontal position to double horizontal position
Definition: utility.c:355
Ecliptical (or celestial) Longitude and Latitude.
Definition: ln_types.h:204
Equatorial Coordinates.
Definition: ln_types.h:176
void ln_add_hms(struct ln_hms *source, struct ln_hms *dest)
add hms to hms
Definition: utility.c:300
double dec
Definition: ln_types.h:178
unsigned short hours
Definition: ln_types.h:128
Rectangular coordinates.
Definition: ln_types.h:239