1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
From 802065e025c8b435dc39b4fdd9262efdc1dcd2a8 Mon Sep 17 00:00:00 2001
From: "Alexander V. Wolf" <alex.v.wolf@gmail.com>
Date: Tue, 24 May 2022 14:47:50 +0700
Subject: [PATCH] Fixed something strange in radToHMSStr and radToHMSStrAdapt
convertors
probably ancient bug (?), maybe related to issue #2460
---
src/core/StelUtils.cpp | 6 +++---
src/tests/testConversions.cpp | 16 ++++++----------
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/src/core/StelUtils.cpp b/src/core/StelUtils.cpp
index 521d538315e..93a55ebb957 100644
--- a/src/core/StelUtils.cpp
+++ b/src/core/StelUtils.cpp
@@ -225,9 +225,9 @@ QString radToHmsStr(const double angle, const bool decimal)
{
unsigned int h,m;
double s;
- StelUtils::radToHms(angle+0.005*M_PI/12/(60*60), h, m, s);
+ StelUtils::radToHms(angle, h, m, s);
int width, precision;
- QString carry, r;
+ QString carry;
if (decimal)
{
width=5;
@@ -268,7 +268,7 @@ QString radToDmsStrAdapt(const double angle, const bool useD)
bool sign;
unsigned int d,m;
double s;
- StelUtils::radToDms(angle+0.005*M_PI/180/(60*60)*(angle<0?-1.:1.), sign, d, m, s); // NOTE: WTF???
+ StelUtils::radToDms(angle, sign, d, m, s);
QString str;
QTextStream os(&str);
diff --git a/src/tests/testConversions.cpp b/src/tests/testConversions.cpp
index a37db14307c..6e8a4c6f04c 100644
--- a/src/tests/testConversions.cpp
+++ b/src/tests/testConversions.cpp
@@ -248,12 +248,12 @@ void TestConversions::testRadToDMSStrAdapt()
data << 61*M_PI/360 << "+30°30'" << false;
data << M_PI/648000 << "+0°0'1\"" << false;
data << 1213*M_PI/2400 << "+90°58'30\"" << false;
- data << 39599*M_PI/648000 << "+10°59'59\"" << false;
+ data << 39599*M_PI/648000 << "+10°59'59.00\"" << false;
data << -M_PI/36 << "-5°" << false;
data << -7*M_PI/8 << "-157°30'" << false;
data << -2*M_PI/5 << "-72°" << false;
data << -M_PI << "-180°" << false;
- data << -10*M_PI/648 << "-2°46'40\"" << false;
+ data << -10*M_PI/648 << "-2°46'40.00\"" << false;
data << 0. << "+0d" << true;
data << M_PI/6 << "+30d" << true;
@@ -268,12 +268,12 @@ void TestConversions::testRadToDMSStrAdapt()
data << 61*M_PI/360 << "+30d30'" << true;
data << M_PI/648000 << "+0d0'1\"" << true;
data << 1213*M_PI/2400 << "+90d58'30\"" << true;
- data << 39599*M_PI/648000 << "+10d59'59\"" << true;
+ data << 39599*M_PI/648000 << "+10d59'59.00\"" << true;
data << -M_PI/36 << "-5d" << true;
data << -7*M_PI/8 << "-157d30'" << true;
data << -2*M_PI/5 << "-72d" << true;
data << -M_PI << "-180d" << true;
- data << -10*M_PI/648 << "-2d46'40\"" << true;
+ data << -10*M_PI/648 << "-2d46'40.00\"" << true;
while (data.count()>=3)
{
@@ -282,9 +282,7 @@ void TestConversions::testRadToDMSStrAdapt()
bool flag = data.takeFirst().toBool();
QString rdms = StelUtils::radToDmsStrAdapt(rad, flag);
QVERIFY2(rdms==edms, qPrintable(QString("%1 radians = %2 (expected %3) [flag: %4]")
- .arg(QString::number(rad, 'f', 5))
- .arg(rdms)
- .arg(edms)
+ .arg(QString::number(rad, 'f', 5), rdms, edms)
.arg(flag)));
}
}
@@ -381,9 +379,7 @@ void TestConversions::testRadToDMSStr()
bool useDF = data.takeFirst().toBool();
QString rdms = StelUtils::radToDmsStr(rad, decimalF, useDF);
QVERIFY2(rdms==edms, qPrintable(QString("%1 radians = %2 (expected %3) [flags: %4, %5]")
- .arg(QString::number(rad, 'f', 5))
- .arg(rdms)
- .arg(edms)
+ .arg(QString::number(rad, 'f', 5), rdms, edms)
.arg(decimalF)
.arg(useDF)));
}
|