LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
property_store_support.cpp
浏览该文件的文档.
2
4
5std::string domain_str(Domain domain) {
6 static const std::pair<Domain, const char*> names[] = {
7 {Domain::Complex, "Complex"},
8 {Domain::Real, "Real"},
9 {Domain::Algebraic, "Algebraic"},
10 {Domain::Rational, "Rational"},
11 {Domain::Integer, "Integer"},
12 {Domain::Natural, "Natural"},
13 {Domain::PositiveInt, "PositiveInt"}
14 };
15 for (const auto& name : names) {
16 if (domain == name.first) return name.second;
17 }
18 return "Complex";
19}
20PropertyStoreResult invalid_empty_symbol(const std::string& operation) {
22 CasErrc::InvalidArgument, "symbol name must not be empty", operation);
23}
24
25}
static Result failure(CasErrc code, std::string message, std::string operation={})
std::string domain_str(Domain domain)
PropertyStoreResult invalid_empty_symbol(const std::string &operation)
Result< void > PropertyStoreResult
Domain
Mathematical domain hierarchy (least specific → most specific). Complex ⊃ Real ⊃ Algebraic ⊃ Rational...
@ Complex
Complex numbers (default, least specific)
@ Rational
Rational numbers
@ Natural
Non-negative integers (0, 1, 2, ...)
@ Real
Real numbers
@ Algebraic
Algebraic numbers (roots of polynomials with rational coefficients)
@ PositiveInt
Positive integers (1, 2, 3, ...)
const NumberDomainSet & domain
__attribute__((visibility("default"))) Result< EqvProfile > eqv_profile_from_name(const std const std::string & name