Commit Graph

2245 Commits

Author SHA1 Message Date
Don Cross
468d4f8889 Added Python unit tests to the Windows run.bat. Added pass banner. 2019-07-02 15:31:13 -04:00
Don Cross
eb2a8c14d0 Python: finished all unit tests -- LunarApsis was the last one. 2019-07-02 14:13:31 -04:00
Don Cross
7c8722acad Print ASCII art "All Tests Passed" on success.
It's nice to have a clear signal that I can read across the room
that everything was successful.  If I don't see this, I know
something went wrong.
2019-07-02 14:12:19 -04:00
Don Cross
d794908472 Python: Added test and fixes for SearchPeakMagnitude. 2019-07-02 13:38:55 -04:00
Don Cross
d5bdb420b1 Simplified NextLunarApsis functions in C and Python. 2019-07-02 13:05:54 -04:00
Don Cross
d01c4fd0a5 Python: Added tests for astronomy.Illumination().
I still need to add a test for SearchPeakMagnitude().
2019-07-01 17:00:28 -04:00
Don Cross
86674e3c73 Python: implemented rise/set tests and fixed associated bugs. 2019-06-30 18:58:04 -04:00
Don Cross
e3759ebde5 Python: finished elongation/longitude tests. 2019-06-30 14:29:25 -04:00
Don Cross
503541e196 Python testing: Implemented TestPlanetLongitudes 2019-06-30 13:48:54 -04:00
Don Cross
fa1ce83a00 Python testing: elongation test in progress. 2019-06-30 13:34:51 -04:00
Don Cross
4be7b949f6 JS: renamed field from apsisType to kind. 2019-06-30 07:50:29 -04:00
Don Cross
6b7a72c640 Simplified C MoonPhase test. 2019-06-29 23:45:40 -04:00
Don Cross
0ab44ede69 Python: Added MoonPhase test. Fixed errors. 2019-06-29 23:43:38 -04:00
Don Cross
9d304850df Python: Added seasons test and fixed errors uncovered by it. 2019-06-29 23:02:27 -04:00
Don Cross
16aa0b3313 Python: Finished first pass of porting functions.
The next step is to write all the unit tests.
2019-06-29 20:30:52 -04:00
Don Cross
a80e63b85f Python work in progress: SearchRiseSet 2019-06-29 19:43:25 -04:00
Don Cross
2b7fcc81a3 Removed 'iter' field from JS class HourAngleEvent. 2019-06-29 18:57:13 -04:00
Don Cross
f36d91024d Python work in progress: SearchHourAngle. 2019-06-29 16:52:00 -04:00
Don Cross
b82f4af407 Python work in progress: SearchMoonQuarter, NextMoonQuarter. 2019-06-29 16:25:39 -04:00
Don Cross
c864dab19d Python work in progress: SearchPeakMagnitude. 2019-06-29 16:05:59 -04:00
Don Cross
2aa487aa6d Python: work in progress - magnitude functions. 2019-06-29 15:28:41 -04:00
Don Cross
52d77e34ed Python: more work in progress, translating functions.
Also fixed incorrect comment in C code.
2019-06-29 14:31:37 -04:00
Don Cross
90e526b75f Python: more work in progress, translating functions. 2019-06-29 14:12:57 -04:00
Don Cross
ba06afd817 Python work in progress: translating more functions. 2019-06-29 08:06:49 -04:00
Don Cross
9df032d1ce Python: added to-do list comments of functions to be implemented. 2019-06-28 20:55:03 -04:00
Don Cross
0c824bcf1b Major performance improvement for C library: re-use Earth tilt calculations.
Just like I did in the Python version, avoid repeated calculations
of the Earth's tilt angles for a given time. Do this by caching
the angles in the astro_time_t structure. This requires passing in
the time values by address instead of by value. I may go back and
change all the time parameters to pointers for consistency.
2019-06-27 21:47:30 -04:00
Don Cross
dfb888efb9 Measure time required by JS and C astro_check. 2019-06-27 15:27:01 -04:00
Don Cross
8615a2548a Huge performance boost to Python code: re-use e_tilt calculations.
Calculate _e_tilt() no more than once per Time instance.
Cache the value in the Time instance and re-use it.
This reduced astro_check time from 5.0 minutes to 2.0 minutes.
2019-06-27 14:54:49 -04:00
Don Cross
f2478fa29d Improved performance in C and JS code by getting rid of ter2cel() function.
I already did this in the Python code to significantly reduce the number
of calls to e_tilt(). Did the same thing here: call sidereal_time() once,
then use the value 3 times.
2019-06-27 14:35:46 -04:00
Don Cross
c611b50d3f Significant performance boost to Python code: eliminate _ter2cel().
There were 3 calls to _ter2cel(), each of which redundantly
called _sidereal_time, which results in 3 calculations of _e_tilt().
Reworked so there is only one call to _e_tilt().

