Sonntag, 22. Dezember 2013

Jahre später... weiter auf Linux

Nach fast zwei Jahren komme ich nun auf dieses Projekt zurück.

Nun entwickle ich mit der Eclipse CDT auf einem Linux-Rechner (Ubuntu 12.04).

Der Plan ist nach wie vor, eine parallelisierbare ("thread-safe") Version der Swiss Ephemeris zu erstellen.

Nach Übernahme der Files und Anpassung des makefile gab es Abbrüche bei der Ausführung der Tests. Ich musst die binären Dateien mit den Testerwartungen (dem Output des Swiss-Ephemeris-Standard) mit testgen tcr.fix neu generieren, um weiterzukommen. Ich vermute, es lag daran, dass auf der neuen Plattform Gleitkommazahlen anders gespeichert werden, aber es lohnt sich in diesem Fall nicht, der Ursache nachzugehen.

Nun komme ich mit dem Programm test_calc_reduce, das den neuen Code testet, zwar weiter, als vorher, und es gibt auch eine ganze Reihe von erfolgreichen Tests... aber eben auch nicht erfolgreiche.

swepar/src$ cat tcr.log | grep OK
Swiss Eph, geocentric positions: 245 OK   5 NOT OK
Swiss Eph, helio/barycentric positions: 285 OK   
Swiss Eph, different coordinate systems: 4 OK   
Obliquity of ecliptic and nutation: 1 OK   
Moshier, geocentric positions: 20 OK   120 NOT OK
Zur Auffrischung: Die Tests wurden mit einem Fixture-File beschrieben. Hier ist die Fixture, die ich verwendet habe:
TESTCASE
description:Swiss Eph, geocentric positions
planets:0-13,15-20,21,22,40,43,47
flags:2,258
dates:1.1.1000-31.12.2000,5,randomly  # 5 random dates for each object

TESTCASE
description:Swiss Eph, helio/barycentric positions
planets:1-9,14-20,40,43,47
flags:10,266,16642
dates:1.1.1000-31.12.2000,5,randomly  # 5 random dates for each object

TESTCASE
description:Swiss Eph, different coordinate systems
planets:5
flags:96,64,4096,8192
jd:2424912.5 # 1.2.1927

TESTCASE
description:Obliquity of ecliptic and nutation
planets:-1
flags:0
jd:2424912.5 # 1.2.1927

TESTCASE
description:Moshier, geocentric positions
planets:0-13
flags:4,260
dates:1.1.500-31.12.1500,5,randomly  # 5 random dates for each object

TESTCASE
description:Moshier, heliocentric positions
planets:1-9,14
flags:12,268
dates:1.1.500-31.12.1500,5,randomly  # 5 random dates for each object

TESTCASE
description:Provoking a "file not found" error
planets:5
flags:2  # Force Swiss Ephemeris
jd:0  # There will be no ephemeris file for JD 0

TESTCASE
description:New mode: Barycentric, directly from file
planets:5
flags:416048  # NEW_MODE + ICRS + BARYCTR + XYZ + TRUEPOS + J2000
jd:2452545.0 
Nach "Moshier, geocentric positions" wären also weitere Tests auszuführen gewesen. Das Programm ist in "Moshier, heliocentric positions" abgebrochen. Tatsächlich gab es einen Speicherzugriffsfehler. Dem wäre als nächstes nachzugehen...

Keine Kommentare:

Kommentar veröffentlichen