|
1 | 1 | module QuantumControl |
| 2 | +include("reexport.jl") |
2 | 3 |
|
3 | 4 | using QuantumPropagators |
4 | 5 | export propagate, propstep!, propstep |
5 | 6 |
|
6 | 7 | using QuantumControlBase |
7 | | -export ControlProblem, Objective, WeightedObjective, liouvillian |
8 | | -export discretize, discretize_on_midpoints, getcontrols, get_control_parameters |
9 | | -export get_tlist_midpoints |
10 | | -export propagate_objective |
11 | | -export optimize, @optimize_or_load, optimization_savename, load_optimization |
12 | | -export default_optimization_savename_kwargs |
13 | | -export chain_infohooks |
| 8 | +@reexport_members(QuantumControlBase) |
14 | 9 |
|
15 | 10 | module Shapes |
| 11 | + # we need `QuantumControlBase.Shapes` to be available under a name that |
| 12 | + # doesn't clash with `QuantumControl.Shapes` in order for the |
| 13 | + # `@reexport_members` macro to work correctly |
| 14 | + using QuantumControlBase: Shapes as QuantumControlBase_Shapes |
16 | 15 | using QuantumControlBase.Shapes |
17 | | - export flattop, box, blackman |
| 16 | + include("reexport.jl") |
| 17 | + @reexport_members(QuantumControlBase_Shapes) |
18 | 18 | end |
19 | 19 |
|
20 | 20 | module Functionals |
| 21 | + using QuantumControlBase: Functionals as QuantumControlBase_Functionals |
21 | 22 | using QuantumControlBase.Functionals |
22 | | - export F_ss, J_T_ss, chi_ss!, F_sm, J_T_sm, chi_sm!, F_re, J_T_re, chi_re! |
23 | | - export grad_J_T_sm! |
| 23 | + include("reexport.jl") |
| 24 | + @reexport_members(QuantumControlBase_Functionals) |
24 | 25 | end |
25 | 26 |
|
26 | 27 | using Krotov |
27 | 28 | using GRAPE |
28 | 29 |
|
29 | | -using Pkg |
30 | | -using UUIDs |
31 | | - |
32 | | -"""Print the versions of the packages constituting QuantumControl.""" |
33 | | -function print_versions() |
34 | | - project_toml = Pkg.TOML.parsefile(joinpath(@__DIR__, "..", "Project.toml")) |
35 | | - version = project_toml["version"] |
36 | | - direct_deps = project_toml["deps"] |
37 | | - deps = Pkg.dependencies() |
38 | | - pkg_names = [name for name in keys(direct_deps) if name ∉ ["Pkg", "UUIDs"]] |
39 | | - col_width = maximum([length(name) for name in pkg_names]) |
40 | | - for name in reverse(pkg_names) |
41 | | - pkginfo = deps[UUIDs.UUID(direct_deps[name])] |
42 | | - if pkginfo.is_tracking_path |
43 | | - println("$(rpad(name, col_width)): $(pkginfo.version) ($(pkginfo.source))") |
44 | | - else |
45 | | - println("$(rpad(name, col_width)): $(pkginfo.version)") |
46 | | - end |
47 | | - end |
48 | | - println("$(rpad("QuantumControl", col_width)): $version") |
49 | | -end |
| 30 | +include("print_versions.jl") |
50 | 31 |
|
51 | 32 | end |
0 commit comments