Minor changes to support using cProfile, which is how I found this.
2019-06-27 14:22:59 -04:00
Don Cross
f85025da31 Implemented astro_check in Python. Exercises major parts of the code.
There is still a slight discrepancy in calculations of altitude,azimuth
that is larger than between JS and C.
2019-06-26 21:12:27 -04:00
Don Cross
6d0ee59c1f Python: starting to implement astro_check. 2019-06-26 19:12:59 -04:00
Don Cross
221ea1130a Implemented Python Search function. Slight tweaks to C and JS versions. 2019-06-26 17:36:29 -04:00
Don Cross
f3efb29846 Python: Implemented quadratic interpolation, to be used by Search. 2019-06-26 17:06:14 -04:00
Don Cross
5802739e66 Python: implemented function GeoVector. 2019-06-26 07:28:51 -04:00
Don Cross
d2346051e3 Python: Implemented HelioVector function. 2019-06-26 06:05:24 -04:00
Don Cross
03c1bf3c8b Python: Implemented VSOP and Chebyshev calculations. 2019-06-26 05:51:55 -04:00
Don Cross
07ba91ed65 Use same code generator for JavaScript and Python: Chebyshev Pluto model. 2019-06-26 05:25:09 -04:00
Don Cross
027a6af007 Adapted JS vsop code generator to work with Python code too.
Now the Python code and the JavaScript code for VSOP models
are generated by codegen.c using the same $ASTRO_LIST_VSOP macro.
Python functions for calculating from VSOP are not yet implemented.
2019-06-25 21:28:20 -04:00
Don Cross
49e505e654 Verified GeoMoon C and Python versions are consistent for a single test case.
This is a good indicator that the Python translation of CalcMoon is correct.
2019-06-24 15:47:17 -04:00
Don Cross
787812287c Python: calling GeoMoon() without errors, but calculations not yet validated. 2019-06-24 15:25:28 -04:00
Don Cross
44b9d26d1d Python: CalcMoon work in progress. First pass is finished. Not yet tested. 2019-06-24 14:48:08 -04:00
Don Cross
79df146194 More Python CalcMoon work in progress.
Also made minor optimizations to spin() function in both JS and C.
Fixed a mistake in JS and C that does not appear to have any
algorithmic consequences, but it was definitely confusing once I saw it.
2019-06-24 14:08:38 -04:00
Don Cross
e47602f46b Python: translation in progress. 2019-06-23 21:28:45 -04:00
Don Cross
b5ebc4a645 Added python unit test. 2019-06-23 19:52:16 -04:00
Don Cross
7f0a369027 Python: reworked names and made Time more object-oriented. 2019-06-23 19:46:28 -04:00
Don Cross
a76b069ccc Python: added astro_time_t.Utc(). Added more testing. 2019-06-23 17:50:13 -04:00
Don Cross
8a344d251d Python: more work on date/time and formatting of same. 2019-06-23 17:36:33 -04:00
Don Cross
35017483cb Fixed problem in Python MakeTime() function.y 2019-06-23 17:10:58 -04:00
Don Cross
2a97849af2 Python: Implemented AddDays function. 2019-06-22 21:35:48 -04:00