MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: CForm Question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130154] Re: CForm Question
  • From: Jak Alof <spamaddress.giveaway at yahoo.com>
  • Date: Fri, 15 Mar 2013 01:46:50 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <khh6p1$akm$1@smc.vnet.net>

On Saturday, March 9, 2013 10:47:13 PM UTC-7, Jak Alof wrote:
> Hi,
> 
> 
> 
> I have a fairly complicated expression that involves arrays; I want to export the expression.  
> 
> 
> 
> First, I generate 3 lists; entries in the list represent entries in a C Array.
> 
> 
> 
> X = Table[x[i], {i, 0, 7}];
> 
> Y = Table[y[i], {i, 0, 7}];
> 
> Z = Table[z[i], {i, 0, 7}];
> 
> 
> 
> Here is what X looks like:
> 
> 
> 
> {x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7]}
> 
> 
> 
> Then I do some other work using X, Y, Z and form expressions that I need in C.  Here is a typical result that I need to export to C:
> 
> 
> 
> 1/12 (-y[4] z[1] - y[5] z[1] + y[2] (z[1] - z[3]) + y[4] z[3] + 
> 
>    y[7] z[3] + y[5] z[4] - y[7] z[4] - y[4] z[5] + 
> 
>    y[1] (-z[2] - z[3] + z[4] + z[5]) + 
> 
>    y[3] (z[1] + z[2] - z[4] - z[7]) + y[4] z[7])
> 
> 
> 
> 
> 
> The above expression involves values from the X,Y,Z tables created above which is exactly what I want.  However, when I use CForm on this expression I get:
> 
> 
> 
> (-(y(4)*z(1)) - y(5)*z(1) + y(2)*(z(1) - z(3)) + 
> 
>      y(4)*z(3) + y(7)*z(3) + y(5)*z(4) - y(7)*z(4) - 
> 
>      y(4)*z(5) + y(1)*(-z(2) - z(3) + z(4) + z(5)) + 
> 
>      y(3)*(z(1) + z(2) - z(4) - z(7)) + y(4)*z(7))/12.
> 
> 
> 
> 
> 
> This is extremely close to what I want except that the array values are using 'parentheses' rather than the C square brackets.    I understand that this stems from my original creation of the Tables X, Y,Z  but I don't know how to get around that.
> 
> 
> 
> Is there a good way to fix this?
> 
> 
> 
> Thanks,
> 
> Jak

Thanks. That's helpful.



  • Prev by Date: Re: Multiple independent random number streams cannot be implemented.
  • Next by Date: Re: Visible mesh edges in PDF output of 3D graphic
  • Previous by thread: Re: CForm Question
  • Next by thread: How to plot functions