Невозможно использовать 128-битный float в Python на 64-битной архитектуре

Я проверил размер указателя в моем терминале python (в Enthought Canopy IDE) через

import ctypes
print (ctypes.sizeof(ctypes.c_voidp) * 8)

Я имею 64-битную архитектуру и работаю с numpy.float64. Но я не могу использовать np.float128?

np.array([1,1,1],dtype=np.float128)

или

np.float128(1)

приводит к:

AttributeError: 'module' object has no attribute 'float128'

Я запускаю следующую версию:

sys.version_info(major=2, minor=7, micro=6, releaselevel='final', serial=0)
6
задан Matthias 23 апр. '15 в 13:32
источник поделиться

1 ответ

Обновление. Из комментариев кажется бессмысленным даже 128-битное плавание в 64-битной системе.

Я использую anaconda в 64-битной системе Ubuntu 14.04 с sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)

и 128 бит поплавки работают нормально:

import numpy
a = numpy.float128(3)

Это может быть проблема распространения. Попробуйте:

EDIT: Обновление комментариев:

Не мой нисходящий, но этот пост на самом деле не отвечает "почему не np.float128 есть на моей машине" подразумеваемый вопрос. что это специфично для платформы: float128 существует на некоторых платформах, но а не на тех платформах, где он существует, почти конечно, просто 80-бит x87 расширенный тип точности, дополненный 128 биты. - Марк Дикинсон

0
ответ дан shaunakde 23 апр. '15 в 14:04
источник поделиться

Другие вопросы по меткам