Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release candidate: 1.4.0.0 #37

Merged
merged 134 commits into from
Nov 11, 2021
Merged

Release candidate: 1.4.0.0 #37

merged 134 commits into from
Nov 11, 2021

Conversation

lfborjas
Copy link
Owner

See: #29, #34

lfborjas added 30 commits June 25, 2021 18:50
* Introduces a threadsafe global state, similar to the one used by
  swecalc, to track the base path and current file pointer for
  precalculated ephemeris.
* The base path is now configurable via direct invocation of the new
  function to set paths (not exposed yet, next commit!), the `EP4_PATH`
  environment variable, or the `EP4_PATH` macro-defined path, which
  defaults to `/home/ephe` for non-windows systems.
`dephread2` returns degrees as doubles vs. centiseconds, trying it
out since that's the one we'd use for the Haskell interface.
Fortunately, it's all at the level of constants; so including e.g.
the other asteroids + pars fortunae is just a bit of easy refactoring!
Will simplify the API though.
The underlying C library does _integer division_ between the julian day
and 10,000L -- this seems to make it fall outside of the actual expected
range!
The one that doesn't muck about with file pointers
If this fails, we're definitely dealing with some file pointer trickery
This time with a hat!
I have a suspicion that some weird OS file descriptor limit is
being reached.
New hypothesis: it's not the weird test, it's the lack of appropriate
fallback?
lfborjas and others added 29 commits August 8, 2021 21:12
* More generic name for search direction
* Make ecltype function total, add new convenience ecl fns
* Functions for eclipse at location, solar eclipse location
* Also, some renaming for ergonomics
* Notes on future work
* Tests for eclipses
* Tests for crossings
In linux:

```
  1) SwissEphemeris, solar eclipses, calculates the date and location of a solar eclipse
       expected: GeographicPosition {geoLat = -76.75422256653523, geoLng = -46.06809018915021}
        but got: GeographicPosition {geoLat = -76.75422256649789, geoLng = -46.06809018948189}
```
Added it directly to the sweph sources, which could be an issue with
future upgrades; so, caveat!
wip: interpolate
wip: bracketed retrograde motion
both direction change fns
Tests for direction changes
Had to do some C malarkey, I'm sorry jesus.
Initialize s as b in interpolation fn, to catch cases where a zero has already been reached.
In preparation for also finding moon phases
We weren't setting a root when the "near convergence" case was reached,
erroneously reporting failure when in reality a root was already at hand
Bindings for crossings, eclipses, and planetary phenomena
@lfborjas lfborjas merged commit 169e3df into master Nov 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant