]>
Commit | Line | Data |
---|---|---|
9d3e06a4 GB |
1 | #include <math.h> |
2 | #include <glib.h> | |
3 | ||
4 | #include <stdio.h> | |
5 | ||
f88152fe GB |
6 | /** |
7 | * @param pos_c char for positive value | |
8 | * @param neg_c char for negative value | |
9 | */ | |
10 | static gchar *convert_dec_to_dms(gdouble dec, gchar pos_c, gchar neg_c) | |
9d3e06a4 GB |
11 | { |
12 | gdouble tmp; | |
f88152fe GB |
13 | gchar sign_c = ' '; |
14 | gint val_d, val_m; | |
15 | gdouble val_s; | |
9d3e06a4 GB |
16 | gchar *result = NULL; |
17 | ||
18 | /* North ? South ? */ | |
f88152fe GB |
19 | if ( dec > 0 ) |
20 | sign_c = pos_c; | |
21 | else if ( dec < 0 ) | |
22 | sign_c = neg_c; | |
23 | else /* Nul value */ | |
24 | sign_c = ' '; | |
9d3e06a4 GB |
25 | |
26 | /* Degree */ | |
f88152fe GB |
27 | tmp = fabs(dec); |
28 | val_d = (gint)tmp; | |
9d3e06a4 GB |
29 | |
30 | /* Minutes */ | |
f88152fe GB |
31 | tmp = (tmp - val_d) * 60; |
32 | val_m = (gint)tmp; | |
9d3e06a4 GB |
33 | |
34 | /* Minutes */ | |
f88152fe | 35 | val_s = (tmp - val_m) * 60; |
9d3e06a4 GB |
36 | |
37 | /* Format */ | |
f88152fe GB |
38 |