- 主题:有什么float精度的数学库吗
如题
类似gsl
但是好像gsl只能是double
谢谢
--
FROM 1.202.141.*
为了省内存啊
运算量实在太大,double改float直接省一半,能力提高一倍
而且,float的精度对于我来讲,够用了
为什么你那么鄙视gsl,我觉得他的速度还行啊,至少比我自己写的快多了,哈哈哈哈
商用的库要钱啊
不要钱的库里面,做得好的,您给科普一下,有什么比gsl好的,我去下来用一用
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 为什么会有这种奇怪的需求? 既然你提到了 GSL ,想必你对计算速度没有太高的要求。那么 float 与 double 用起来没什么差别。
: 如果真的追求极致的速度,基本都是GPU 运算。针对 gpu ,现在还没有特别成熟的数值库可以用。
: 不用 GPU, 那就只有 SSE/AVX 了。IMSL 、 NAG 这样的商业库,也许会有 float 的接口。
: ...................
--
FROM 1.202.141.*
好
谢谢
我去看看
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: c的gnu gmp。
: python的mpmath。
--
FROM 1.202.141.*
我就用一些基本简单的
诸如
求方程,求平均,排序,找最大值,协方差,等等
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 我没有鄙视 GSL,我本身也经常用 GSL。只不过 GSL 为了移植性全部都是 C 语言写的,相比之下商业库关键的地方都是汇编。所以速度方面 GSL 和商业库还是有差距的。
: gsl 的特点是大而全,能和 gsl 相当的开源库太少了。你具体用什么功能?
--
FROM 1.202.141.*
至少头文件里面全是double
fftw好像还支持单精度,需要设一下
然而,我两个都要用,本来想改成single,改不下来了。。。。。
【 在 baptist (Saint) 的大作中提到: 】
: gsl 没有 single? 不太可能吧?
--
FROM 1.202.141.*
我简单看了一下
基本上就是在说支持IEEE754的那个编准
不瞒您说,单精度浮点数的加法乘法器我都写过
怎么round,我都还是知道的
问题在于,现在是软件,gsl的头文件里面是double类型,就决定了数据的位宽是64位
而我希望的是,降低位宽,到32位
而你这个帖子上讲的,更多的是用一个double的类型,如何实现single float类型的各种round
BTW,其实怎么round,是可以通过设置CPU的寄存器实现的,包括double运算之后的round怎么做,都是可以配置的,这些是硬件完成的。至于寄存器怎么配,可以查CPU的手册,不同的CPU是不一样的
就如上面有位老兄讲的,gsl是纯c的库,没有汇编,为了兼容各种平台,所以配CPU寄存器这种终极解决办法,我估计他是没有采用的
【 在 baptist (Saint) 的大作中提到: 】
: 支持 ieee 就会支持 single-precision 吧?
: 贴个例子呗,我学习一下。
: ps
: ...................
--
FROM 1.202.141.*
讲到lic的问题
想再请教一下
如果我用了gpl的代码,做了一个lib或者一个可执行文件(软件)
我是需要全部公开我所有代码呢,还是只需要公开这个lib或者可执行文件
还是说只要我写的不收钱,随便用,不公开我自己的代码也没有问题
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 理论上是有影响的。但是在中国 GPL 是不受法律保护的。
: 而且扒几个函数出来用这种操作即使在欧美,也很难举证。
--
FROM 1.202.141.*
就是要给别人用啊
只不过不要钱
【 在 ArchLinux (a lightweight and flexible distribution) 的大作中提到: 】
: 如果你的软件不发布给别人用,那你怎么用有版权的代码都没问题。
--
FROM 1.202.141.*
谢谢
学习了
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: GPL 限制的就是发布这个行为。只要你发布了,就要开源。
: 至于你发布时收不收钱,GPL 是不管的。GPL 的传染性很强,即使是动态链接也不行。
: 想要规避 GPL 的限制只能跨进程,用 IPC 通讯。
--
FROM 1.202.141.*