Skip to content

Fix _unsafe_trunc for BigFloat on ARM - #203

Merged
kimikage merged 1 commit into
JuliaMath:masterfrom
kimikage:issue202
Jul 21, 2020
Merged

kimikage merged 1 commit into
JuliaMath:masterfrom
kimikage:issue202

Conversation

@kimikage

@kimikage kimikage commented Jul 19, 2020

Copy link
Copy Markdown
Collaborator

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

codecov Bot commented Jul 19, 2020

Copy link
Copy Markdown

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
Copy Markdown
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

johnnychen94 commented Jul 20, 2020

Copy link
Copy Markdown
Collaborator

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

kimikage commented Jul 20, 2020

Copy link
Copy Markdown
Collaborator Author

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
Copy Markdown
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
Copy Markdown
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

timholy commented Jul 20, 2020

Copy link
Copy Markdown
Member

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