Использует ли встроенная математическая библиотека Python в основном математическую библиотеку C или Python имеет независимую от C математическую библиотеку? Кроме того, является ли платформа математической библиотеки Python независимой?
внизу на странице написано :
Примечание: Модуль math состоит в основном из тонких оболочек вокруг функций библиотеки платформы C math. Поведение в исключительных случаях слабо определяется стандартами C, и Python наследует большую часть своего сообщения об ошибках math -функции от реализации платформы C. В результате конкретные исключения, возникающие в случаях ошибок (и даже если некоторые аргументы считаются исключительными вообще), не определяются каким-либо полезным кросс-платформенным или кросс-релизным способом. Например, math.log(0) возвращает -Inf или повышает ValueError или OverflowError не определено, а в случаях, когда math.log(0) повышает OverflowError, math.log(0L) может повысить ValueError вместо. Все функции возвращают тихий NaN, если хотя бы один из аргументов равен NaN. Сигналы NaN s вызывают исключение. Тип исключения по-прежнему зависит от платформы и реализации libm. Обычно это ValueError для EDOM и OverflowError для errno ERANGE. Изменено в версии 2.6 : в более ранних версиях Python исход операции с NaN в качестве входных данных зависел от платформы и libm реализации.
Примечание: Модуль math состоит в основном из тонких оболочек вокруг функций библиотеки платформы C math. Поведение в исключительных случаях слабо определяется стандартами C, и Python наследует большую часть своего сообщения об ошибках math -функции от реализации платформы C. В результате конкретные исключения, возникающие в случаях ошибок (и даже если некоторые аргументы считаются исключительными вообще), не определяются каким-либо полезным кросс-платформенным или кросс-релизным способом. Например, math.log(0) возвращает -Inf или повышает ValueError или OverflowError не определено, а в случаях, когда math.log(0) повышает OverflowError, math.log(0L) может повысить ValueError вместо.
math
math.log(0)
-Inf
ValueError
OverflowError
math.log(0L)
Все функции возвращают тихий NaN, если хотя бы один из аргументов равен NaN. Сигналы NaN s вызывают исключение. Тип исключения по-прежнему зависит от платформы и реализации libm. Обычно это ValueError для EDOM и OverflowError для errno ERANGE.
NaN
EDOM
errno ERANGE
Изменено в версии 2.6 : в более ранних версиях Python исход операции с NaN в качестве входных данных зависел от платформы и libm реализации.
libm
Python использует библиотеку C, с которой он связан. В Windows нет «библиотеки платформы C» ... и действительно, существует несколько версий MicrosoftCRunTimeLibrary (MSCRT) для любой версии.