Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstdint>
7 :
8 : /// \cond
9 : namespace PUP {
10 : class er;
11 : } // namespace PUP
12 : /// \endcond
13 :
14 0 : struct AdaptiveSteppingDiagnostics {
15 0 : uint64_t number_of_slabs = 0;
16 0 : uint64_t number_of_slab_size_changes = 0;
17 0 : uint64_t number_of_steps = 0;
18 0 : uint64_t number_of_step_fraction_changes = 0;
19 0 : uint64_t number_of_step_rejections = 0;
20 :
21 0 : AdaptiveSteppingDiagnostics& operator+=(
22 : const AdaptiveSteppingDiagnostics& other);
23 :
24 0 : void pup(PUP::er& p);
25 : };
26 :
27 0 : bool operator==(const AdaptiveSteppingDiagnostics& a,
28 : const AdaptiveSteppingDiagnostics& b);
29 :
30 0 : bool operator!=(const AdaptiveSteppingDiagnostics& a,
31 : const AdaptiveSteppingDiagnostics& b);
|