-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAlgorithmsInterface.jl
More file actions
42 lines (31 loc) · 1.47 KB
/
AlgorithmsInterface.jl
File metadata and controls
42 lines (31 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
@doc raw"""
🧮 AlgorithmsInterface.jl: an interface for iterative algorithms in Julia
* 📚 Documentation: [juliamanifolds.github.io/AlgorithmsInterface.jl/](https://juliamanifolds.github.io/AlgorithmsInterface.jl/)
* 📦 Repository: [github.com/JuliaManifolds/AlgorithmsInterface.jl](https://github.com/JuliaManifolds/AlgorithmsInterface.jl)
* 💬 Discussions: [github.com/JuliaManifolds/AlgorithmsInterface.jl/discussions](https://github.com/JuliaManifolds/AlgorithmsInterface.jl/discussions)
* 🎯 Issues: [github.com/JuliaManifolds/AlgorithmsInterface.jl/issues](https://github.com/JuliaManifolds/AlgorithmsInterface.jl/issues)
"""
module AlgorithmsInterface
using Dates: Millisecond, Nanosecond, Period, canonicalize, value
using Printf
using ScopedValues
include("interface/algorithm.jl")
include("interface/problem.jl")
include("interface/state.jl")
include("interface/interface.jl")
include("stopping_criterion.jl")
include("logging.jl")
include("test_suite.jl")
# general interface
export Algorithm, Problem, State
export initialize_state, initialize_state!
export finalize_state!
export step!, solve, solve!, solve_loop!
# stopping criteria
export StoppingCriterion, StoppingCriterionState
export StopAfter, StopAfterIteration, StopWhenAll, StopWhenAny
export is_finished, is_finished!, get_reason, indicates_convergence
# Logging interface
export LoggingAction, CallbackAction, IfAction, ActionGroup
export with_algorithmlogger, emit_message
end # module AlgorithmsInterface