Internal functions and macros

This section of the manual includes some internal (i.e. unexported) functions and macros used within the library.

Function annotations

ReachabilityAnalysis.@requiresMacro
@requires(module_name)

Convenience macro to annotate that a package is required to use a certain function.

Input

  • module_name – name of the required package

Output

The macro expands to an assertion that checks whether the module module_name is known in the calling scope.

Notes

Usage:

function foo(...)
    @require MyPackage
    ... # functionality that requires MyPackage to be loaded
end
source

Algorithm defaults

ReachabilityAnalysis._default_cpostFunction
_default_cpost(ivp::IVP{<:AbstractContinuousSystem}, tspan; kwargs...)

Input

  • ivp – initial-value problem
  • tspan – time-span

Output

A continuous post-operator that can handle the given initial-value problem.

Notes

If the system is affine, then:

  • If it is one-dimensional, algorithm INT is used, otherwise,
  • Algorithm GLGM06 is used.

If the system is not affine, then the algorithm TMJets is used.

source

Documentation fixes

The following duplicated documentation is necessary due to a problem in the Documenter package.

ReachabilityAnalysis.basetypeFunction
basetype(T::Type{<:AbstractReachSet})

Return the base type of the given reach-set type (i.e., without type parameters).

Input

  • T – reach-set type, used for dispatch

Output

The base type of T.

source
basetype(T::Type{<:AbstractFlowpipe})

Return the base type of the given flowpipe type (i.e., without type parameters).

Input

  • T – flowpipe type, used for dispatch

Output

The base type of T.

source