Раньше была небольшая неточность в формуле, она выглядела так
mArcs = (int32_t) (deg * 3600 + min * 60) * 1000 из-за округления была не больная потеря в точности
This commit is contained in:
parent
a42ebc26d3
commit
82b643b0cb
|
|
@ -26,11 +26,10 @@ char cConvertDecToMilliArcSec(double dec, int32_t *mArcs, double *gradus) {
|
||||||
}
|
}
|
||||||
|
|
||||||
char cConvertDecToMilliArcSecFromDegMin(double deg, double min, int32_t *mArcs, double *gradus) {
|
char cConvertDecToMilliArcSecFromDegMin(double deg, double min, int32_t *mArcs, double *gradus) {
|
||||||
double sec = 0.0;
|
|
||||||
|
|
||||||
if (gradus != NULL) *gradus = deg + min / 60.0 + sec / 3600.0;
|
if (gradus != NULL) *gradus = deg + min / 60.0;
|
||||||
|
|
||||||
if (mArcs != NULL) *mArcs = (int) (deg * 3600 + min * 60) * 1000 + (int) (sec * 1000); // mArcseconds
|
if (mArcs != NULL) *mArcs = (int32_t) ((deg * 3600 + min * 60) * 1000); // mArcseconds
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue