Getting started

Prerequisites

The C library libudx must be built before loading UDX.jl. It depends on:

  • GMP (6.3.0)
  • MPFR (4.2.0)
  • MPFI (1.5.4)

How to build libudx (CMake flags, scripts, Julia vs Maple) is described in its own chapter: Building libudx. That page also states which platforms are supported out of the box and how to build on other systems.

Library path

On package load, UDX.jl looks for the shared library relative to the package source:

src/UDX.jl  →  ../../bin/libudx.dylib   (default layout on macOS)

Adjust __init__ in src/UDX.jl if you install libudx elsewhere (e.g. libudx.so on Linux):

lib_so_udx = abspath(joinpath(udx_install_path, "../../bin/libudx.so"))

Install the Julia package

When the package lives in its own repository, install by path or URL:

using Pkg
Pkg.develop(url="https://gitlab.example.com/you/UDX.jl.git")
# or
Pkg.develop(path="/path/to/UDX.jl")

Or in package mode:

pkg> dev https://gitlab.example.com/you/UDX.jl.git

Optional: MPFI

For udx_read_mpfi and udx_write_mpfi, add the MPFI package. UDX.jl loads the MPFIExt extension when MPFI is available.

using MPFI
using UDX   # extension provides udx_read_mpfi / udx_write_mpfi