示例#1
0
int main()
{
	BinaryOperation bin1("10101");
	BinaryOperation bin2(5);
	BinaryOperation bin3("11");
	BinaryOperation bin4 = bin1 + bin3;
	cout << bin4 << endl;
	cin.get();
}
double bin(const double *knots,int ii,int n,double x)
{
    double delta = 1e-8;
    if(n == 0)
    {
        return bin0(knots,ii,n,x);
    }
    else if(n == 1)
    {
        return bin1(knots,ii,n,x);
    }
    else if(n == 2)
    {
        return bin2(knots,ii,n,x);
    }
    else
    {
        return (x-knots[ii])/(knots[ii+n]-knots[ii]+delta)*bin(knots,ii,n-1,x) + 
            (knots[ii+n+1] - x)/(knots[ii+n+1]-knots[ii+1]+delta)*bin(knots,ii+1,n-1,x);
    }
}