← Back to team overview

dolfin team mailing list archive

Re: [FFC-dev] long type for constants

 

For very complex forms, try using the quadrature option. Kristian has recently committed some optimisations for quadrature which have improved the efficiency.

Garth

Reza Farrahi Moghaddam wrote:
Here are the two lines in the header file which cause that error.
I can manually bypass these errors by adding "LL" to the end of all integer values in these two line.
The header file is also attached.
Reza // Compute element tensor A[0] = 14629058957.1625*G0_0_0_0_0_0_0 - 2925812906.735*G1_0_0_0_0_0_0 - 558466236.0275*G2_0_0_0_0_0_0 - 14629058957.1625*G3_0_0_0_0_0_0 + 2925812906.735*G4_0_0_0_0_0_0 + 558466236.0275*G5_0_0_0_0_0_0 + 280363028.233182*G6_0_0_0_0 - 93454378.3687879*G7_0_0_0_0 - 8918383.04439399*G8_0_0_0_0 - 14629053380.65*G9_0_0_0_0_0_0 + 2925810676.13*G10_0_0_0_0_0_0 + 558462890.12*G11_0_0_0_0_0_0 + 14629053380.65*G12_0_0_0_0_0_0 - 2925810676.13*G13_0_0_0_0_0_0 - 558462890.12*G14_0_0_0_0_0_0 - 280362921.36*G15_0_0_0_0 + 93454307.1199999*G16_0_0_0_0 + 8918347.41999999*G17_0_0_0_0 + 995018.760969999*G18_0_0 - 177990266.82*G19_0_0_0_0 + 177990266.82*G20_0_0_0_0 + 1114248.1262*G21_0_0_0 - 530594.35*G22_0_0_0 - 583653.776199999*G23_0_0_0 + 132891660*G24_0_0_0_0_0 - 101329890.75*G25_0_0_0_0_0 - 134552805.75*G26_0_0_0_0_0 + 101329890.75*G27_0_0_0_0_0 + 1661145.75*G28_0_0_0_0_0 - 132891660*G29_0_0_0_0_0 + 134552805.75*G30_0_0_0_0_0 - 1661145.75*G31_0_0_0_0_0 - 106.873182*G32_0_0_0_0 + 71.2487879999999*G33_0_0_0_0 + 35.624394*G34_0_0_0_0 - 5576.5125*G35_0_0_0_0_0_0 + 2230.605*G36_0_0_0_0_0_0 + 3345.9075*G37_0_0_0_0_0_0 + 5576.5125*G38_0_0_0_0_0_0 - 2230.605*G39_0_0_0_0_0_0 - 3345.9075*G40_0_0_0_0_0_0 - 11144779814.4*G41_0_0_0_0_0_0 + 213732223831*G42_0_0_0_0_0_0_0_0 - 174456373500*G43_0_0_0_0_0_0_0_0 - 30533174833*G44_0_0_0_0_0_0_0_0 - 8742675497.99999*G45_0_0_0_0_0_0_0_0 - 213732223831*G46_0_0_0_0_0_0_0_0 + 174456373500*G47_0_0_0_0_0_0_0_0 + 30533174833*G48_0_0_0_0_0_0_0_0 + 8742675497.99999*G49_0_0_0_0_0_0_0_0 + 2964340087.5*G50_0_0_0_0_0_0_0 - 468053712.5*G51_0_0_0_0_0_0_0 - 2496286375*G52_0_0_0_0_0_0_0 - 2964340087.5*G53_0_0_0_0_0_0_0 + 468053712.5*G54_0_0_0_0_0_0_0 + 2496286375*G55_0_0_0_0_0_0_0 + 11144779814.4*G56_0_0_0_0_0_0 - 3120357900*G57_0_0_0_0_0_0_0 + 520059650*G58_0_0_0_0_0_0_0 + 2600298250*G59_0_0_0_0_0_0_0 + 3120357900*G60_0_0_0_0_0_0_0 - 520059650*G61_0_0_0_0_0_0_0 - 2600298250*G62_0_0_0_0_0_0_0 - 31561769.25*G63_0_0_0_0_0 + 33222915*G64_0_0_0_0_0 + 156017812.5*G65_0_0_0_0_0_0_0 - 52005937.5*G66_0_0_0_0_0_0_0 - 104011875*G67_0_0_0_0_0_0_0 - 156017812.5*G68_0_0_0_0_0_0_0 + 52005937.5*G69_0_0_0_0_0_0_0 + 104011875*G70_0_0_0_0_0_0_0 + 31561769.25*G71_0_0_0_0_0 - 33222915*G72_0_0_0_0_0;

