Sorry for the reply.  I did not get your message until now.  I was
wondering if there was a way to develop floating-point mathematics
package within a module.  I was wondering if some of your work on bit
twiddling floating - point numbers could be provided to me!!!  Thanks.  
 
 
David Blubaugh
 
 

________________________________

From: Jeff Goldfinkle [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 28, 2008 2:10 PM
To: Blubaugh, David A.
Subject: Re: Bit twiddling floating point numbers


sure - go right ahead


On Mon, Apr 28, 2008 at 8:17 PM, Blubaugh, David A.
<[EMAIL PROTECTED]> wrote:


        Are you still out there?  
         
         
        Can I still ask you about my question?
         
         
        thanks,
         
        David
         
         

________________________________

        From: Jeff Goldfinkle [mailto:[EMAIL PROTECTED] 
        Sent: Friday, March 07, 2008 1:04 AM
        To: Blubaugh, David A. 

        Subject: Re: Bit twiddling floating point numbers
        

        Hi David
        
        Sure. I'm not sure what help I can be, but ask away.
        
        Jeff
        
        
        
        
        On Thu, Mar 6, 2008 at 11:25 PM, Blubaugh, David A.
<[EMAIL PROTECTED]> wrote:
        

                Jeff,
                
                
                Hello.  This idea or representing a float with long
seems to be
                extremely interesting.  I am currently utilizing the
MyHDL environment
                to map algorithms to hardware.  May I ask you more
questions in order to
                map integer mathematics to emulate floating -point
mathematics, in order
                to maybe develop efficient pseudo-floating-point
hardware??
                
                 Thanks,
                
                David Blubaugh
                
                
                
                
                
                -----Original Message-----
                From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
                Sent: Thursday, March 06, 2008 4:01 PM
                To: python-list@python.org
                Subject: Re: Bit twiddling floating point numbers
                
                On Mar 6, 11:00 am, Bryan Olson
<[EMAIL PROTECTED]> wrote:
                > Mark Dickinson wrote:
                
                > > Jeff Goldfin wrote:
                > >> I can pack and unpack a float into a long e.g.
                > >> struct.unpack('I',struct.pack('f',0.123))[0]
                > >> but then I'm not sure how to work with the
resulting long.
                >
                > >> Any suggestions?
                >
                
                > > One alternative to using struct is to use math.ldexp
and math.frexp:
                >
                > >>>> m, e = frexp(pi)
                > >>>> m
                > > 0.78539816339744828
                > >>>> e
                > > 2
                > >>>> int(m*2**53)
                > > 7074237752028440L
                >
                > > Then you can do your bit twiddling on int(m*2**53),
before using
                > > ldexp to 'repack' the float.
                >
                > Ah, those are handy. Jeff described his problem: "In
particular, I
                
                > would like to round my float to the n most significant
bits."
                
                > I think this works:
                >
                >    from math import frexp, ldexp, floor
                >
                >    def round_mantissa(x, nbits):
                >        shifter = 1 << nbits
                >        (m, e) = frexp(x)
                >        m = floor(m * shifter + 0.5) / shifter
                >        return ldexp(m, e)
                >
                > --
                > --Bryan
                Thanks for the help - your function seems to fit the
bill even better
                than gmpy since I don't need an external module. In my
case I'll use m =
                floor(m * shifter) / shifter instead of m = floor(m *
shifter +
                0.5) / shifter
                
                Jeff
                
                
                
                This e-mail transmission contains information that is
confidential and may be
                privileged. It is intended only for the addressee(s)
named above. If you receive
                this e-mail in error, please do not read, copy or
disseminate it in any manner.
                If you are not the intended recipient, any disclosure,
copying, distribution or
                use of the contents of this information is prohibited.
Please reply to the
                message immediately by informing the sender that the
message was misdirected.
                After replying, please erase it from your computer
system. Your assistance in
                correcting this error is appreciated.
                
                


        This e-mail transmission contains information that is
confidential and may be privileged.   It is intended only for the
addressee(s) named above. If you receive this e-mail in error, please do
not read, copy or disseminate it in any manner. If you are not the
intended recipient, any disclosure, copying, distribution or use of the
contents of this information is prohibited. Please reply to the message
immediately by informing the sender that the message was misdirected.
After replying, please erase it from your computer system. Your
assistance in correcting this error is appreciated.
        


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to