Skip to content

[float][gmp] Add planning for GMP integration + Initialize folders and files#190

Merged
forfudan merged 6 commits intoupdatefrom
dev
Apr 3, 2026
Merged

[float][gmp] Add planning for GMP integration + Initialize folders and files#190
forfudan merged 6 commits intoupdatefrom
dev

Conversation

@forfudan
Copy link
Copy Markdown
Owner

@forfudan forfudan commented Apr 3, 2026

This PR introduces initial scaffolding and documentation for optional MPFR/GMP integration, including a C shared-library wrapper (loaded via dlopen/dlsym) and Mojo-side FFI bindings intended to support a future MPFR-backed BigFloat type.

Changes:

  • Added a C-based MPFR wrapper with lazy runtime loading plus a build script and pixi tasks to compile it.
  • Added Mojo FFI bindings (mpfr_wrapper.mojo) and a placeholder bigfloat.mojo for the upcoming BigFloat API.
  • Updated repository documentation/licensing notes (NOTICE + planning doc) and ignore rules for generated shared libraries.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces initial scaffolding and documentation for optional MPFR/GMP integration, including a C shared-library wrapper (loaded via dlopen/dlsym) and Mojo-side FFI bindings intended to support a future MPFR-backed BigFloat type.

Changes:

  • Added a C-based MPFR wrapper with lazy runtime loading plus a build script and pixi tasks to compile it.
  • Added Mojo FFI bindings (mpfr_wrapper.mojo) and a placeholder bigfloat.mojo for the upcoming BigFloat API.
  • Updated repository documentation/licensing notes (NOTICE + planning doc) and ignore rules for generated shared libraries.

Reviewed changes

Copilot reviewed 11 out of 13 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/decimo/gmp/README.md Documents wrapper architecture, build, and runtime behavior.
src/decimo/gmp/gmp_wrapper.c Adds C wrapper that lazily loads MPFR and exposes handle-based operations for Mojo FFI.
src/decimo/gmp/build_gmp_wrapper.sh Builds the shared library for macOS/Linux.
src/decimo/bigfloat/mpfr_wrapper.mojo Mojo FFI bindings to the C wrapper functions.
src/decimo/bigfloat/bigfloat.mojo Placeholder module and precision helper for future BigFloat.
src/decimo/bigfloat/init.mojo Adds package-level documentation for bigfloat.
README.md Minor README content reflow + mention of CLI tool.
pixi.toml Adds tasks to build the wrapper (buildgmp, bgmp).
NOTICE Adds third-party notice for optional MPFR/GMP runtime usage.
docs/readme_unreleased.md Updates badges/text and documents optional MPFR/GMP usage.
docs/plans/gmp_integration.md Adds detailed GMP/MPFR integration plan.
.gitignore Ignores built .dylib/.so artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/decimo/gmp/gmp_wrapper.c Outdated
Comment thread src/decimo/gmp/gmp_wrapper.c Outdated
Comment thread src/decimo/gmp/gmp_wrapper.c Outdated
Comment thread src/decimo/gmp/gmp_wrapper.c
Comment thread src/decimo/gmp/gmp_wrapper.c
Comment thread docs/plans/gmp_integration.md
Comment thread src/decimo/gmp/README.md Outdated
@forfudan forfudan merged commit e3141b8 into update Apr 3, 2026
9 checks passed
@forfudan forfudan deleted the dev branch April 3, 2026 23:15
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.

2 participants