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

[WIP] implement BigInt (and BigFloat?) with native Array #17015

Closed
wants to merge 5 commits into from

Commits on Jun 21, 2016

  1. merge 2 versions (for GMP 5 & 6) of rand(::UnitRange{BigInt})

    As a consequence, using dynamically a version of GMP which
    does not match the compile time version is no longer an error
    (this patch makes this a warming).
    The code is shorter, but we break the MPZ API boundary; this also
    allows to put allocating pointer_to_array out of the loop, and get
    slightly better performances.
    rfourquet committed Jun 21, 2016
    Configuration menu
    Copy the full SHA
    8867efc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0f52167 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    df211b2 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2016

  1. add thread/gc safety

    Yu Yichao indicated the thread-safety issues and the skeleton of
    a solution, and explained the need to keep references to BigInt
    before ccall, and suggested to add a field at the end of MPZ.
    He also pointed at the GC un-safety of the previous solution
    due to the fact that finalizers can call arbitrary code. Scott
    Jones suggested to disable the GC to address this specific problem.
    rfourquet committed Jun 23, 2016
    Configuration menu
    Copy the full SHA
    2436752 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7508b99 View commit details
    Browse the repository at this point in the history