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

Backports for 0.12.11 #549

Merged
merged 7 commits into from
May 11, 2024

Commits on May 11, 2024

  1. Improve type stability in conversion methods (JuliaGraphics#427)

    This also optimizes conversion methods and changes the results slightly.
    kimikage committed May 11, 2024
    Configuration menu
    Copy the full SHA
    24e7ab0 View commit details
    Browse the repository at this point in the history
  2. Remove forced conversion of weight type in weighted_color_mean (Jul…

    …iaGraphics#441)
    
    This slightly changes the results for colors with low-precision eltypes (e.g. `N0f8`).
    kimikage committed May 11, 2024
    Configuration menu
    Copy the full SHA
    3e8e250 View commit details
    Browse the repository at this point in the history
  3. Improve speed and mean accuracy of pow12_5 (JuliaGraphics#483)

    `pow12_5` is used in the `RGB{Float64}`-->`XYZ` conversion.
    This ensures sufficient accuracy (~2 ULP) in the range of [0.09, 1],
    which is typically required for the conversion.
    
    `@inline` could be a workaround for the problem with precompilation.
    kimikage committed May 11, 2024
    Configuration menu
    Copy the full SHA
    58625c1 View commit details
    Browse the repository at this point in the history
  4. Improve speed of pow5_12(::Float64) and accuracy of `pow5_12(::Floa…

    …t32)` (JuliaGraphics#485)
    
    `pow5_12(::Float64)` is used in the `XYZ{Float64}`-->`RGB` conversion.
    This ensures sufficient accuracy (~3 ULP) in the range of [0.003, 1],
    which is typically required for the conversion.
    
    Previously, even conversions from `XYZ{::Float32}` were calculated with `Float64`.
    This changes the conversions so that `pow5_12(::Float32)` is used.
    However, `pow5_12(::Float32)` still be calculated within `Float64` for accuracy.
    
    `@inline` could be a workaround for the problem with precompilation.
    kimikage committed May 11, 2024
    Configuration menu
    Copy the full SHA
    ef89aa1 View commit details
    Browse the repository at this point in the history
  5. Make the cube root to be inlined (JuliaGraphics#489)

    This makes the cube root to be inlined to make it suitable for vectorization.
    This is intended to reduce precompilation problems rather than increase the speed.
    kimikage committed May 11, 2024
    Configuration menu
    Copy the full SHA
    00e8cdf View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    663efd2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2753525 View commit details
    Browse the repository at this point in the history