← Back to team overview

dolfin team mailing list archive

Re: [FFC-dev] long type for constants

 

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
> http://www.fenics.org/mailman/listinfo/ffc-dev

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



      __________________________________________________________________
Looking for the perfect gift? Give the gift of Flickr! 

http://www.flickr.com/gift/
# Copyright (C) 2005 Garth N. Wells.
# Licensed under the GNU LGPL Version 2.1.
#
# The linearised bilinear form a(v, U) and linear form L(v) for
# the nonlinear equation 
#
# Compile this form with FFC: ffc NonlinearPoisson.form.
# u is the solution, delta u is a variation for liniearization, and u0 is the input 

element = FiniteElement("Discontinuous Lagrange", "triangle", 0)

# sigmaa=.02;

# ac = 15.41;bc = 55.0;cc = 49.21;dc = 30.75;ec = 0.;fc = 98.22;
# ac became 1541.0 based on assumption that there is a parameter of value of 0.1 in the argument.

# dac = -1691.25;dbc = 0.7254;dcc = 5402.1;ddc = 945.563;dec = 6040.53;dfc = 9647.17;

# ac = 1541.0;
# bc = 550.0;
# cc = 49.21;
ac = 154.10;
bc = 55.00;
cc = 4.921;
dc = 3075.0;
ec = 0.;
fc = 98.22;

# dac = -169125.0;
# dbc = 07.254;
# dcc = 5402.1;
dac = -16912.50;
dbc = 0.7254;
dcc = 540.21;
ddc = 9455630.0;
dec = 604053.0;
dfc = 9647.17;

v = TestFunction(element)
deltau = TrialFunction(element)
u = Function(element)
u0 = Function(element)
ub = Function(element)
ub0 = Function(element)
sigmaa = Function(element)



