LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
LMCAS::modular_detail 命名空间参考

函数

uint64_t abs_to_u64 (int64_t value)
bool checked_positive_product (int64_t a, int64_t b, int64_t &out)

函数说明

◆ abs_to_u64()

uint64_t LMCAS::modular_detail::abs_to_u64 ( int64_t value)
inline

在文件 modular_arithmetic.hpp 第 27 行定义.

27 {
28 if (value >= 0) return static_cast<uint64_t>(value);
29 return static_cast<uint64_t>(-(value + 1)) + 1;
30}
const std::string const ExprPtr & value

引用了 abs_to_u64() , 以及 LMCAS::value.

被这些函数引用 abs_to_u64() , 以及 LMCAS::extended_gcd().

函数调用图:
这是这个函数的调用关系图:

◆ checked_positive_product()

bool LMCAS::modular_detail::checked_positive_product ( int64_t a,
int64_t b,
int64_t & out )
inline

在文件 modular_arithmetic.hpp 第 32 行定义.

32 {
33 if (a <= 0 || b <= 0) return false;
34 if (static_cast<uint64_t>(a) >
35 static_cast<uint64_t>(std::numeric_limits<int64_t>::max()) / static_cast<uint64_t>(b)) {
36 return false;
37 }
38 out = a * b;
39 return true;
40}
const MultiPoly & b
__attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) std const VectorField const std::string const std::shared_ptr< SymbolicExpr > & a

引用了 LMCAS::a, LMCAS::b , 以及 checked_positive_product().

被这些函数引用 checked_positive_product() , 以及 LMCAS::crt_checked().

函数调用图:
这是这个函数的调用关系图: