l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
October 7: Social gathering
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2002 Mar 13 11:37

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



Evidently this is a complex topic.  I don't have the answer offhand 
but if you go to google, click Groups, then Advanced Groups Search, 
then search for "SIGFPE" in comp.os.linux.*, you'll find some 
informative discussion.

-- Rod
   http://www.sunsetsystems.com/

On Wednesday 13 March 2002 11:03, Peter Jay Salzman wrote:
> 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!
>
> thanks!
>
> pete
>
>
> 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



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
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:
O'Reilly and Associates
For numerous book donations.