Изменения

нет описания правки
Строка 222: Строка 222:     
== Поддержка ==
 
== Поддержка ==
Ряд компиляторов, в том числе GCC (с версии 4.0, 2010<ref name="gcc">{{Cite web |url=http://www-01.ibm.com/support/docview.wss?uid=swg21245006 |title=IBM Use GCC's long double representation for 128-bit quad precision floating point values - United States<!-- Заголовок добавлен ботом --> |access-date=2016-11-30 |archive-date=2016-11-30 |archive-url=https://web.archive.org/web/20161130184521/http://www-01.ibm.com/support/docview.wss?uid=swg21245006 |url-status=live }}</ref>), IBM XL (10.1<ref name="gcc"/>), Intel, позволяет использовать числа точности "Quadruple" в программах на языках C/C++ и Fortran (например как тип __float128<ref>{{Cite web |url=https://gcc.gnu.org/onlinedocs/gcc-6.1.0/gcc/Floating-Types.html |title=Floating Types - Using the GNU Compiler Collection (GCC)<!-- Заголовок добавлен ботом --> |access-date=2016-11-30 |archive-date=2016-11-30 |archive-url=https://web.archive.org/web/20161130111245/https://gcc.gnu.org/onlinedocs/gcc-6.1.0/gcc/Floating-Types.html |url-status=live }}</ref>, long double, REAL*16), реализуя вычисления над ними программно, на 1-2 порядка более медленно, чем с точностью, поддерживаемой аппаратно<ref>{{Cite web |url=https://gcc.gnu.org/onlinedocs/gcc-6.2.0/libquadmath.pdf |title=Источник |access-date=2016-11-30 |archive-date=2016-11-28 |archive-url=https://web.archive.org/web/20161128160326/https://gcc.gnu.org/onlinedocs/gcc-6.2.0/libquadmath.pdf |url-status=live }}</ref>. Несмотря на то, что подобные вычисления можно реализовать в системах обработки чисел произвольной точности (например, [[GNU Multi-Precision Library|GMP]]), существует несколько специализированных библиотек с программной реализацией "Quadruple" точности<ref>[https://www.nsc.liu.se/~pla/blog/2013/10/17/quadruple-precision/ Exploring quadruple precision floating point numbers in GCC and ICC - Peter Larsson<!-- Заголовок добавлен ботом -->]</ref><ref>{{Cite web |url=http://www.jaist.ac.jp/~s1410018/papers/qd.pdf |title=Архивированная копия |accessdate=2016-11-30 |archiveurl=https://web.archive.org/web/20161130111440/http://www.jaist.ac.jp/~s1410018/papers/qd.pdf |archivedate=2016-11-30}}</ref><ref>{{Cite web |url=http://www.jhauser.us/arithmetic/SoftFloat.html |title=Berkeley SoftFloat<!-- Заголовок добавлен ботом --> |access-date=2016-11-30 |archive-date=2016-11-17 |archive-url=https://web.archive.org/web/20161117084940/http://www.jhauser.us/arithmetic/SoftFloat.html |url-status=live }}</ref>. Также разрабатываются способы аппаратной реализации<ref>{{Cite web |url=https://www.ripublication.com/ijaer16/ijaerv11n2_122.pdf |title=Архивированная копия |accessdate=2016-11-30 |archiveurl=https://web.archive.org/web/20160820191651/http://ripublication.com/ijaer16/ijaerv11n2_122.pdf |archivedate=2016-08-20 |deadlink=yes }}</ref><ref>{{Cite web |url=http://www.atlantis-press.com/php/download_paper.php?id=4869 |title=Источник |access-date=2016-11-30 |archive-date=2017-07-06 |archive-url=https://web.archive.org/web/20170706142016/http://atlantis-press.com/php/download_paper.php?id%3D4869 |url-status=live }}</ref>, но по состоянию на 2005 год в массовых процессорах четверная точность аппаратно не реализовывалась<ref name=Florent-quadandmore>{{Cite web |url=https://www-zeuthen.desy.de/acat05/talks/de_Dinechin.Florent.2/QuadAndMore.pdf |title=Источник |access-date=2016-11-30 |archive-date=2020-07-09 |archive-url=https://web.archive.org/web/20200709224615/https://www-zeuthen.desy.de/acat05/talks/de_Dinechin.Florent.2/QuadAndMore.pdf |url-status=live }}</ref>.
+
Ряд компиляторов, в том числе GCC (с версии 4.0, 2010<ref name="gcc">{{Cite web |url=http://www-01.ibm.com/support/docview.wss?uid=swg21245006 |title=IBM Use GCC's long double representation for 128-bit quad precision floating point values - United States<!-- Заголовок добавлен ботом --> |access-date=2016-11-30 |archive-date=2016-11-30 |archive-url=https://web.archive.org/web/20161130184521/http://www-01.ibm.com/support/docview.wss?uid=swg21245006 |url-status=live }}</ref>), IBM XL (10.1<ref name="gcc"/>), Intel, позволяет использовать числа точности "Quadruple" в программах на языках C/C++ и Fortran (например как тип __float128<ref>{{Cite web |url=https://gcc.gnu.org/onlinedocs/gcc-6.1.0/gcc/Floating-Types.html |title=Floating Types - Using the GNU Compiler Collection (GCC)<!-- Заголовок добавлен ботом --> |access-date=2016-11-30 |archive-date=2016-11-30 |archive-url=https://web.archive.org/web/20161130111245/https://gcc.gnu.org/onlinedocs/gcc-6.1.0/gcc/Floating-Types.html |url-status=live }}</ref>, long double, REAL*16), реализуя вычисления над ними программно, на 1-2 порядка более медленно, чем с точностью, поддерживаемой аппаратно<ref>{{Cite web |url=https://gcc.gnu.org/onlinedocs/gcc-6.2.0/libquadmath.pdf |title=Источник |access-date=2016-11-30 |archive-date=2016-11-28 |archive-url=https://web.archive.org/web/20161128160326/https://gcc.gnu.org/onlinedocs/gcc-6.2.0/libquadmath.pdf |url-status=live }}</ref>. Несмотря на то, что подобные вычисления можно реализовать в системах обработки чисел произвольной точности (например, [[GNU Multi-Precision Library|GMP]]), существует несколько специализированных библиотек с программной реализацией "Quadruple" точности<ref>[https://www.nsc.liu.se/~pla/blog/2013/10/17/quadruple-precision/ Exploring quadruple precision floating point numbers in GCC and ICC - Peter Larsson<!-- Заголовок добавлен ботом -->]</ref><ref>{{Cite web |url=http://www.jaist.ac.jp/~s1410018/papers/qd.pdf |title=Архивированная копия |accessdate=2016-11-30 |archiveurl=https://web.archive.org/web/20161130111440/http://www.jaist.ac.jp/~s1410018/papers/qd.pdf |archivedate=2016-11-30}}</ref><ref>{{Cite web |url=http://www.jhauser.us/arithmetic/SoftFloat.html |title=Berkeley SoftFloat<!-- Заголовок добавлен ботом --> |access-date=2016-11-30 |archive-date=2016-11-17 |archive-url=https://web.archive.org/web/20161117084940/http://www.jhauser.us/arithmetic/SoftFloat.html |url-status=live }}</ref>. Также разрабатываются способы аппаратной реализации<ref>{{Cite web |url=https://www.ripublication.com/ijaer16/ijaerv11n2_122.pdf |title=Архивированная копия |accessdate=2016-11-30 |archiveurl=https://web.archive.org/web/20160820191651/http://ripublication.com/ijaer16/ijaerv11n2_122.pdf |archivedate=2016-08-20}}</ref><ref>{{Cite web |url=http://www.atlantis-press.com/php/download_paper.php?id=4869 |title=Источник |access-date=2016-11-30 |archive-date=2017-07-06 |archive-url=https://web.archive.org/web/20170706142016/http://atlantis-press.com/php/download_paper.php?id%3D4869 |url-status=live }}</ref>, но по состоянию на 2005 год в массовых процессорах четверная точность аппаратно не реализовывалась<ref name=Florent-quadandmore>{{Cite web |url=https://www-zeuthen.desy.de/acat05/talks/de_Dinechin.Florent.2/QuadAndMore.pdf |title=Источник |access-date=2016-11-30 |archive-date=2020-07-09 |archive-url=https://web.archive.org/web/20200709224615/https://www-zeuthen.desy.de/acat05/talks/de_Dinechin.Florent.2/QuadAndMore.pdf |url-status=live }}</ref>.
    
Для некоторых методов решения четверная точность позволяет ускорить сходимость (количество итераций метода) по сравнению с двойной точностью, при этом каждая итерация становится более долгой из-за использования программной реализации операций над числами<ref>{{Cite web |url=http://www.siam.org/meetings/la03/proceedings/hhasegaw.pdf |title=Источник |access-date=2016-11-30 |archive-date=2017-08-29 |archive-url=https://web.archive.org/web/20170829180116/http://www.siam.org/meetings/la03/proceedings/hhasegaw.pdf |url-status=live }}</ref>.
 
Для некоторых методов решения четверная точность позволяет ускорить сходимость (количество итераций метода) по сравнению с двойной точностью, при этом каждая итерация становится более долгой из-за использования программной реализации операций над числами<ref>{{Cite web |url=http://www.siam.org/meetings/la03/proceedings/hhasegaw.pdf |title=Источник |access-date=2016-11-30 |archive-date=2017-08-29 |archive-url=https://web.archive.org/web/20170829180116/http://www.siam.org/meetings/la03/proceedings/hhasegaw.pdf |url-status=live }}</ref>.