我试图找到sin函数的多精度版本的实现。我试图通读mpfr库(C / C ++源代码),但我找不到与实际实现相关的任何代码。
我基本上想知道的是在这种情况下如何执行参数减少(多精度),可能存储一个巨大的LUT来表示pi
的倒数,那就是允许处理所有可能的情况(我的意思是尾数大小)。
你能指出一下具体来源吗?阅读代码非常复杂。
答案 0 :(得分:1)
使用巨大的LUT不能实现范围缩小:这是不可能的,因为指数范围太大。所做的只是以足够的精度计算pi; pi的值被缓存用于下一次调用三角函数,并且每次需要更高精度时都会重新计算pi。
您可以通过查看MPFR的来源和/或使用LaTeX从algorithms.pdf
目录构建doc
来获取信息。但是这份文件可能并不总是是最新的,有些信息可能会丢失。