多精度里FNT和SSA的点滴.Karatsuba,TOOM3,4.5...Toom-Cook可以看成是插值算法的逐步扩展.比如TOOM3,对Q(x),x=取5个不同值,即可一矩阵(行列式)通过解上面矩阵既可以得到A,B,C,D,E,即Q(x)多项式系数.这个推广后即是Toom-Cook算法.FFT则是Toom-Cook对取值的一个特化.对于长度为N的..
分类:
其他好文 时间:
2014-09-05 16:22:52
阅读次数:
223
我们在编写C++类库时,为了隐藏实现,往往只能忍痛舍弃模版的强大特性。但如果我们只需要有限的几个类型的模版实现,并且不允许用户传入其他类型时,我们就可以将实例化的代码放在cpp文件中实现了。然而,当我们又需要针对特定类型进行模版偏特化时,由于gcc编译器不允许直接在类中进行偏特化声明,所以正确的写法...
分类:
编程语言 时间:
2014-09-04 00:02:17
阅读次数:
391
在STL中为了提供通用的操作而又不损失效率,我们用到了一种特殊的技巧,叫traits编程技巧。具体的来说,traits就是 通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性,这些特性根据类型的不同而异。在程序设计中可以使用这些traits来判 断一个类型的一些特性,引发C+...
分类:
其他好文 时间:
2014-09-02 17:30:05
阅读次数:
185
F# 中 module 里的泛型变量实际上是泛型函数。就因为这个问题,导致泛型特化的优化之路尤其曲折。
分类:
其他好文 时间:
2014-08-31 14:29:51
阅读次数:
219
在面对C++模板的时候,需要十分注意,因为模板的复杂性有很多情况,所以最好学习模板的方法我个人认为就是用到就去学,用不到就尽量别去看各种奇门怪技,因为你就算看了,好不容易搞懂模板的实现内部了,包括元编程啊什么的,但真正用到工作中的我相信很少,不久你也会忘掉,所以,对于模板,我们可以采取用到哪学到哪....
分类:
编程语言 时间:
2014-08-28 13:11:09
阅读次数:
197
模板的部分特化
template
struct testClass
{
testClass(){cout<<"I,O"<<endl;}
};
template
struct testClass
{
testClass(){cout<<"T*,T*"<<endl;}
};
成员模板
template
class v
{
public:
template
void in...
分类:
编程语言 时间:
2014-08-18 23:35:23
阅读次数:
269
讲解STL中迭代器的设计思想和设计的代码。其中用到了Traits编程技法和Partial Specializetion(偏特化)。...
分类:
其他好文 时间:
2014-08-11 21:38:42
阅读次数:
503
继承:面向对象的三大特征之一:是类和类之间的一种拓展关系,是一种从一般到特殊的关系;格式: sub extends Super, 我们把sub称为子类或者拓展类, 把super称为父类或者基类(超类)泛化:把子类中的共性抽取到父类的过程;特化:子类在父类的基础之上,拓展自己特有的状态和特征;Obje...
分类:
编程语言 时间:
2014-07-28 23:51:34
阅读次数:
367
1. 面向对象编程基于三个基本概念:数据抽象、继承和动态绑定。
在C++ 中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。在C++ 中,多态性仅用于通过继承而相关联的类型的引用或指针。
2. 继承
通过继承我们能够定义这样的类,它们对类型之间的关系建模,共享公共的东西,仅仅特化本...
分类:
编程语言 时间:
2014-07-19 02:35:16
阅读次数:
259