mcpp index

compat.gmp

#include

GMP -- GNU multiple precision arithmetic library (portable C kernels, built by mcpp)

#include <gmpxx.h>
mcpp add compat.gmp@6.3.0

Usage

From this repository's own test project — built and run by CI, not written for the website.

// compat.gmp `gmpxx` feature: the C++ bindings compile against the consumer's
// own toolchain and link.
//
// The stream operators are the load-bearing part. Everything else in gmpxx.h is
// inline in the header, so a member that only did arithmetic would link with
// the feature TURNED OFF and prove nothing. `os << mpz_class` resolves to
// __gmp_ostream_operator, which lives in cxx/osmpz.cc — one of the eleven
// sources the feature gates.
//
// It is also the one place where "compiled by the consumer's toolchain" is
// actually tested: those symbols carry std::ostream / std::string in their
// mangled names, so a prebuilt libgmpxx would resolve on libstdc++ and fail on
// libc++.

#include <gmpxx.h>

#include <cstdio>
#include <iostream>
#include <sstream>
#include <string>

namespace {
// …

tests/examples/gmp-gmpxx/tests/gmpxx.cpp · project tests/examples/gmp-gmpxx

Build

targets
gmp (lib)
language
c++23
C standard
c11
import std
no
include dirs
gmp-6.3.0/mcpp/include

Features

featuredeclares
gmpxxsources

Sources (49)

  • gmp-6.3.0/assert.c
  • gmp-6.3.0/compat.c
  • gmp-6.3.0/errno.c
  • gmp-6.3.0/extract-dbl.c
  • gmp-6.3.0/invalid.c
  • gmp-6.3.0/memory.c
  • gmp-6.3.0/mp_bpl.c
  • gmp-6.3.0/mp_dv_tab.c
  • gmp-6.3.0/mp_get_fns.c
  • gmp-6.3.0/mp_minv_tab.c
  • gmp-6.3.0/mp_set_fns.c
  • gmp-6.3.0/nextprime.c
  • gmp-6.3.0/primesieve.c
  • gmp-6.3.0/tal-reent.c
  • gmp-6.3.0/version.c
  • gmp-6.3.0/mpn/generic/*.c
  • !gmp-6.3.0/mpn/generic/udiv_w_sdiv.c
  • !gmp-6.3.0/mpn/generic/div_qr_1n_pi2.c
  • !gmp-6.3.0/mpn/generic/div_qr_1u_pi2.c
  • !gmp-6.3.0/mpn/generic/logops_n.c
  • !gmp-6.3.0/mpn/generic/popham.c
  • !gmp-6.3.0/mpn/generic/sec_aors_1.c
  • !gmp-6.3.0/mpn/generic/sec_div.c
  • !gmp-6.3.0/mpn/generic/sec_pi1_div.c
  • gmp-6.3.0/mpz/*.c
  • gmp-6.3.0/mpf/*.c
  • gmp-6.3.0/mpq/*.c
  • gmp-6.3.0/printf/*.c
  • gmp-6.3.0/scanf/*.c
  • gmp-6.3.0/rand/*.c
  • gmp-6.3.0/mcpp/mcpp_gmp_and_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_andn_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_clz_tab.c
  • gmp-6.3.0/mcpp/mcpp_gmp_fib_table.c
  • gmp-6.3.0/mcpp/mcpp_gmp_hamdist.c
  • gmp-6.3.0/mcpp/mcpp_gmp_ior_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_iorn_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_mp_bases.c
  • gmp-6.3.0/mcpp/mcpp_gmp_nand_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_nior_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_popcount.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_add_1.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_div_qr.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_div_r.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_pi1_div_qr.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_pi1_div_r.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_sub_1.c
  • gmp-6.3.0/mcpp/mcpp_gmp_xnor_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_xor_n.c

Generated files

  • gmp-6.3.0/scanf/gmp-impl.h
  • gmp-6.3.0/mcpp/include/gmpxx.h
  • gmp-6.3.0/mcpp/mcpp_gmp_iorn_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_sub_1.c
  • gmp-6.3.0/gmp-mparam.h
  • gmp-6.3.0/mcpp/mcpp_gmp_mp_bases.c
  • gmp-6.3.0/mpn/generic/gmp-impl.h
  • gmp-6.3.0/rand/longlong.h
  • gmp-6.3.0/mcpp/longlong.h
  • gmp-6.3.0/mcpp/mcpp_gmp_xor_n.c
  • gmp-6.3.0/trialdivtab.h
  • gmp-6.3.0/cxx/gmp-impl.h
  • gmp-6.3.0/mpz/gmp-impl.h
  • gmp-6.3.0/scanf/config.h
  • gmp-6.3.0/rand/gmp-impl.h
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_div_qr.c
  • gmp-6.3.0/printf/gmp-impl.h
  • gmp-6.3.0/config.h
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_add_1.c
  • gmp-6.3.0/mpn/generic/jacobitab.h
  • gmp-6.3.0/mcpp/config.h
  • gmp-6.3.0/printf/longlong.h
  • gmp-6.3.0/printf/config.h
  • gmp-6.3.0/mcpp/mcpp_gmp_fib_table.c
  • gmp-6.3.0/fac_table.h
  • gmp-6.3.0/mcpp/mcpp_gmp_and_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_popcount.c
  • gmp-6.3.0/mcpp/mcpp_gmp_andn_n.c
  • gmp-6.3.0/sieve_table.h
  • gmp-6.3.0/cxx/gmpxx.h
  • gmp-6.3.0/mpz/config.h
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_div_r.c
  • gmp-6.3.0/mpq/longlong.h
  • gmp-6.3.0/mp_bases.h
  • gmp-6.3.0/mpq/gmp-impl.h
  • gmp-6.3.0/mcpp/mcpp_gmp_nior_n.c
  • gmp-6.3.0/gmp.h
  • gmp-6.3.0/mcpp/gmp.h
  • gmp-6.3.0/mpn/generic/trialdivtab.h
  • gmp-6.3.0/mpn/generic/perfsqr.h
  • gmp-6.3.0/mpz/longlong.h
  • gmp-6.3.0/mcpp/mcpp_gmp_ior_n.c
  • gmp-6.3.0/mpf/longlong.h
  • gmp-6.3.0/mpn/generic/longlong.h
  • gmp-6.3.0/mpn/generic/mpn/generic/hgcd2-div.h
  • gmp-6.3.0/mpf/gmp-impl.h
  • gmp-6.3.0/mpf/config.h
  • gmp-6.3.0/mcpp/mcpp_gmpxx.cc
  • gmp-6.3.0/mcpp/mcpp_gmp_hamdist.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_pi1_div_r.c
  • gmp-6.3.0/mcpp/mcpp_gmp_xnor_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_sec_pi1_div_qr.c
  • gmp-6.3.0/mcpp/mcpp_gmp_nand_n.c
  • gmp-6.3.0/mcpp/mcpp_gmp_clz_tab.c
  • gmp-6.3.0/mpn/generic/config.h
  • gmp-6.3.0/mcpp/gmp-impl.h
  • gmp-6.3.0/mcpp/include/gmp.h
  • gmp-6.3.0/mpq/config.h
  • gmp-6.3.0/fib_table.h

Versions

VersionPlatforms Mirrorssha256
6.3.0 latest LinuxWindowsmacOS GLOBAL CN e56fd59d7681…