and
// Compute element tensor A[0] = -995018.760969999*G47_0_0_0 + 947545.037399999*G48_0_0_0 - 93454342.7443939*G49_0_0_0_0_0 + 88995133.4099999*G50_0_0_0_0_0 + 4459209.334394*G51_0_0_0_0_0 + 93454307.1199999*G52_0_0_0_0_0 - 88995133.4099999*G53_0_0_0_0_0 - 4459173.71*G54_0_0_0_0_0 - 557124.0631*G55_0_0_0_0 + 557124.0631*G56_0_0_0_0 + 93454342.7443939*G57_0_0_0_0_0 - 4459209.334394*G58_0_0_0_0_0 - 93454307.1199999*G59_0_0_0_0_0 + 4459173.71*G60_0_0_0_0_0 + 530594.35*G61_0_0_0_0 - 530594.35*G62_0_0_0_0 - 2925811791.4325*G63_0_0_0_0_0_0_0 + 2786194953.6*G64_0_0_0_0_0_0_0 + 139616837.8325*G65_0_0_0_0_0_0_0 + 2925810676.13*G66_0_0_0_0_0_0_0 - 2786194953.6*G67_0_0_0_0_0_0_0 - 139615722.53*G68_0_0_0_0_0_0_0 - 33222915*G69_0_0_0_0_0_0 + 33222915*G70_0_0_0_0_0_0 + 2925811791.4325*G71_0_0_0_0_0_0_0 - 139616837.8325*G72_0_0_0_0_0_0_0 - 2925810676.13*G73_0_0_0_0_0_0_0 + 139615722.53*G74_0_0_0_0_0_0_0 - 30533174833*G75_0_0_0_0_0_0_0_0_0 + 29076062250*G76_0_0_0_0_0_0_0_0_0 + 1457112583*G77_0_0_0_0_0_0_0_0_0 + 30533174833*G78_0_0_0_0_0_0_0_0_0 - 29076062250*G79_0_0_0_0_0_0_0_0_0 - 1457112583*G80_0_0_0_0_0_0_0_0_0 - 494056681.25*G81_0_0_0_0_0_0_0_0 + 494056681.25*G82_0_0_0_0_0_0_0_0 + 520059650*G83_0_0_0_0_0_0_0_0 - 520059650*G84_0_0_0_0_0_0_0_0 - 26002968.75*G85_0_0_0_0_0_0_0_0 + 26002968.75*G86_0_0_0_0_0_0_0_0 + 1115.3025*G87_0_0_0_0_0_0_0 - 1115.3025*G88_0_0_0_0_0_0_0 + 35.624394*G89_0_0_0_0_0 - 35.624394*G90_0_0_0_0_0 + 47473.72357*G91_0_0_0 + 26529.7131*G92_0_0_0_0 - 26529.7131*G93_0_0_0_0; ----- Original Message ----
From: Anders Logg <logg@xxxxxxxxx>
To: ffc-dev@xxxxxxxxxx; dolfin mailing list <dolfin-dev@xxxxxxxxxx>
Sent: Saturday, April 26, 2008 3:26:17 AM
Subject: Re: [DOLFIN-dev] [FFC-dev] long type for constants

Can you attach the relevant portions of the header file?

--
Anders


On Fri, Apr 25, 2008 at 02:50:59PM -0700, Reza Farrahi Moghaddam wrote:
 > The problem with boost and enableDemos is resolved.
 >
> Now, I have a problem with compiled form file. The form file is attached. When > linking the program, there are some errors about integer costants which are
 > large for "long" type. The log is presented below.
 >
> Is it possible to change the type of constants from "long" to "long long"?
 >
> >
 > Reza
 >
> > > P.S. The errors will disappear when the last function "sigmma" is removed and a
 > fixed value for sigmaa is used.
 >
> >
 > [rfarahi@alteran cpp]$ scons
 > scons: Reading SConscript files ...
 > scons: done reading SConscript files.
 > scons: Building targets ...
> c++ -o main.o -c -Wall -pipe -ansi -g -O2 -fno-strict-aliasing -pthread -DDEBUG > -DNDEBUG -DPACKAGE_VERSION=0.7.2 -DHAS_UMFPACK=1 -DHAS_GTS=1 -I/usr/local/ > include -I/usr/local/include/libxml2 -I/home/rfarahi/math/dolfin-hg/linux-opt/ > include -I/usr/local/lib/python2.5/site-packages/numpy/core/include -I/home/ > rfarahi/math/UMFPACK/Include -I/home/rfarahi/math/AMD/Include -I/home/rfarahi/ > math/UFconfig -I/usr/local/include/python2.5 -I/usr/include/boost-1_35 -I/usr/
 > include/glib-2.0 -I/usr/lib/glib-2.0/include main.cpp
 > In file included from main.cpp:31:
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:5854: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
> NonlinearPoissonparam.h:12543: error: integer constant is too large for "long"
 > type
 > scons: *** [main.o] Error 1
 > scons: building terminated because of errors.
 >
 >
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > All new Yahoo! Mail - Get a sneak peak at messages with a handy reading pane.


 > _______________________________________________
 > FFC-dev mailing list
 > FFC-dev@xxxxxxxxxx <mailto:FFC-dev@xxxxxxxxxx>
 > http://www.fenics.org/mailman/listinfo/ffc-dev

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx <mailto:DOLFIN-dev@xxxxxxxxxx>
http://www.fenics.org/mailman/listinfo/dolfin-dev

------------------------------------------------------------------------
Ask a question on any topic and get answers from real people. *Go to Yahoo! Answers.* <http://ca.answers.yahoo.com>


------------------------------------------------------------------------

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev


References