From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.50) id 1EV7G4-00014J-8C for garchives@archives.gentoo.org; Thu, 27 Oct 2005 12:53:28 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.5/8.13.5) with SMTP id j9RCqePB022302; Thu, 27 Oct 2005 12:52:40 GMT Received: from authusersmtp.mail.cornell.edu (granite1.mail.cornell.edu [128.253.83.141]) by robin.gentoo.org (8.13.5/8.13.5) with ESMTP id j9RCqc3j022586 for ; Thu, 27 Oct 2005 12:52:39 GMT Received: from leibniz.ether (user-10mt4mi.cable.mindspring.com [65.110.146.210]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.13.1/8.12.10) with ESMTP id j9RCqcHf029511 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for ; Thu, 27 Oct 2005 08:52:38 -0400 (EDT) From: Darren Dale To: gentoo-science@lists.gentoo.org Subject: Re: [gentoo-science] question about signbit Date: Thu, 27 Oct 2005 08:52:35 -0400 User-Agent: KMail/1.8.3 References: <200510221416.03348.dd55@cornell.edu> <435AA97C.7020103@gmx.net> In-Reply-To: <435AA97C.7020103@gmx.net> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-science@gentoo.org Reply-to: gentoo-science@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510270852.35524.dd55@cornell.edu> X-Archives-Salt: 567ec257-1060-4ed3-8edd-31a8ba5be59c X-Archives-Hash: 4546b99a69e8ded2130a78299d2bc4d2 Hi Marco, On Saturday 22 October 2005 5:05 pm, Marco Matthies wrote: > 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 > #include > > 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. Here is another test: #include #include int main() { printf("signbit(-1): %d\n", signbit(-1)); printf("isnan(0.0/0): %d\n", isnan(0.0/0)); printf("isinf(1.0/0): %d\n", isinf(1.0/0)); return 0; } which yields: signbit(-1): -2147483648 isnan(0.0/0): 1 isinf(1.0/0): 1 Do you know why signbit doesn't yield 1? I wonder if this might be the source of the problem in Scipy. Thanks, Darren -- gentoo-science@gentoo.org mailing list