numerical-collection-cpp
0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
iterative_solver.h
Go to the documentation of this file.
1
/*
2
* Copyright 2021 MusicScience37 (Kenta Kabashima)
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
20
#pragma once
21
22
#include "
num_collect/base/concepts/decayed_to.h
"
23
#include "
num_collect/base/concepts/reference_of.h
"
24
#include "
num_collect/logging/iterations/iteration_logger.h
"
25
#include "
num_collect/logging/logger.h
"
26
27
namespace
num_collect
{
28
inline
namespace
base {
29
namespace
concepts {
30
36
template
<
typename
T>
37
concept
iterative_solver
=
requires
(T& solver,
const
T& const_solver) {
38
{ solver.iterate() };
39
40
{ const_solver.is_stop_criteria_satisfied() } ->
decayed_to<bool>
;
41
42
{ solver.solve() };
43
44
{ solver.logger() } ->
reference_of<logging::logger>
;
45
{ const_solver.logger() } ->
reference_of<const logging::logger>
;
46
47
requires
requires
(
48
logging::iterations::iteration_logger<T>& iteration_logger) {
49
{ solver.configure_iteration_logger(iteration_logger) };
50
};
51
};
52
53
}
// namespace concepts
54
}
// namespace base
55
}
// namespace num_collect
num_collect::base::concepts::decayed_to
Concept of same types.
Definition
decayed_to.h:35
num_collect::base::concepts::iterative_solver
Concept of iterative solvers.
Definition
iterative_solver.h:37
num_collect::base::concepts::reference_of
Concept of references.
Definition
reference_of.h:35
decayed_to.h
Definition of decayed_to concept.
iteration_logger.h
Definition of iteration_logger class.
logger.h
Definition of logger class.
num_collect
Namespace of num_collect source codes.
Definition
create_diff_variable.h:33
reference_of.h
Definition of reference_of concept.
include
num_collect
base
concepts
iterative_solver.h
Generated on Sat Jan 18 2025 03:47:32 for numerical-collection-cpp by
1.12.0