module OrdinaryDiffEqHighOrderRK

import OrdinaryDiffEqCore: alg_order, qmax_default, qmin_default, beta2_default,
    beta1_default,
    explicit_rk_docstring, OrdinaryDiffEqAdaptiveAlgorithm,
    trivial_limiter!,
    _ode_addsteps!, @cache, OrdinaryDiffEqMutableCache,
    constvalue,
    alg_cache, uses_uprev, initialize!, perform_step!,
    OrdinaryDiffEqConstantCache,
    calculate_residuals!, calculate_residuals, CompiledFloats,
    copyat_or_push!, get_fsalfirstlast,
    unwrap_alg, _ode_interpolant, _ode_interpolant!,
    DerivativeOrderNotPossibleError, full_cache, isdp8
import Static: False
import MuladdMacro: @muladd
using DiffEqBase
import FastBroadcast: @..
import RecursiveArrayTools: recursivefill!
using DiffEqBase: @def, @tight_loop_macros
import OrdinaryDiffEqCore

using Reexport
@reexport using SciMLBase

include("algorithms.jl")
include("alg_utils.jl")
include("high_order_rk_caches.jl")
include("high_order_rk_tableaus.jl")
include("interp_func.jl")
include("interpolants.jl")
include("high_order_rk_addsteps.jl")
include("high_order_rk_perform_step.jl")

export TanYam7, DP8, PFRK87, TsitPap8

end