a = dx*(deltau*(2*cc*(dfc + (u - ub)*(ddc*(u - ub)*(u - ub)*(5*u - ub - 4*ub0) + dec*(3*u - ub - 2*ub0))) + 
    2*dfc*(fc + ec*(2*u - u0 - ub) + (u - ub)*(dc*(3*u - 2*u0 - ub) + ac*(3*u - ub - 2*ub0)) + bc*(2*u - ub - ub0)) + 
    dcc*(2*fc + ec*(3*u - 2*ub - ub0) + 2*dc*(u - ub)*(2*u - ub - ub0))*(u - ub0) + 
    dbc*(u - ub0)*(fc*(3*u - 2*ub - ub0) + (u - ub)*(dc*(u - ub)*(5*u - 2*ub - 3*ub0) + ec*(4*u - 2*(ub + ub0)))) + 
    (u - ub)*(2*ddc*(u - ub)*(u - ub)*(fc*(5*u - 4*u0 - ub) + (u - ub)*(ec*(6*u - 5*u0 - ub) + 
          (u - ub)*(dc*(7*u - 6*u0 - ub) + ac*(7*u - ub - 6*ub0)) + bc*(6*u - ub - 5*ub0))) + 
      2*dec*(fc*(3*u - 2*u0 - ub) + (u - ub)*(ec*(4*u - 3*u0 - ub) + (u - ub)*(dc*(5*u - 4*u0 - ub) + ac*(5*u - ub - 4*ub0)) + 
          bc*(4*u - ub - 3*ub0))) + dac*(u - ub0)*((u - ub)*(ec*(5*u - 2*ub - 3*ub0) + 2*dc*(u - ub)*(3*u - ub - 2*ub0)) + 
        fc*(4*u - 2*(ub + ub0)))))*v*sigmaa*sigmaa + 
  2*(2*dfc*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
    (u - ub)*((u - ub)*(2*dec*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
        2*ddc*(u - ub)*(u - ub)*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
        dac*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0)) + dbc*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0)) + 
    2*cc*(dfc + (dec + ddc*(u - ub)*(u - ub))*(u - ub)*(u - ub))*(u - ub0) + dcc*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0))*v*
   dot(grad(deltau), grad(u)) + 2*(fc + (ec + dc*(u - ub))*(u - ub))*(dfc + (dec + ddc*(u - ub)*(u - ub))*(u - ub)*(u - ub))*sigmaa*sigmaa*
   dot(grad(deltau), grad(v)) + deltau*((2*cc*(dfc + (u - ub)*(ddc*(u - ub)*(u - ub)*(5*u - ub - 4*ub0) + dec*(3*u - ub - 2*ub0))) + 
      2*dfc*(fc + ec*(2*u - u0 - ub) + (u - ub)*(dc*(3*u - 2*u0 - ub) + ac*(3*u - ub - 2*ub0)) + bc*(2*u - ub - ub0)) + 
      dcc*(2*fc + ec*(3*u - 2*ub - ub0) + 2*dc*(u - ub)*(2*u - ub - ub0))*(u - ub0) + 
      dbc*(u - ub0)*(fc*(3*u - 2*ub - ub0) + (u - ub)*(dc*(u - ub)*(5*u - 2*ub - 3*ub0) + ec*(4*u - 2*(ub + ub0)))) + 
      (u - ub)*(2*ddc*(u - ub)*(u - ub)*(fc*(5*u - 4*u0 - ub) + (u - ub)*(ec*(6*u - 5*u0 - ub) + 
            (u - ub)*(dc*(7*u - 6*u0 - ub) + ac*(7*u - ub - 6*ub0)) + bc*(6*u - ub - 5*ub0))) + 
        2*dec*(fc*(3*u - 2*u0 - ub) + (u - ub)*(ec*(4*u - 3*u0 - ub) + (u - ub)*(dc*(5*u - 4*u0 - ub) + 
              ac*(5*u - ub - 4*ub0)) + bc*(4*u - ub - 3*ub0))) + dac*(u - ub0)*
         ((u - ub)*(ec*(5*u - 2*ub - 3*ub0) + 2*dc*(u - ub)*(3*u - ub - 2*ub0)) + fc*(4*u - 2*(ub + ub0)))))*v*
     dot(grad(u), grad(u)) + 2*(dfc*(ec + 2*dc*(u - ub)) + (dec*(2*fc + (3*ec + 4*dc*(u - ub))*(u - ub)) + 
        ddc*(4*fc + (5*ec + 6*dc*(u - ub))*(u - ub))*(u - ub)*(u - ub))*(u - ub))*sigmaa*sigmaa*dot(grad(u), grad(v))))


L = dx*(-1.0*((2*dfc*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
    (u - ub)*((u - ub)*(2*dec*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
        2*ddc*(u - ub)*(u - ub)*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
        dac*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0)) + dbc*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0)) + 
    2*cc*(dfc + (dec + ddc*(u - ub)*(u - ub))*(u - ub)*(u - ub))*(u - ub0) + dcc*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0))*v*
   dot(grad(u), grad(u)) + 
  sigmaa*sigmaa*((2*dfc*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
      (u - ub)*((u - ub)*(2*dec*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
          2*ddc*(u - ub)*(u - ub)*(fc*(u - u0) + (u - ub)*(ec*(u - u0) + (u - ub)*(dc*(u - u0) + ac*(u - ub0)) + bc*(u - ub0))) + 
          dac*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0)) + dbc*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0)) + 
      2*cc*(dfc + (dec + ddc*(u - ub)*(u - ub))*(u - ub)*(u - ub))*(u - ub0) + dcc*(fc + (ec + dc*(u - ub))*(u - ub))*(u - ub0)*(u - ub0))*v + 
    2*(fc + (ec + dc*(u - ub))*(u - ub))*(dfc + (dec + ddc*(u - ub)*(u - ub))*(u - ub)*(u - ub))*dot(grad(u), grad(v)))))
   

Follow ups