Chamando Python a partir de C: Um Guia Prático

2025-05-29
Chamando Python a partir de C: Um Guia Prático

Este artigo fornece um guia prático e passo a passo sobre como chamar funções Python de dentro de um código C. Começando pelo básico, ele abrange a configuração do ambiente em Linux/Mac, incluindo a inclusão do cabeçalho Python.h, a compilação do código C e o uso de Py_Initialize e Py_Finalize para inicializar e finalizar o interpretador Python. Detalhando como carregar módulos Python, obter atributos de função, chamar funções (tanto sem parâmetros quanto com parâmetros) e limpar a memória. Através de exemplos de código concretos, os leitores aprendem como integrar funções Python em programas C, permitindo a interação perfeita entre código C e Python.

Leia mais
Desenvolvimento chamadas entre linguagens

Introdução à Programação para Partições e Composições de Inteiros

2025-05-18
Introdução à Programação para Partições e Composições de Inteiros

O LeetArxiv lançou o Capítulo 1 de sua nova série, "O que todo programador precisa saber sobre combinatória enumerativa", uma introdução a partições e composições de inteiros. O artigo usa uma abordagem acessível, guiando programadores através desses conceitos usando observação e reconhecimento de padrões. Código em C é fornecido para gerar composições fracas, enumerando-as eficientemente usando coeficientes binomiais e busca binária.

Leia mais
Desenvolvimento

LeetArxiv: Reimplementação de um Algoritmo de Fatoração de Inteiros de 1931

2025-03-30
LeetArxiv: Reimplementação de um Algoritmo de Fatoração de Inteiros de 1931

O LeetArxiv recria um algoritmo de fatoração de inteiros de 1931 de Lehmer e Powers, baseado em frações contínuas. O artigo explica meticulosamente o algoritmo, incluindo o cálculo da expansão da fração contínua de uma raiz quadrada e o uso dos coeficientes resultantes (P e A) para fatoração. Um exemplo passo a passo demonstra os detalhes do algoritmo, fatorando com sucesso o número 13290059. Este algoritmo, historicamente significativo, foi o primeiro a alcançar um tempo de fatoração sub-exponencial.

Leia mais

LeetArxiv: LeetCode para artigos do Arxiv - Guias de codificação prática para pesquisa

2025-02-24
LeetArxiv: LeetCode para artigos do Arxiv - Guias de codificação prática para pesquisa

O LeetArxiv oferece guias de codificação semanais e passo a passo baseados em artigos do Arxiv, direcionados a programadores que estão fazendo a transição para carreiras de pesquisa. Um estudo de caso se concentra na implementação da Transformada Discreta de Cosseno (DCT) AAN de um artigo de 1981. O guia fornece uma implementação em C (facilmente adaptável a outras linguagens) detalhando a equação DCT-II e as otimizações AAN: redução de cálculos de cosseno dispendiosos, exploração da simetria, uso de constantes precomputadas e habilitação de paralelismo. A apresentação abrange o fluxograma e o código do algoritmo, tornando a pesquisa complexa acessível por meio de exercícios práticos de codificação.

Leia mais

Emulando uma GPU em uma CPU usando Assembly de Campo Finito

2025-01-17
Emulando uma GPU em uma CPU usando Assembly de Campo Finito

Este artigo apresenta a Finite Field Assembly (FF-asm), uma nova linguagem de programação que permite a emulação de GPU em CPUs. A FF-asm utiliza um paradigma de computação recursivo, eliminando a necessidade de vetorização SIMD ou paralelismo OpenMP. Ela consegue realizar grandes computações paralelas em uma CPU criando um sistema matemático personalizado baseado na teoria de campos finitos e congruências. O artigo fornece exemplos de código passo a passo que demonstram adição e multiplicação em FF-asm, mostrando seu potencial para emulação de GPU.

Leia mais