LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
interval_endpoint.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include "
interval.hpp
"
4
#include "
internal/exact_algebraic.hpp
"
5
#include <optional>
6
#include <utility>
7
8
namespace
LMCAS::detail
{
9
10
struct
ComparableEndpoint
{
11
int
infinity
= 0;
12
Rational
rational
{};
13
Rational
radical_coefficient
{};
14
Rational
radicand
{};
15
std::optional<LMCAS::detail::ExactRealAlgebraic>
algebraic
;
16
17
ComparableEndpoint
(
int
infinity_value = 0,
18
Rational rational_value = {},
19
Rational coefficient_value = {},
20
Rational radicand_value = {})
21
:
infinity
(infinity_value),
22
rational
(std::move(rational_value)),
23
radical_coefficient
(std::move(coefficient_value)),
24
radicand
(std::move(radicand_value)) {}
25
};
26
27
struct
CheckedInterval
{
28
Interval
interval
;
29
ComparableEndpoint
lower
;
30
ComparableEndpoint
upper
;
31
};
32
33
Result<Rational>
exact_double_rational
(
double
value
,
ComputationContext
&
context
,
34
const
std::string&
operation
);
35
Result<ComparableEndpoint>
comparable_endpoint
(
36
const
Endpoint& endpoint,
ComputationContext
&
context
,
37
const
std::string&
operation
);
38
Result<int>
compare_comparable
(
const
ComparableEndpoint
& left,
39
const
ComparableEndpoint
&
right
,
40
ComputationContext
&
context
);
41
42
}
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::Result
定义
result.hpp:39
exact_algebraic.hpp
interval.hpp
区间与区间并集 IntervalUnion,用于不等式解集表示。
LMCAS::detail
多元 Hensel 提升(单变量步)
定义
assumption_context.hpp:31
LMCAS::detail::comparable_endpoint
Result< ComparableEndpoint > comparable_endpoint(const Endpoint &endpoint, ComputationContext &context, const std::string &operation)
定义
interval_endpoint.cpp:310
LMCAS::detail::exact_double_rational
Result< Rational > exact_double_rational(double value, ComputationContext &context, const std::string &operation)
定义
interval_endpoint.cpp:11
LMCAS::detail::CheckedInterval::interval
Interval interval
定义
interval_endpoint.hpp:28
LMCAS::detail::CheckedInterval::lower
ComparableEndpoint lower
定义
interval_endpoint.hpp:29
LMCAS::detail::operation
ComputationContext const std::string & operation
定义
exact_algebraic.hpp:32
LMCAS::detail::context
std::size_t std::size_t ComputationContext & context
定义
exact_algebraic.hpp:27
LMCAS::detail::compare_comparable
Result< int > compare_comparable(const ComparableEndpoint &left, const ComparableEndpoint &right, ComputationContext &context)
定义
interval_endpoint_order.cpp:71
LMCAS::detail::CheckedInterval::upper
ComparableEndpoint upper
定义
interval_endpoint.hpp:30
LMCAS::detail::CheckedInterval
定义
interval_endpoint.hpp:27
LMCAS::right
const ExprPtr & right
定义
residual_verification.hpp:50
LMCAS::value
const std::string const ExprPtr & value
定义
expr.hpp:293
LMCAS::ComparableEndpoint::ComparableEndpoint
ComparableEndpoint(int infinity_value=0, Rational rational_value={}, Rational coefficient_value={}, Rational radicand_value={})
定义
interval_endpoint.hpp:17
LMCAS::detail::ComparableEndpoint
定义
interval_endpoint.hpp:10
LMCAS::detail::ComparableEndpoint::rational
Rational rational
定义
interval_endpoint.hpp:12
LMCAS::detail::ComparableEndpoint::infinity
int infinity
定义
interval_endpoint.hpp:11
LMCAS::detail::ComparableEndpoint::radical_coefficient
Rational radical_coefficient
定义
interval_endpoint.hpp:13
LMCAS::detail::ComparableEndpoint::ComparableEndpoint
ComparableEndpoint(int infinity_value=0, Rational rational_value={}, Rational coefficient_value={}, Rational radicand_value={})
定义
interval_endpoint.hpp:17
LMCAS::detail::ComparableEndpoint::algebraic
std::optional< LMCAS::detail::ExactRealAlgebraic > algebraic
定义
interval_endpoint.hpp:15
LMCAS::detail::ComparableEndpoint::radicand
Rational radicand
定义
interval_endpoint.hpp:14
src
internal
interval_endpoint.hpp
生成于
, 为 LMCAS使用
1.18.0