Python Math Library Независимо от C Math Library и платформы Независимо? - PullRequest
3 голосов
/ 21 июля 2009

Использует ли встроенная математическая библиотека Python в основном математическую библиотеку C или Python имеет независимую от C математическую библиотеку? Кроме того, является ли платформа математической библиотеки Python независимой?

Ответы [ 2 ]

5 голосов
/ 21 июля 2009

внизу на странице написано :

Примечание: Модуль 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 реализации.

2 голосов
/ 22 июля 2009

Python использует библиотеку C, с которой он связан. В Windows нет «библиотеки платформы C» ... и действительно, существует несколько версий MicrosoftCRunTimeLibrary (MSCRT) для любой версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...