Skip to content

[RFC] Backports for v0.8.5 #293

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

Closed
wants to merge 40 commits into from

Conversation

kimikage
Copy link
Collaborator

@kimikage kimikage commented Apr 30, 2024

To be backported

Not to be backported

PR Reason / Note
#189 💥Breaking (partially backported✅)
#207 💥Breaking (partially backported✅)
#190 Too many changes
#216 💥Breaking
#217 Dependent on #190
#222 💥Breaking (partially backported✅)
#225 Replaced by #283
#230 Dependent on #190
#235 💥Breaking (partially backported✅)
#236 💥Breaking
#243 💥Breaking (partially backported✅)
#249 Reverted
#258 💥for v0.9
#255 Reverted
#262 Not needed
#267 Not needed
#266 Not needed
#265 Not needed
#269 Not needed
#273 Not needed
#275 Not needed
#281 Not needed
#259 Not needed
#284 Not needed
#282 Not needed
#287 Not needed

@kimikage kimikage changed the base branch from master to release-0.8 April 30, 2024 03:15
@kimikage kimikage changed the title [RFC/WIP] Backports for 0.8.5 [RFC/WIP] Backports for v0.8.5 Apr 30, 2024
@kimikage kimikage force-pushed the backports_for_0.8.5 branch 3 times, most recently from 1863142 to f132105 Compare May 1, 2024 00:52
@kimikage kimikage force-pushed the backports_for_0.8.5 branch from f132105 to da29edc Compare May 1, 2024 02:40
kimikage added 3 commits May 1, 2024 13:15
This uses the type aliases for the message and avoids showing huge numbers.
This also reduces the compilation time, i.e. the CI time.
This abstracts the selection of the types to be tested and makes it more systematic.
As a result, we can reduce impractical test cases (e.g. for the 128-bit types) without significantly compromising the test quality.
This also reorders some test sets.
@kimikage kimikage force-pushed the backports_for_0.8.5 branch from da29edc to d37f075 Compare May 1, 2024 05:32
kimikage added 9 commits May 1, 2024 15:50
This prevents `rand` from returning a `ReinterpretArray` to avoid the performance problem with `ReinterpretArray` .
This also supports specifying the RNG option.
This displays the fixed point type of the input in the message, not the rawtype.
This adds `wrapping_mul` and `checked_mul` binary operations for `Normed`.

This replaces most of Normed's implementation of multiplication with integer operations.
This improves the speed in many cases and the accuracy in some cases.
)"

This specializes most of the multiplication for `Fixed` and avoids floating point operations.
A major change is that the rounding mode is changed from `RoundNearestTiesUp` to `RoundNearest`.
The existing `RoundNearestTiesUp` and `RoundDown` modes are now supported by the new unexported function `mul_with_rounding`.
This also improves `rem`.
Unlike multiplication for `Normed`, the wrapping arithmetic is the default for `Fixed`.
…th#223)

This reduces the environment-/optimization-dependent instability of the results for `NaN`.
This also adds tests for `NaN`/`Inf`.
This clarifies the behavior regarding `NaN` and `Inf`, which had not been explicitly defined.
@kimikage kimikage force-pushed the backports_for_0.8.5 branch from d37f075 to 82e6199 Compare May 1, 2024 09:22
@kimikage kimikage marked this pull request as ready for review May 1, 2024 09:33
@kimikage kimikage changed the title [RFC/WIP] Backports for v0.8.5 [RFC] Backports for v0.8.5 May 1, 2024
Copy link

codecov bot commented May 1, 2024

Codecov Report

Attention: Patch coverage is 99.35065% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 96.98%. Comparing base (cab78d7) to head (295b8d1).

Files Patch % Lines
src/utilities.jl 88.88% 1 Missing ⚠️
Additional details and impacted files
@@               Coverage Diff               @@
##           release-0.8     #293      +/-   ##
===============================================
+ Coverage        89.80%   96.98%   +7.17%     
===============================================
  Files                6        7       +1     
  Lines              461      630     +169     
===============================================
+ Hits               414      611     +197     
+ Misses              47       19      -28     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kimikage kimikage marked this pull request as draft May 1, 2024 09:38
@kimikage kimikage mentioned this pull request May 1, 2024
kimikage and others added 3 commits May 1, 2024 19:16
…or div/cld/fld (JuliaMath#226)"

The wrapping and saturating `div`/`cld`/`fld` are not backported.

The default arithmetic for `div` is still checked arithmetic.
This changes the error type for overflow from `DivideError` to `OverflowError`.
This also adds the support for `cld` and 3-arg `div`.
kimikage and others added 24 commits May 1, 2024 19:16
This removes `start`, `next` and `done`.
They are no longer used in Julia v1 and were left as private methods of `FixedPointNumbers`.
The test runs on a docker container with QEMU.
This also updates TagBot.yml.
This forces the `BigFloat`-->`Float16` conversion to go through `Float32` instead of `Float64`.
Co-authored-by: Johnny Chen <[email protected]>
Co-authored-by: kimikage <[email protected]>
* Use ubuntu-latest for Arm CI (host and container)
* Fix download URL of nightly build binary
* Use julia-actions/setup-julia@v2 for the host and use the same version as the target
@kimikage kimikage force-pushed the backports_for_0.8.5 branch from f77cad3 to 295b8d1 Compare May 1, 2024 10:16
@kimikage kimikage marked this pull request as ready for review May 1, 2024 10:59
@kimikage kimikage marked this pull request as draft May 12, 2024 07:42
@kimikage
Copy link
Collaborator Author

I am going to give this up.

@kimikage kimikage closed this May 12, 2024
@kimikage kimikage deleted the backports_for_0.8.5 branch May 12, 2024 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants