2 #include <symengine/assumptions.h>
4 #include <symengine/test_visitors.h>
17 for (
auto &elt : vec) {
19 if (not is_indeterminate(is_square_)) {
27 : assumptions_(assumptions)
31 void bvisit(
const Basic &x){};
34 is_square_ = tribool::indeterminate;
39 is_square_ = tribool::tritrue;
44 auto diff =
sub(x.nrows(), x.ncols());
45 is_square_ = is_zero(*diff, assumptions_);
50 is_square_ = tribool::tritrue;
55 if (x.nrows() == x.ncols()) {
56 is_square_ = tribool::tritrue;
58 is_square_ = tribool::trifalse;
64 check_vector(x.get_terms());
69 check_vector(x.get_factors());
82 return visitor.apply(m);
The base class for SymEngine.
The lowest unit of symbolic representation.
Main namespace for SymEngine package.
RCP< const Basic > sub(const RCP< const Basic > &a, const RCP< const Basic > &b)
Substracts b from a.