public inbox for gentoo-science@lists.gentoo.org
 help / color / mirror / Atom feed
From: Marco Matthies <marco-ml@gmx.net>
To: gentoo-science@lists.gentoo.org
Subject: Re: [gentoo-science] question about signbit
Date: Sat, 22 Oct 2005 23:05:00 +0200	[thread overview]
Message-ID: <435AA97C.7020103@gmx.net> (raw)
In-Reply-To: <200510221416.03348.dd55@cornell.edu>

Darren Dale wrote:
> On my system, SciPy's signbit function reports that the sign bit is not set 
> for any number, positive or negative. Could someone here help me understand 
> how to test the libc signbit function? I have to admit I have no experience 
> with C programming.

Hi Darren,

the signbit fuction is actually a macro (as the manpage says) defined in 
math.h that in turn calls the right inline function (for the type 
needed) which is defined in mathinline.h --- so as far as i can see, 
libc should not be involved, only header files. I have attached a small 
example below on how to use the function. Please note the use of 
-std=c99 (you may also use -std=gnu99) as the macro is only activated 
when in C99 mode and gcc's default mode is C89 ("ANSI C"). If you're 
interested in the differences between the two standards the wikipedia 
entry on c has some info: 
http://en.wikipedia.org/wiki/C_programming_language


the program (save it under signbit_test.c):
[cut]
#include <math.h>
#include <stdio.h>

int main() {
         printf("sign of  1.7 is %d\n", signbit(1.7));
         printf("sign of -1.1 is %d\n", signbit(-1.1));
         printf("sign of -0.0 is %d\n", signbit(-0.0));
         printf("sign of  0.0 is %d\n", signbit(0.0));
         return 0;
}
[/cut]

compile with:
gcc -Wall -std=c99 -lm signbit_test.c -o signbit_test

run with:
./signbit_test

should produce this output:
sign of  1.7 is 0
sign of -1.1 is -2147483648
sign of -0.0 is -2147483648
sign of  0.0 is 0

This was run with gcc 3.4.4 on amd64, if you want to i can try on a x86 
install in qemu.

Marco
-- 
gentoo-science@gentoo.org mailing list



  reply	other threads:[~2005-10-22 21:03 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-22 18:16 [gentoo-science] question about signbit Darren Dale
2005-10-22 21:05 ` Marco Matthies [this message]
2005-10-22 21:32   ` Darren Dale
2005-10-22 21:39   ` Marco Matthies
2005-10-27 12:52   ` Darren Dale
2005-10-27 14:24     ` Miguel Barao
2005-10-28  0:27       ` Ertugrul Soeylemez
2005-10-28 15:40     ` Marco Matthies
2005-10-28 16:00       ` Darren Dale
2005-10-23  6:39 ` Ertugrul Soeylemez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=435AA97C.7020103@gmx.net \
    --to=marco-ml@gmx.net \
    --cc=gentoo-science@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox