std.complex
Stewart Gordon
smjg_1998 at yahoo.com
Thu Jan 2 15:33:41 PST 2014
On 02/01/2014 21:10, Joseph Rushton Wakeling wrote:
> On Thursday, 2 January 2014 at 20:23:40 UTC, Stewart Gordon wrote:
<snip>
>> How would it complicate the implementation? Removing the undocumented
>> rule whereby Complex!(Complex!T) folds to Complex!T would be a slight
>> simplification.
>
> It would involve non-trivial revisions to the internals of Complex.
Please be specific.
<snip>
>> Maybe the right course of action is to have a parameter to the
>> template that suppresses the type restriction and the folding rule, so
>> that people who want to use it on a type that might not work properly
>> can do so. This would be a relatively small change.
>
> I do not know how familiar you are with the internals of
> std.complex.Complex but I think it would be a good idea to go through
> them in some detail before asserting that changes like this would be
> "relatively small".
Oh yes, some of the templated functions that take or return a complex
would need this extra parameter adding.
Another way it could be done is to have a Complex template that
implements these rules and which programmers would normally use, and
have this aliasing ComplexImpl which actually provides the
implementation and which programmers can use directly if they want to
bypass the restrictions. The difficulty is documenting it in a way that
would make sense to normal users....
Stewart.
More information about the Digitalmars-d
mailing list