diff -r 1970a93dfaa8 -r 3fc072264f77 test/polynomial_test.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/polynomial_test.cc Tue May 16 16:59:57 2006 +0000 @@ -0,0 +1,81 @@ +/* -*- C++ -*- + * + * This file is a part of LEMON, a generic C++ optimization library + * + * Copyright (C) 2003-2006 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport + * (Egervary Research Group on Combinatorial Optimization, EGRES). + * + * Permission to use, modify and distribute this software is granted + * provided that this copyright notice appears in all copies. For + * precise terms see the accompanying LICENSE file. + * + * This software is provided "AS IS" with no warranty of any kind, + * express or implied, and with no claim as to its suitability for any + * purpose. + * + */ + +#include +#include +#include +#include "test_tools.h" + +using namespace std; +using namespace lemon; +int main() +{ + Polynomial pi(5); + check(pi.deg()==5,"Something is wrong here."); + pi[0]=12; + pi[5]=3; + pi[2]=7; + check(pi[1]==0,"Uninitialized elements should be(?) zero."); + { + Polynomial pd=pi; + check(pd.deg()==5,"Something is wrong here."); + check(pd[0]==12,"Something is wrong here."); + check(pd[5]==3,"Something is wrong here."); + + } + + Polynomial pd; + pd=pi; + check(pd.deg()==5,"Something is wrong here."); + check(pd[0]==12,"Something is wrong here."); + check(pd[5]==3,"Something is wrong here."); + + check(pd(0)==12,"Something is wrong here."); + check(pd(1)==22,"Something is wrong here."); + check(pd(2)==136,"Something is wrong here."); + + check((pd*pi).deg()==10,"Something is wrong here."); + check((pd*pi)[10]==9,"Something is wrong here."); + check((pd*pi)[7]==42,"Something is wrong here."); + + Polynomial pd2=pd+pi; + check(pd2[5]==6,"Something is wrong here."); + pd2+=pd; + pd2+=pi; + check(pd2[5]==12,"Something is wrong here."); + pd2-=pd; + pd2-=pi; + check(pd2[5]==6,"Something is wrong here."); + check((pd-pi)[5]==0,"Something is wrong here."); + + Polynomial pdd=pd.derivate(); + pd.derivateMyself(); + check(pdd==pd,"Something is wrong here."); + check(pd.deg()==4,"Something is wrong here."); + check(pd[4]==15,"Something is wrong here."); + + + Polynomial pdi=pd.integrate(); + pd.integrateMyself(); + check(pdi==pd,"Something is wrong here."); + check(pd.deg()==5,"Something is wrong here."); + check(pd[5]==3,"Something is wrong here."); + check(pd[0]==0,"Something is wrong here."); + + +}