Упростить выражение GiNaC
Я пытаюсь сделать что-то очень простое с 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 этого не "понимает". В документации не упоминается ни одно из этих упрощений, и я действительно не знаю, возможно ли это вообще...