       How to hold a form and convert it to a string

• To: mathgroup at smc.vnet.net
• Subject: [mg93915] How to hold a form and convert it to a string
• From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
• Date: Fri, 28 Nov 2008 05:09:58 -0500 (EST)

```Hi,

I'm sure it's a simple question but I don't get it. I want to transform
the expression

a*q + b*q^2 + c*q^3

into a C-Code form

"a*q + b*q*q + c*q*q*q"

With the rule
exp //. (Power[q_, n_] :> Times@@Array[q &, n])
for the transformation of the Power of q,
the expression is instantly reevaluated to the first form (as I expected
it). I could transform the complete first expression to a C-Form-String
and manipulate this. This would look like

f[exp_] := StringReplace[ToString@CForm[exp],
"Power(" ~~ q_ ~~ "," ~~ n_ ~~ ")" :>
StringJoin[Riffle[Array[ToString@q &, ToExpression[n]], "*"]]]

Isn't there a more stylish way?

Cheers
Patrick

```

• Prev by Date: Extracting free parameters from a Solve result
• Next by Date: Re: A problem in Pi digits as Lattice space filling
• Previous by thread: Re: Extracting free parameters from a Solve result
• Next by thread: Re: How to hold a form and convert it to a string