<p><br>
On Feb 23, 2013 4:41 PM, "Daniel Murphy" <<a href="mailto:yebblies@nospamgmail.com">yebblies@nospamgmail.com</a>> wrote:<br>
><br>
> "Iain Buclaw" <<a href="mailto:ibuclaw@ubuntu.com">ibuclaw@ubuntu.com</a>> wrote in message<br>
> news:mailman.1485.1361633569.22503.digitalmars-d@puremagic.com...<br>
> ><br>
> > No reason not to allow all typical numeric operations.  Of course you'll<br>
> > need explicit casts to do 'long = cent' operations, and 'cent = long+long'<br>
> > should not require a cast.<br>
> ><br>
> > Overall, there's nothing that looks too special about the type, and<br>
> > support<br>
> > for it appears to work just fine when testing simple working cases on<br>
> > 32bit.<br>
> ><br>
><br>
> The problem is in adding complete support to the frontend, you need 128-bit<br>
> integer literals, constant folding, ctfe and range propagation.  There's<br>
> probably more work involved in adding it to the dmd frontend than the dmd<br>
> backend.<br>
></p>
<p>I don't use any part of the dmd backend. :o)</p>
<p>Constant folding and ctfe wouldn't be high priorities for this type.  Support in frontend would be more equal to, say how vectors are handled.</p>
<p>Regards<br>
-- <br>
Iain Buclaw</p>
<p>*(p < e ? p++ : p) = (c & 0x0f) + '0';</p>