Appeler Python depuis C : un guide pratique

2025-05-29
Appeler Python depuis C : un guide pratique

Cet article fournit un guide pratique étape par étape sur la façon d’appeler des fonctions Python depuis du code C. En commençant par les bases, il couvre la configuration de l’environnement sous Linux/Mac, y compris l’inclusion de l’en-tête Python.h, la compilation du code C et l’utilisation de Py_Initialize et Py_Finalize pour initialiser et terminer l’interpréteur Python. Il détaille comment charger des modules Python, obtenir des attributs de fonction, appeler des fonctions (à la fois sans paramètres et avec paramètres) et nettoyer la mémoire. Grâce à des exemples de code concrets, les lecteurs apprennent à intégrer des fonctions Python dans des programmes C, permettant une interaction transparente entre le code C et Python.

Lire plus
Développement appels inter-langages

Introduction à la programmation pour les partitions et les compositions d'entiers

2025-05-18
Introduction à la programmation pour les partitions et les compositions d'entiers

LeetArxiv a publié le chapitre 1 de sa nouvelle série, "Ce que tout programmeur doit savoir sur la combinatoire énumérative", une introduction aux partitions et compositions d'entiers. L'article utilise une approche accessible, guidant les programmeurs à travers ces concepts grâce à l'observation et à la reconnaissance de motifs. Du code C est fourni pour générer des compositions faibles, en les énumérant efficacement à l'aide de coefficients binomiaux et de la recherche binaire.

Lire plus
Développement

LeetArxiv : Réimplémentation d'un algorithme de factorisation d'entiers de 1931

2025-03-30
LeetArxiv : Réimplémentation d'un algorithme de factorisation d'entiers de 1931

LeetArxiv recrée un algorithme de factorisation d'entiers de 1931 de Lehmer et Powers, basé sur les fractions continues. L'article explique méticuleusement l'algorithme, y compris le calcul du développement en fraction continue d'une racine carrée et l'utilisation des coefficients résultants (P et A) pour la factorisation. Un exemple pas à pas montre les détails de l'algorithme, factorisant avec succès le nombre 13290059. Cet algorithme, historiquement significatif, a été le premier à atteindre un temps de factorisation sous-exponentiel.

Lire plus

LeetArxiv : LeetCode pour les articles Arxiv – Guides de codage pratiques pour la recherche

2025-02-24
LeetArxiv : LeetCode pour les articles Arxiv – Guides de codage pratiques pour la recherche

LeetArxiv propose des guides de codage hebdomadaires et étape par étape basés sur des articles Arxiv, destinés aux programmeurs en transition vers des carrières de recherche. Une étude de cas se concentre sur l’implémentation de la Transformée en Cosinus Discrète (DCT) AAN d’un article de 1981. Le guide fournit une implémentation en C (facilement adaptable à d’autres langages) détaillant l’équation DCT-II et les optimisations AAN : réduction des calculs coûteux en cosinus, exploitation de la symétrie, utilisation de constantes précalculées et activation du parallélisme. La présentation couvre l’organigramme et le code de l’algorithme, rendant la recherche complexe accessible grâce à des exercices pratiques de codage.

Lire plus

Émulation d'un GPU sur un CPU à l'aide de l'assembleur de corps fini

2025-01-17
Émulation d'un GPU sur un CPU à l'aide de l'assembleur de corps fini

Cet article présente Finite Field Assembly (FF-asm), un nouveau langage de programmation permettant l'émulation de GPU sur les CPU. FF-asm utilise un paradigme de calcul récursif, éliminant le besoin de vectorisation SIMD ou de parallélisation OpenMP. Il réalise des calculs parallèles massifs sur un CPU en créant un système mathématique personnalisé basé sur la théorie des corps finis et les congruences. L'article fournit des exemples de code étape par étape démontrant l'addition et la multiplication dans FF-asm, mettant en évidence son potentiel pour l'émulation de GPU.

Lire plus