www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 3758] New: Create D impementation of to!(float, string), etc.

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3758

           Summary: Create D impementation of to!(float, string), etc.
           Product: D
           Version: 2.040
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Keywords: performance
          Severity: enhancement
          Priority: P2
         Component: Phobos
        AssignedTo: nobody puremagic.com
        ReportedBy: dsimcha yahoo.com



std.conv calls the c functions atof, atod, atold, etc. for to!(float, string),
to!(double, string), and to!(real, string) respectively.  There are two
practical reasons why we need D implementations of these functions:

1.  Strings should be convertible to floats at compile time.
2.  To make the input string compatible with C, it is copied using toStringz. 
This is inefficient, especially when trying to real large files with ASCII
numbers in and convert the ASCII numbers to floats.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 31 2010
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3758


David Simcha <dsimcha yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



A D implementation that doesn't allocate on every conversion now exists, even
though it still doesn't work at compile time.  Since converting strings to
floats at compile time isn't very useful in practice anyhow, and I cared more
about the memory allocations when I initially filed this, I'll mark it as
resolved.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 15 2010