numpy의 내부 정밀도는 얼마입니까?float128?
정도의 를 가지고 있습니까?numpy.float128
내부로 매핑하시겠습니까?그런가요?__float128
아니면 롱 더블?아니면 완전히 다른 것?
나 알고 : 하는 것이 안전한가요?__float128
정확바만 16이배트 2까지 (위한 입니다.)(이것은 롱 더블에서 작동하는 Clib와 인터페이스하기 위한 것입니다.)
편집: 의견에 대한 응답으로 플랫폼은 '리눅스-3.0.0-14-generic-x86_64-with-Ubuntu-11.10-oneiric'입니다.자, 만약에numpy.float128
플랫폼에 따라 다양한 정밀도를 가지고 있으며, 그것은 또한 나에게 유용한 지식입니다!
제가 관심을 가지고 있는 것은 정밀도이지, 원소의 크기가 아닙니다.
numpy.longdouble
C 컴파일러가 호출하는 모든 유형을 나타냅니다. 현재 이 유형은 numpy가 지원하는 유일한 확장된 정밀 부동 소수점 유형입니다.
x86-32 및 x86-64에서는 80비트 부동 소수점 유형입니다.더 이국적인 시스템에서는 다른 것일 수 있습니다(Sparcit의 IIRC는 실제 128비트 IEEE float이고 PPC의 IIRC는 이중으로 되어 있습니다).(사용하는 OS와 컴파일러에 따라 달라질 수 있습니다. 예를 들어Windows의 MSVC는 확장 정밀도를 전혀 지원하지 않습니다.)
Numpy는 또한 다음과 같은 이름을 내보낼 것입니다.numpy.float96
또는numpy.float128
중 이름을 , 유형과 동일한 유형을 참조합니다.longdouble
또한, 이 이름들은 매우 오해의 소지가 있습니다.96비트 또는 128비트 IEEE 부동 소수점 형식을 나타내지 않습니다.대신, 기본 정렬에 사용되는 비트 수를 나타냅니다.long double
경우 니다입합입니다. 예를 들어 x86-32의 경우,long double
정렬을 유지하기 , 는 이 80비트를 합니다.float96
x86-64에서는long double
이지만, 64비트 정렬을 , 를 다시비 80트비이 64트비정렬을유다지이니위, numpy호합를출는고기하라고 부릅니다.float128
별도의 정밀도는 없고, 패딩만 추가됩니다.
사항:를합니다.float96
/float128
름이, 그사용을 사용합니다.numpy.longdouble
아니면 당신이 진정으로 설득력 있는 이유가 없는 한 복식을 고수하는 것이 더 낫습니다.그것들은 더 빠르고 더 휴대성이 좋은 등이 될 것입니다.
ATM은 상당히 엉망이기 때문에 float128 대신 사용하는 것이 좋습니다.Python은 그것을 던질 것입니다.float64
초기화 중에
numpy 안에는 더블 또는 롱 더블이 될 수 있습니다.플랫폼에 정의되어 있으며 플랫폼에 따라 다릅니다.당신의 소스 코드에 즉시 포함시킬 수 있을지 모르겠습니다.
알고리즘의 이 부분에서 성능이 필요하지 않으면 문자열로 내보내고 나중에 사용하는 것이 더 안전한 방법일 수 있습니다.
numpy 문서의 TLDR:
np.longdouble
시스템 기본값에 패딩됩니다.np.float96
그리고.np.float128
특정 패딩을 원하는 사용자를 위해 제공됩니다.그 이름들에도 불구하고,np.float96
그리고.np.float128
와 같은 정도의 정밀도만 제공합니다.np.longdouble
즉, 대부분의 x86 컴퓨터에서는 80비트가, 표준 Windows에서는 64비트가 빌드됩니다.
언급URL : https://stackoverflow.com/questions/9062562/what-is-the-internal-precision-of-numpy-float128
'programing' 카테고리의 다른 글
Swift UI - 하프 모달? (0) | 2023.08.19 |
---|---|
새 JSON 데이터로 데이터 테이블을 수동으로 업데이트하는 방법 (0) | 2023.08.19 |
매개 변수가 있는 저장 프로시저 (0) | 2023.08.14 |
승인되지 않은 단순 Rest 쿼리를 실행하는 동안 예기치 않은 오류가 발생했습니다. (0) | 2023.08.14 |
jQuery: 필드 값이 null(비어 있음)인지 확인합니다) (0) | 2023.08.14 |