[Issue 3481] New: PATCH:  opPow(), x ^^ y as a power operator
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Fri Nov  6 13:03:02 PST 2009
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=3481
           Summary: PATCH:  opPow(), x ^^ y as a power operator
           Product: D
           Version: 2.036
          Platform: Other
        OS/Version: All
            Status: NEW
          Keywords: patch
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: clugdbug at yahoo.com.au
--- Comment #0 from Don <clugdbug at yahoo.com.au> 2009-11-06 13:03:01 PST ---
Created an attachment (id=492)
Patch against DMD2 svn 241
Requests for an exponential operator have come up numerous times on the
newsgroup.
This patch introduces a new binary operator ^^ which performs exponentiation:
x ^^ y is pow(x, y).
Likewise x ^^= y is  x = pow(x, y).
The corresponding overloaded operators are opPow, opPow_r, and opPowAssign.
In the patch, ^^ is supported for integral and floating-point types.
Two special cases are supported:   
x ^^ 1   becomes x;
x ^^ 0.5 becomes sqrt(x);
x ^^ y   becomes pow(x, y);
This requires pow() and/or sqrt() to be defined, typically by importing
std.math.
IE, this is just syntax sugar.
BUGS: I'm translating x^^=y into x = pow(x, y). This means x gets evaluated
twice.
If this patch is accepted, there is much that can be done with the
implementation.
Most importantly by adding back-end support for x ^^ 2.
However, this simple implementation would give us the semantics.
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list