Skip to content

Fix _unsafe_trunc for BigFloat on ARM #203

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

Merged
merged 1 commit into from
Jul 21, 2020
Merged

Conversation

kimikage
Copy link
Collaborator

@kimikage kimikage commented Jul 19, 2020

Fixes #202.

This also moves _unsafe_trunc to "src/utilities.jl". It has been used in ”fixed.jl" for 2 years.

reinterpret(U, _unsafe_trunc(T, y))


I didn't have the plans, but I'd like to release v0.8.4.

@kimikage kimikage changed the title Fix _unsafe_trunc for BigFloat on ARM Fix _unsafe_trunc for BigFloat on ARM Jul 19, 2020
@codecov
Copy link

codecov bot commented Jul 19, 2020

Codecov Report

Merging #203 into master will decrease coverage by 0.38%.
The diff coverage is 42.85%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #203      +/-   ##
==========================================
- Coverage   89.30%   88.91%   -0.39%     
==========================================
  Files           6        6              
  Lines         458      460       +2     
==========================================
  Hits          409      409              
- Misses         49       51       +2     
Impacted Files Coverage Δ
src/normed.jl 89.72% <ø> (+0.84%) ⬆️
src/utilities.jl 84.00% <33.33%> (-16.00%) ⬇️
src/fixed.jl 90.17% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3f12729...65049ad. Read the comment docs.

This also moves `_unsafe_trunc` to "src/utilities.jl".
@kimikage
Copy link
Collaborator Author

The tests were passed on ARM.
https://travis-ci.com/github/kimikage/FixedPointNumbers.jl/builds/176247519

Since this package is low-level and Linux-aarch64 is in Tier 1, I think it might be a good idea to add aarch64 into the CI targets. However, the arm64 environment in Travis may differ from the practical environment because it does not support any extension instruction sets such as NEON.

@johnnychen94
Copy link
Collaborator

johnnychen94 commented Jul 20, 2020

However, the arm64 environment in Travis may differ from the practical environment because it does not support any extension instruction sets such as NEON.

Even if it is not a perfect setting, adding aarch64 as one CI target could definitely improve the code coverage and help catches potential issues. So why not 😄

@kimikage
Copy link
Collaborator Author

kimikage commented Jul 20, 2020

My little concern is that the arm64 environment in Travis is a bit slow.

Maybe:

  • GitHub Actions
    • { Linux, Windows, macOS } × { v1.0, v1, nightly } × { x64 } ∪ { (Windows?, v1, x86) }
  • Travis CI
    • { Linux } × { v1.0, v1, nightly } × { aarch64 }
  • AppVeyor
    • Thank you for everything!

@johnnychen94
Copy link
Collaborator

Windows x86 is no-longer at tier 1 support, so it makes sense to not include it in CI. I'm not 100% sure of it, though.

JuliaLang/www.julialang.org#667

{ Linux, Windows, macOS } × { v1.0, v1, nightly } × { x86-64 }

I assume this is arch = [x86, x64]?

@kimikage
Copy link
Collaborator Author

I assume this is arch = [x86, x64]?

I meant arch = x64 only. I think testing on 32-bit x86 is necessary, but I don't think it's necessary to consider OS differences. Therefore, the OS for 32-bit x86 does not have to be Windows.

@timholy
Copy link
Member

timholy commented Jul 20, 2020

I don't follow architectures carefully but I'd support adding a new one to tests. How long are we talking to run the tests on aarch64?

@kimikage kimikage merged commit cab78d7 into JuliaMath:master Jul 21, 2020
@kimikage kimikage deleted the issue202 branch July 21, 2020 21:28
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.

MSB may be cleared in conversion from BigFloat on ARM
3 participants