From 96a015e564b0be38bb336e96818f116c6b58342b Mon Sep 17 00:00:00 2001 From: mattsignorelli <113714234+mattsignorelli@users.noreply.github.com> Date: Tue, 26 Mar 2024 08:32:17 -0400 Subject: [PATCH] Update devel.md --- docs/src/devel.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/src/devel.md b/docs/src/devel.md index 800ed99d..4f597ba8 100644 --- a/docs/src/devel.md +++ b/docs/src/devel.md @@ -1,4 +1,12 @@ # For Developers + +Developers may fork [the GTPSA.jl repo](https://github.com/bmad-sim/GTPSA.jl) and then `dev` their forked repo in the REPL. For example, if my Github username is `githubuser`, then after forking GTPSA.jl I would run in the REPL: + +```julia +import Pkg +Pkg.develop(url="https://github.com/githubuser/GTPSA.jl") +``` + The package consists of two layers: a low-level layer written in Julia that is 1-to-1 with the GTPSA C code, and a high-level, user-friendly layer that cleans up the notation for manipulating TPSAs, manages temporaries generated during evaluation, and properly manages the memory in C when variables go out of scope in Julia. The low-level functions, which are exported for developer usage at the moment, are listed below. The C code consists of three C structs: `desc`, `tpsa`, and `ctpsa`. The low-level Julia-equivalent, 1-to-1 structs are respectively `Desc`, `RTPSA`, and `CTPSA`. C pointers `Ptr` to these structs are wrapped by the high-level structs `Descriptor`, `TPSA`, and `ComplexTPSA` respectively. @@ -358,4 +366,4 @@ GTPSA.mad_ctpsa_scan_coef! GTPSA.mad_ctpsa_debug GTPSA.mad_ctpsa_isvalid GTPSA.mad_ctpsa_init! -``` \ No newline at end of file +```