|
LMCAS
Lamina Computer Algebra System
|
#include </home/runner/work/docs/docs/LMCAS/src/internal/symbolic_ast/numbers.hpp>
Public 成员函数 | |
| void | accept (LMCAS::detail::SymbolicVisitor &visitor) const override |
| std::shared_ptr< const SymbolicNode > | clone () const override |
| int | compare (const SymbolicNode &other) const |
| 与另一个节点进行全序比较. | |
| bool | equals (const SymbolicNode &other) const |
| 判断两个节点是否结构相等. | |
| std::size_t | hash () const |
| 获取节点哈希值(带缓存). | |
| bool | is_negative_one () const |
| bool | is_number () const override |
| bool | is_one () const override |
| bool | is_positive () const override |
| bool | is_zero () const override |
| int | type_priority () const override |
| const std::variant< BigInt, Rational > & | value () const noexcept |
Protected 成员函数 | |
| int | compare_same_type (const SymbolicNode &other) const override |
| std::size_t | compute_hash () const override |
Protected 属性 | |
| std::atomic< std::size_t > | cached_hash {0} |
| std::atomic< bool > | hash_computed {false} |
Private 成员函数 | |
| NumberNode (const BigInt &v) | |
| NumberNode (const Rational &v) | |
| NumberNode (lmmc_real_t v) | |
| NumberNode (std::variant< BigInt, Rational > v) | |
Private 属性 | |
| LMCAS_AST_NODE_FACTORY_FRIEND | |
| const std::variant< BigInt, Rational > | value_ |
在文件 numbers.hpp 第 8 行定义.
|
inlineexplicitprivate |
在文件 numbers.hpp 第 14 行定义.
被这些函数引用 compare_same_type().
|
inlineexplicitprivate |
|
explicitprivate |
在文件 symbolic_construction.cpp 第 28 行定义.
|
inlineexplicitprivate |
|
inlineoverridevirtual |
实现了 LMCAS::SymbolicNode.
在文件 numbers.hpp 第 38 行定义.
引用了 LMCAS::detail::SymbolicVisitor::visit().
|
inlineoverridevirtual |
实现了 LMCAS::SymbolicNode.
在文件 numbers.hpp 第 39 行定义.
引用了 LMCAS::detail::make_node() , 以及 value_.
|
inlineinherited |
与另一个节点进行全序比较.
| other | 待比较的节点 |
引用了 SymbolicNode(), compare_same_type() , 以及 type_priority().
被这些函数引用 LMCAS::anonymous_namespace{symbolic_cancel.cpp}::combine_fraction_terms() , 以及 LMCAS::endpoints_equivalent().
|
overrideprotectedvirtual |
实现了 LMCAS::SymbolicNode.
在文件 symbolic_number_order.cpp 第 36 行定义.
引用了 NumberNode(), LMCAS::SymbolicNode::SymbolicNode() , 以及 LMCAS::right.
|
inlineoverrideprotectedvirtual |
|
inlineinherited |
判断两个节点是否结构相等.
| other | 待比较的节点 |
引用了 SymbolicNode(), compare_same_type(), hash() , 以及 type_priority().
被这些函数引用 LMCAS::complementary_square(), LMCAS::anonymous_namespace{relation_store.cpp}::expr_equals(), LMCAS::match_recursive(), LMCAS::tf_remove_exp_factor() , 以及 LMCAS::tf_substitute_expr().
|
inlineinherited |
获取节点哈希值(带缓存).
引用了 cached_hash, compute_hash() , 以及 hash_computed.
被这些函数引用 LMCAS::MatrixNode::compute_hash(), LMCAS::VariableNode::compute_hash() , 以及 equals().
| bool LMCAS::NumberNode::is_negative_one | ( | ) | const |
在文件 symbolic_number_order.cpp 第 41 行定义.
引用了 LMCAS::integer , 以及 value_.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlinenoexcept |
在文件 numbers.hpp 第 21 行定义.
引用了 value_.
被这些函数引用 NumberNode(), LMCAS::bernoulli_integer_exponent(), LMCAS::detail::anonymous_namespace{interval_endpoint.cpp}::comparable_number(), LMCAS::anonymous_namespace{symbolic_number_order.cpp}::compare_exact_nodes(), LMCAS::anonymous_namespace{symbolic_number_order.cpp}::compare_exact_to_rational(), LMCAS::anonymous_namespace{expr_number_domains.cpp}::domain_contains_number(), LMCAS::detail::exact_rational_value(), LMCAS::anonymous_namespace{normalization_numeric_powers.cpp}::half_numeric_power(), LMCAS::integration_bounded_exponent(), LMCAS::is_negative_infinity_coefficient(), LMCAS::normalization_exact_square_root(), LMCAS::anonymous_namespace{normalization_numeric_functions.cpp}::numeric_absolute(), LMCAS::anonymous_namespace{normalization_signs.cpp}::positive_negative_number(), LMCAS::anonymous_namespace{normalization_numeric_powers.cpp}::reciprocal_exact_number(), LMCAS::anonymous_namespace{rational_polynomial_recognition.cpp}::recognize_number(), LMCAS::detail::inequality_support::anonymous_namespace{inequality_solver_ordering.cpp}::root_number_sign(), LMCAS::detail::series_support::series_number_value(), LMCAS::anonymous_namespace{normalization_numeric_powers.cpp}::small_exact_power(), LMCAS::solver_detail::solver_number_value(), LMCAS::anonymous_namespace{expr_serialization.cpp}::Writer::visit() , 以及 LMCAS::detail::RewriteBudget::Measurement::visit().
|
mutableprotectedinherited |
被这些函数引用 SymbolicNode() , 以及 hash().
|
mutableprotectedinherited |
被这些函数引用 SymbolicNode() , 以及 hash().
|
private |
在文件 numbers.hpp 第 10 行定义.
|
private |
在文件 numbers.hpp 第 12 行定义.
被这些函数引用 NumberNode(), NumberNode(), NumberNode(), NumberNode(), clone(), compute_hash(), is_negative_one(), is_one(), is_positive(), is_zero() , 以及 value().