std.math API rework

Ilya Yaroshenko via Digitalmars-d digitalmars-d at puremagic.com
Thu Oct 6 09:53:54 PDT 2016


Effective work with std.experimental.ndslice and and 
mir.ndslice.array requires half of std.math be an exactly aliases 
to LLVM intrinsics (for LDC).

To enable vectorization for mir.ndslice.algorithm I created 
internal math module [1] in Mir. But this is weird, because third 
side packages like DCV [2] requires to use the module too. Also, 
some optimisation for std.complex and future 
std.exprimental.color would be very ugly without proposed change.

Proposed change is very simple:
Each math function listed in [1] should be a template for DMD/GDC 
and an alias for LDC in std.math.

If some one has strong arguments against it, please let me know 
now.

[1] 
https://github.com/libmir/mir/blob/master/source/mir/internal/math.d
[2] https://github.com/ljubobratovicrelja/dcv

Best regards,
Ilya


More information about the Digitalmars-d mailing list