새로운 버전의 Mandelbrot screensaver에서 작업 중이며 부동 소수점 정확도가 부족합니다. 간단합니다. double 값에 충분한 숫자가 필요하지 않습니다.C#의 경우 "extended"와 동일합니까?
더 유효 숫자 = 내가 델파이 7이 스크린 세이버의 버전을 쓸 때 프랙탈
돌아 가기로 확대의 높은 수준, 나는 extended 부동 소수점 유형, 크기 80 비트를 사용했다.
. NET에서 decimal으로 전환 할 수는 있지만 실적이 좋지 않아 프랙탈 생성이 20 배 정도 느려집니다.
에 해당하는 확장 프로그램이 있습니까? .NET 용? 또는, double보다 높은 정밀도를 갖는 수치 유형이 있습니까? 따라서 소수점의 높은 성능을 발휘하지 못합니까?
업데이트
내 스크린 세이버는 이미 다양한 크기 (! 많은) 주문하여 프랙탈을 확대하기 위해 관리; 현재 사용중인 숫자 유형이 인접한 픽셀에 대한 세로 좌표를 분리 할 수없는 경우에만베이스 프랙탈로 재설정됩니다. 2 배 확장 된 개선의 추가 16 비트 정밀도 덕분에 크기가 16 배 더 늘어났습니다. 성능에 관해서는
, 내 알고리즘은 이미 프랙탈의 무결성을 유지하면서, (많은 픽셀을 계산하는 순진 구현에 비해) 필요한 수학의 95~99%을 제거하기 위해 관리합니다. 64 비트 플랫폼에
확장은 x86에서 80 비트 부동 소수점 레지스터를 사용하기 때문에 원시 코드를 작성해야 할 수도 있습니다. 아니면 프로그램의 굶주림을 줄이는 것이 더 정확한지 확실하지 않습니다. 나는 이것에 대해 전문가가 아니므로 더 이상의 조언을 드릴 수는 없습니다. – nhahtdh