As per the title, both System.Math and System.MathF should have most of their extern methods implemented in managed code rather than being FCALLs to the underlying C runtime.
This will ensure:
- Consistency across operating systems and architectures
- Implementations can be more readily updated without requiring changes in the runtime proper
Some of the functions (such as Abs, Ceil, Floor, Round, and Sqrt) are simple enough that they can be implemented in managed code today and still maintain the performance characteristics.
Other functions (such as Cos, Sin, and Tan) will need to wait until the hardware intrinsics proposal is more widely available (since maintaining perf numbers will require an implementation to call said intrinsics).
As per the title, both
System.MathandSystem.MathFshould have most of their extern methods implemented in managed code rather than being FCALLs to the underlying C runtime.This will ensure:
Some of the functions (such as
Abs,Ceil,Floor,Round, andSqrt) are simple enough that they can be implemented in managed code today and still maintain the performance characteristics.Other functions (such as
Cos,Sin, andTan) will need to wait until the hardware intrinsics proposal is more widely available (since maintaining perf numbers will require an implementation to call said intrinsics).