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);