原代码核心部分来自BS的《TC++PL 3rd Special 》,我在其基础上做了一点改动,加上了一些运算,同时也发现了STLport的一点小问题。
类是基于STL里的valarray的,因为主要是用来演示算法用的,所以没有对效率做过多的考虑。valarray 本身给我们提供了很多方便的运算,因为,我基本都是用的valarray的算法,没有重写。不过,这带来一些性能的损失,就是从matrix到valarray的一个copy。我已经尽量多地用const reference来消除了,不过,不可能完全地消除的。
在gcc和vc平台上做移植的时候,发现了一些问题,就是对于const reference的处理。vc 更实用一些,不过,也带来了很大的隐患,gcc 则更忠实于标准。
写了很久,中间也郁闷了很久,特别是在两个编译器间移植的时候,很烦,问了好多高手,还加了mingw的maillist,又在comp.c++.std里发,在sourceforge里的forum里问。不得以,最后改了stlport的源码。
不过,风雨之后的喜悦,只有亲身做过,才能体会吧。
在这里下载
类是基于STL里的valarray的,因为主要是用来演示算法用的,所以没有对效率做过多的考虑。valarray 本身给我们提供了很多方便的运算,因为,我基本都是用的valarray的算法,没有重写。不过,这带来一些性能的损失,就是从matrix到valarray的一个copy。我已经尽量多地用const reference来消除了,不过,不可能完全地消除的。
在gcc和vc平台上做移植的时候,发现了一些问题,就是对于const reference的处理。vc 更实用一些,不过,也带来了很大的隐患,gcc 则更忠实于标准。
写了很久,中间也郁闷了很久,特别是在两个编译器间移植的时候,很烦,问了好多高手,还加了mingw的maillist,又在comp.c++.std里发,在sourceforge里的forum里问。不得以,最后改了stlport的源码。
不过,风雨之后的喜悦,只有亲身做过,才能体会吧。
在这里下载