LCOV - code coverage report
Current view: top level - src/convergence - ConvergenceIterationTypes.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 419b9d Lines: 12 12 100.0 %
Date: 2025-08-08 20:01:16 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #include "ConvergenceIterationTypes.h"
      11             : #include "MooseUtils.h"
      12             : 
      13             : namespace moose
      14             : {
      15             : namespace internal
      16             : {
      17             : 
      18             : ConvergenceIterationTypeRegistry &
      19      550920 : ConvergenceIterationTypeRegistry::getRegistry()
      20             : {
      21      550920 :   static ConvergenceIterationTypeRegistry conv_iter_type_registry;
      22      550920 :   return conv_iter_type_registry;
      23             : }
      24             : 
      25             : const Convergence::IterationType &
      26      550920 : ConvergenceIterationTypeRegistry::registerType(const std::string & name)
      27             : {
      28      550920 :   const auto name_upper = MooseUtils::toUpper(name);
      29             : 
      30      550920 :   const auto type_iter = _types.find(name_upper);
      31      550920 :   if (type_iter != _types.items().end())
      32             :   {
      33             :     // Assume that this is not a duplicate name, but a "double registration" due
      34             :     // to the dynamic load functionality.
      35      275460 :     return *type_iter;
      36             :   }
      37             :   else
      38      275460 :     return _types.addConvergenceIterationType(name_upper);
      39      550920 : }
      40             : 
      41             : } // internal
      42             : } // moose
      43             : 
      44             : namespace ConvergenceIterationTypes
      45             : {
      46             : const Convergence::IterationType &
      47      550920 : registerType(const std::string & it_type)
      48             : {
      49      550920 :   return moose::internal::ConvergenceIterationTypeRegistry::getRegistry().registerType(it_type);
      50             : }
      51             : }

Generated by: LCOV version 1.14