question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

test_velocity_in_ITRF_to_GCRS2 too tight for 32-bit Intel

See original GitHub issue

In relation to #404: 32-bit intel is not precise enough for this test

[   93s] =================================== FAILURES ===================================
[   93s] ________________________ test_velocity_in_ITRF_to_GCRS2 ________________________
[   93s] 
[   93s]     def test_velocity_in_ITRF_to_GCRS2():
[   93s]         # TODO: Get test working with these vectors too, showing it works
[   93s]         # with a non-zero velocity vector, but in that case the test will
[   93s]         # have to be fancier in how it corrects.
[   93s]         # r = np.array([(1, 0, 0), (1, 1 / DAY_S, 0)]).T
[   93s]         # v = np.array([(0, 1, 0), (0, 1, 0)]).T
[   93s]     
[   93s]         ts = api.load.timescale(builtin=True)
[   93s]         t = ts.utc(2020, 7, 17, 8, 51, [0, 1])
[   93s]         r = np.array([(1, 0, 0), (1, 0, 0)]).T
[   93s]         v = np.array([(0, 0, 0), (0, 0, 0)]).T
[   93s]     
[   93s]         r, v = ITRF_to_GCRS2(t, r, v, True)
[   93s]     
[   93s]         # Rotate back to equinox-of-date before applying correction.
[   93s]         r = mxv(t.M, r)
[   93s]         v = mxv(t.M, v)
[   93s]     
[   93s]         r0, r1 = r.T
[   93s]         v0 = v[:,0]
[   93s]     
[   93s]         # Apply a correction: the instantaneous velocity does not in fact
[   93s]         # carry the position in a straight line, but in an arc around the
[   93s]         # origin; so use trigonometry to move the destination point to where
[   93s]         # linear motion would have carried it.
[   93s]         angvel = (t.gast[1] - t.gast[0]) / 24.0 * tau
[   93s]         r1 = mxv(rot_z(np.arctan(angvel) - angvel), r1)
[   93s]         r1 *= np.sqrt(1 + angvel*angvel)
[   93s]     
[   93s]         actual_motion = r1 - r0
[   93s]         predicted_motion = v0 / DAY_S
[   93s]     
[   93s]         relative_error = (length_of(actual_motion - predicted_motion)
[   93s]                           / length_of(actual_motion))
[   93s]     
[   93s] >       assert relative_error < 2e-12
[   93s] E       assert 3.866305785983307e-12 < 2e-12
[   93s] 
[   93s] skyfield/tests/test_positions.py:129: AssertionError
[   93s] =========================== short test summary info ============================
[   93s] FAILED skyfield/tests/test_positions.py::test_velocity_in_ITRF_to_GCRS2 - ass...
[   93s] ======================== 1 failed, 452 passed in 14.92s ========================

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:10 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
bnavigatorcommented, Jul 25, 2020

Can confirm, tests now pass using assay on i586

0reactions
brandon-rhodescommented, Jul 24, 2020

I have adjusted the test tolerances so that they should now all pass under 32-bit Linux! I do not have anything running under 32-bit in CI, but I now have a local command I can run before each Skyfield release (hopefully I remember!) that should hopefully keep the tests of future versions also running under 32-bit operating systems.

I plan to release a new Skyfield 1.25 within the next few hours that includes the improvement. Once you have the chance to try it out, let me know if you have any further problems that need to be tracked down for your openSUSE build!

Read more comments on GitHub >

github_iconTop Results From Across the Web

When using PCI Express, can 32-bit addressing be used to ...
If the addressable range is greater than 4 GB in size, this will by definition span outside of 32-bit address space. 32-bit addressing...
Read more >
Question: problems porting a 32-bit application to 64 bit ...
I have the source code for the application (originally written as a 32-bit application) and I am able to build the solution for...
Read more >
5.15.1. CPRI 32-bit IQ Data TX Interface
Each asserted bit indicates the IP core is ready to write IQ data into iq_tx_data in the next clock cycle. Each bit represents...
Read more >
Possible to install Win 10 32bit on NUC 8i3
Hello guys. Trying to install Win 10 32bit on new NUC (for mum; to have compatibility with old DOS aplication) I boot from...
Read more >
Intel® Graphics Driver for Windows* [15.40]
Windows® 10, 64-bit and 32-bit only. 32-bit support is limited to particular SKU's. 5th Generation Intel® Core™ Processors and related Intel Pentium ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found