Another point is that if Complex!T is to support arbitrary FP types, then the trigonometric functions in std.math must too. Personally, I think we should keep the constraint for now. If we loosen it later, at least nothing will break.<br><br>-Lars<br><br><br><br>----- Reply message -----<br>From: &quot;Lars Tandle Kyllingstad&quot; &lt;lars@kyllingen.net&gt;<br>Date: Mon, Apr 19, 2010 22:39<br>Subject: [phobos] std.complex: ready for Phobos?<br>To: &quot;Phobos mailing list&quot; &lt;phobos@puremagic.com&gt;<br><br>Andrei Alexandrescu wrote:<br>&gt; Looks great. I have a few suggestions:<br>&gt; <br>&gt; * Since this is all new code, I suggest we use const throughout wherever <br>&gt; sensible (for all @property&#39;s, opEquals etc).<br><br>Good point, I&#39;ll add that.<br><br><br>&gt; * The if isFloatingPoint!T constraint worries me that we won&#39;t support <br>&gt; unlimited precision reals or fixed point numbers later. I suggest we <br>&gt; leave the constraint out for now.<br><br>I&#39;ve considered that. &nbsp;But wouldn&#39;t it make more sense to define <br>isFloatingPoint and isIntegral so they match compile-time interfaces <br>instead of specific (built-in) types?<br><br><br>&gt; * opAssign and opOpAssign should return a ref<br><br>See bug 2460, &quot;ref functions can&#39;t be template functions&quot;. &nbsp;If this is a <br>low-priority bug, I can always work around it, but that seems rather <br>pointless. &nbsp;Also, considering that almost all operator overloading is <br>now done with templates, it *really* should be fixed.<br><br><br>&gt; Otherwise, this looks great. Good work!<br><br>Thanks! :)<br><br>-Lars<br><br><br><br>&gt; On 04/19/2010 04:10 AM, Lars Tandle Kyllingstad wrote:<br>&gt;&gt; I&#39;ve attached a new version of my std.complex proposal to this message.<br>&gt;&gt;<br>&gt;&gt; I can&#39;t think of more features to add, so please have a look at it and<br>&gt;&gt; tell me what you think. Specifically,<br>&gt;&gt;<br>&gt;&gt; - What&#39;s missing?<br>&gt;&gt; - Should anything be removed?<br>&gt;&gt; - And, importantly, this potentially being my first contribution<br>&gt;&gt; to Phobos: Does the code meet Phobos&#39; quality requirements?<br>&gt;&gt;<br>&gt;&gt; If there are no protests, I&#39;ll commit it to SVN.<br>&gt;&gt;<br>&gt;&gt; -Lars<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; phobos mailing list<br>&gt;&gt; phobos@puremagic.com<br>&gt;&gt; <a href="http://lists.puremagic.com/mailman/listinfo/phobos">http://lists.puremagic.com/mailman/listinfo/phobos</a><br><br><br>-- <br>Lars Tandle Kyllingstad<br>@: lars@kyllingen.net<br>#: 40233221<br>w: <a href="http://www.kyllingen.net">http://www.kyllingen.net</a><br><br>_______________________________________________<br>phobos mailing list<br>phobos@puremagic.com<br><a href="http://lists.puremagic.com/mailman/listinfo/phobos">http://lists.puremagic.com/mailman/listinfo/phobos</a><br><br><br>