В последнее время я довольно часто использую System.Math, и на днях мне было интересно, как Microsoft реализовала бы метод Sqrt в библиотеке. Итак, я открыл свой лучший помощник Reflector и попытался дизассемблировать метод в библиотеке, но он показал:
[MethodImpl(MethodImplOptions.InternalCall),ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public static extern double Sqrt(double d);
В тот день я впервые в жизни осознал, насколько мои дети зависят от фреймворка в плане питания.
Без шуток, но мне было интересно, какой алгоритм использовала бы MS для реализации этого метода или, другими словами, как бы вы написали свою собственную реализацию Math.Sqrt на C #, если бы у вас не было поддержки библиотеки.
Ура.