retornos duplos longos e ctypes
Eu tenho uma função c que retorna umlong double
. Eu gostaria de chamar essa função do python usando ctypes, e funciona principalmente. configuraçãoso.func.restype = c_longdouble
faz o truque - exceto que o tipo float do python é umc_double
portanto, se o valor retornado for maior que um dobro, mas dentro dos limites de um longo duplo, python ainda receberá inf como o valor de retorno. estou em um processador de 64 bits esizeof(long double)
é 16.
alguma idéia de como contornar isso (por exemplo, usando a classe decimal ou numpy) sem modificar o código c?