我正在尝试用GiNaC做一些非常简单的事情:
void assert(bool x) {
if (!x)
throw runtime_error("Assertion error");
}
#include <ginac/ginac.h>
int main(int argc, char *argv[]) {
assert(sqrt(ex(32)) == 4 * sqrt(ex(2))); // Raises runtime_error
}
我想简化sqrt(32)
,使其等于4 * sqrt(2)
。当然,从数学的角度来看确实如此,但 GiNaC 并没有“意识到”这一点。文档没有提到这些简化,我真的不知道这是否可能......