bool expairseq::info(unsigned inf) const
{
+ if (inf == info_flags::expanded)
+ return (flags & status_flags::expanded);
return inherited::info(inf);
}
has_indices, // object has at least one index
// answered by class idx
- idx
+ idx,
+
+ // answered by classes numeric, symbol, add, mul, power
+ expanded
};
};
case info_flags::numeric:
case info_flags::polynomial:
case info_flags::rational_function:
+ case info_flags::expanded:
return true;
case info_flags::real:
return is_real();
case info_flags::algebraic:
return !exponent.info(info_flags::integer) ||
basis.info(inf);
+ case info_flags::expanded:
+ return (flags & status_flags::expanded);
}
return inherited::info(inf);
}
inf == info_flags::cinteger_polynomial ||
inf == info_flags::rational_polynomial ||
inf == info_flags::crational_polynomial ||
- inf == info_flags::rational_function)
+ inf == info_flags::rational_function ||
+ inf == info_flags::expanded)
return true;
if (inf == info_flags::real)
return domain == domain::real;