Следуя документам и исходному коду арифметики двойной двойной точности для некоторых время, я до сих пор не могу понять, как именно число dd_real (определяемое как struct dd_real { double x[2];...}
) разбивается на два двойника. Скажем, если я инициализирую его строкой, dd_real pi = "3.14159265358979323846264338327950";
что будет pi.x[0]
и pi.xi[1]
? Мне нужно понять это, а затем написать, надеюсь, небольшую функцию Python, которая это сделает.
Причина, по которой я не хочу просто обращаться к библиотеке QD, заключается в том, что я бы предпочел повторно реализовать правильное разделение в Python, чтобы я отправлял свои 35-значные константы точности (заданные в виде строк) как double2
в код CUDA, где он будет библиотека GQD — единственная библиотека, , чтобы иметь дело с вычислениями повышенной точности в CUDA. К сожалению, это также исключает использование mpmath на стороне Python.
pi.x[0]
иpi.x[1]
), вы не сможете понять никакого смысла разделения по отношению к исходному десятичному значению. - person Pascal Cuoq   schedule 25.03.2012double double
никоим образом не является произвольной точностью. Это только более высокая точность, чем у двойной точности IEEE 754, при использовании преимуществ доступного оборудования двойной точности. - person Pascal Cuoq   schedule 25.03.2012