Complex number functions for std.math
James Dunne
james.jdunne at gmail.com
Sun Apr 9 00:11:51 PDT 2006
Don Clugston wrote:
> James Dunne wrote:
>
>> Don Clugston wrote:
>>
>>> Norbert Nemec wrote:
>>>
>>>> (Sorry for writing "complex" instead of the monstrosity "creal". My
>>>> fingers just don't obey me when I command them to write about a
>>>> "complex real" number. Of course, "creal" could also stand for "really
>>>> complex". But then "real" should be renamed into "cnreal", standing for
>>>> "not really complex"...)
>>>
>>>
>>> It is a bit of an oxymoron. I do like the idea of having 'complex' as
>>> a standard alias in std.math. It should operate almost as a reserved
>>> word, users should not be defining it to be anything other than creal.
>>> But I would not like to have to type "imaginary" instead of "ireal"
>>> -- it's just too long. Any ideas on that one?
>>>
>>
>> Here's what I've devised for a floating-point type system similar to D's:
>>
>> single - real single-precision (32-bit) IEEE 754 floating point
>> isingle - imaginary single-precision (32-bit) IEEE 754 floating poi$
>> csingle - complex single
>>
>> double - real double-precision (64-bit) IEEE 754 floating point
>> idouble - imaginary double-precision (64-bit) IEEE 754 floating poi$
>> cdouble - complex double
>>
>> extended - real extended-precision (80-bit) IEEE 754 floating point
>> iextended - imaginary extended-precision (80-bit) IEEE 754 floating point
>> cextended - complex extended
>>
>> float - alias for single
>> ifloat - alias for isingle
>> cfloat - alias for csingle
>>
>> Notably, the float has been renamed to single, and real has been
>> renamed to extended. Float still lurks around as an alias for single
>> though.
>
>
> Something that I *really* like about 'real' is that it's short, so it
> becomes used by default. I think with your naming scheme, everyone would
> use double by default.
Brevity is ... wit.
> If we could start afresh, the best way I think would be to have single,
> double, extended, and have 'float' as an alias for extended.
> Unfortunately, 'float' is too heavily entrenched as a low-precision
> floating point number.
I agree with your assesment on 'float'. Sometimes traditions just have
to be broken though. .NET did it when assigning new meaning to the word
'assembly'; I remember at first I was completely lost.
Thanks for the input!
--
Regards,
James Dunne
More information about the Digitalmars-d
mailing list