|
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