Je veux savoir comment implémenter la fonction math.exp()
en python. Où dans le code source Python est math.exp()
défini?Où le code source python est math.exp() défini?
Répondre
Celui-ci est un peu difficile.
Le module math
est implémenté dans un module C, mathmodule.c
. A la fin de ce fichier il y a une structure de la bibliothèque Python spécifique qui définit exp
as implemented by math_exp
:
static PyMethodDef math_methods[] = {
# ...
{"exp", math_exp, METH_O, math_exp_doc},
mais math_exp
lui-même est en fait défini par le FUNC1
macro, en utilisant le math_1
wrapper function d'appeler la C library exp
function avec une gestion des erreurs et la conversion de type:
FUNC1(exp, exp, 1,
"exp(x)\n\nReturn e raised to the power of x.")
Cependant, la mise en œuvre de la fonction C lui-même est entièrement dépendant de la plateforme, et sur le matériel moderne est généralement pris en charge dans le matériel . Vous devrez vous tourner vers une version logicielle de la fonction pour trouver un point de départ pour l'implémenter en Python.
Vous pouvez utiliser la mise en œuvre fdlibm
comme un point de départ, peut-être, voici un lien vers la mise en œuvre de la fonction exp
en C de cette bibliothèque:
ou vous pouvez consulter à cette mise en œuvre à la place:
- 1. où Py_FileSystemDefaultEncoding est défini dans le code source python
- 2. Java Math.exp() et Python Math.exp()
- 3. Fonction math.exp Python Syntaxe
- 4. Où est le code source de Python itertools.islice?
- 5. Où est le code source de la chaîne en python?
- 6. Où est le code source de NInject.Framework.Web?
- 7. Où est le code source pour AutoScriptWriter
- 8. Où est le code source d'isnan?
- 9. Où est le code source Mono.Data.Sqlite?
- 10. Où est le code source iText?
- 11. Où est le code source de Mono?
- 12. Où est le code source pour Html.TextBoxFor
- 13. Où est défini le realWorld?
- 14. Où est défini UNS_32?
- 15. Où malloc est-il défini dans le code?
- 16. où est Reads.at défini?
- 17. où est défini tf.nn.l2_loss?
- 18. Où est Model.py dans le code source Django?
- 19. où est l'objet "fenêtre" défini ou créé dans le code source de firefox
- 20. Dans le code source C de Ruby, où est défini l'opérateur Ruby `=`?
- 21. Où g struct est-il défini dans le code source de golang?
- 22. Où jQuery.ajax est-il défini dans le code source de jQuery?
- 23. où est le code source csharp est utilisé sharepoint
- 24. Où trouver le code source python pour construite en open()
- 25. Où est défini glTextureVertexPointer?
- 26. où est défini Enum.values ()?
- 27. Où est Twitter App Code source
- 28. Où `__atomic_compare_exchange` est défini dans la source g ++?
- 29. Où DEBUG est-il défini dans le code?
- 30. Où BigDecimal "/" est défini?
@PaulC: vous êtes trop serviable! Vous encouragez simplement les gens à faire en sorte que les SO utilisent un moteur de recherche en leur nom. –
@PaulC Tks. J'avais une recherche sur google avant de poser cette question. Je n'ai pas pu trouver le code source de la fonction math.exp(). donc ... –
Celui-ci est en fait difficile à trouver, mais il aurait aidé si vous montriez où vous aviez l'air de ne pas le trouver. C'est défini en C; l'entrée de la structure Python se trouve dans le fichier ['mathmodule.c'] (http://hg.python.org/cpython/file/tip/Modules/mathmodule.c#l1561). –