Pre-processing large mathematical expressions for gmp?
Brian Gladman
brg at gladman.plus.com
Tue Jun 15 08:57:59 CEST 2010
From: "Jim Skea" <jimskea at gmail.com>
Sent: Tuesday, June 15, 2010 1:32 AM
To: <gmp-discuss at gmplib.org>
Subject: Pre-processing large mathematical expressions for gmp?
> Does anyone know of a pre-processor that would take a long mathematical
> expression and convert it into the equivalent set of gmp function calls,
> creating any temporary variables as necessary?
>
> Something that would take, as a small example
> y = y + h6*(k1+2*k2+2*k3+k4)
>
> and produce
>
> mpf_mul_ui(t0, k3, 2);
> mpf_mul_ui(t1, k2, 2);
> mpf_add(t2,t0,t1);
> mpf_add(t3,t2,k1);
> mpf_add(t4,t3,k4);
> mpf_mul(t5,t4,h6);
> mpf_add(y, y, t5);
>
> Failing that, any idea about how to do this (using yacc? bison?) other
> than
> writing a dedicated program?
The obvious solution is to use the GMP C++ interface as this effectively
does this for you.
If you need C source code output there are quite a few C++ to C translators
around that might do what you want if you represent your starting formulae
in C++.
Brian Gladman
More information about the gmp-discuss
mailing list