l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2002 Mar 13 21:28

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] help with signals and C
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] help with signals and C

hi mike,

thanks for replying!  i /just/ posted some signal test code before
getting this email, and it looks like we're getting the same results;
SIGFPE just isn't being caught.

i can send you my ising 2-D quantum spin code, but that's not so crucial
because it's pretty obvious when stuff goes bad there.  besides, i can
re-write the program less efficiently to avoid these kinds of errors.
basically, i have an average energy per site which gets incremented
quite a bit

   int spins[N][M];

   loop (i < bignumber) {
      avgEnergy = do_calculation();
	avgEnergy /= (N*M*bignumber);
	return 0;

and can turn this into:

   int spins[N][M];

   loop (i < bignumber) {
      avgEnergy += (do_calculation() / (N*M*bignumber);
	return 0;

for example, to avoid avgEnergy from getting too big (i guess i'd need
to worry about stuff getting too small?).   i have a quantum simulator
which isn't nearly so simple.  if you don't mind, i'll just tar that up
and send it to you.

if you can give me some pointers on how to trap overflows or underflows
with this code, i'd be very grateful!



begin msimons@moria.simons-clan.com <msimons@moria.simons-clan.com> 
> On Mon, Mar 11, 2002 at 12:43:32PM -0800, Peter Jay Salzman wrote:
> > can someone post some example code of how to trap a SIGFPE signal and
> > abort execution during the course of a C program on linux?
> Pete,
>   If you can provide a snip of code that invokes a FPE, then I can 
> send you code to trap it.
>     TTFN,
>       Mike
>   I wrote some stuff Monday night but nothing I tried (asside from kill
> itself) would generate a SIGFPE, I tried all the simple things like
>   a = 1.4 / 0.0;
>   b = 1e150 / 1e-150;
>   c = 1e-150 / 1e150;
>   d = 1e150 * 1e150;
>   etc...
> (note that the compiler will warn about all of the above, so
> I actually stuck things into variables and went through a few 
> steps to do the above... but no SIGFPE)
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.