Hello community, here is the log from the commit of package analitza for openSUSE:Factory checked in at 2013-03-14 10:54:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/analitza (Old) and /work/SRC/openSUSE:Factory/.analitza.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "analitza", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/analitza/analitza.changes 2013-02-04 19:26:37.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.analitza.new/analitza.changes 2013-03-14 10:54:06.000000000 +0100 @@ -1,0 +2,7 @@ +Sat Mar 2 15:32:27 UTC 2013 - [email protected] + +- Update to 4.10.1 + * Contains bug fixes. See http://www.kde.org/announcements/ + for more information + +------------------------------------------------------------------- Old: ---- analitza-4.10.0.tar.xz New: ---- analitza-4.10.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ analitza.spec ++++++ --- /var/tmp/diff_new_pack.d6s8gb/_old 2013-03-14 10:54:08.000000000 +0100 +++ /var/tmp/diff_new_pack.d6s8gb/_new 2013-03-14 10:54:08.000000000 +0100 @@ -21,7 +21,7 @@ BuildRequires: readline-devel BuildRequires: pkgconfig(glu) Url: https://projects.kde.org/projects/kde/kdeedu/analitza -Version: 4.10.0 +Version: 4.10.1 Release: 0 BuildRequires: xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ analitza-4.10.0.tar.xz -> analitza-4.10.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/analitza-4.10.0/analitza/expressiontypechecker.cpp new/analitza-4.10.1/analitza/expressiontypechecker.cpp --- old/analitza-4.10.0/analitza/expressiontypechecker.cpp 2013-01-23 22:50:46.000000000 +0100 +++ new/analitza-4.10.1/analitza/expressiontypechecker.cpp 2013-03-01 07:39:17.000000000 +0100 @@ -178,6 +178,7 @@ // static int ind=3; // qDebug() << qPrintable("+" +QString(ind++, '-')) << o->toString() << firstType << secondType; + bool found = false; foreach(const ExpressionType& _first, firstTypes) { foreach(const ExpressionType& _second, secndTypes) { QMap<int, ExpressionType> _starToType; @@ -232,28 +233,27 @@ toadd.addAssumptions(assumptions); toadd=toadd.starsToType(starToParam); - if(firstPair) + if(firstPair) { ret += toadd; - else { + found = true; + } else { QList<ExpressionType>::iterator it=ret.begin(), itEnd=ret.end(); for(; it!=itEnd; ++it) { QMap<int, ExpressionType> stars; if(toadd.canReduceTo(*it) && ExpressionType::matchAssumptions(&stars, it->assumptions(), toadd.assumptions())) { bool b=ExpressionType::assumptionsMerge(it->assumptions(), toadd.starsToType(stars).assumptions()); Q_ASSERT(b); + found = true; break; } else if(it->canReduceTo(toadd) && ExpressionType::matchAssumptions(&stars, it->assumptions(), toadd.assumptions())) { toadd=toadd.starsToType(stars); bool b=ExpressionType::assumptionsMerge(toadd.assumptions(), it->assumptions()); Q_ASSERT(b); *it=toadd; + found = true; break; } } - - if(it==itEnd) { - addError(i18n("Could not find a type that unifies '%1'", o->toString())); - } } } // else @@ -263,6 +263,9 @@ } } } + if(!found) { + addError(i18n("Could not find a type that unifies '%1'", o->toString())); + } // qDebug() << qPrintable("\\"+QString(--ind, '-')) << o->toString() << ret; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/analitza-4.10.0/analitza/providederivative.cpp new/analitza-4.10.1/analitza/providederivative.cpp --- old/analitza-4.10.0/analitza/providederivative.cpp 2013-01-23 22:50:45.000000000 +0100 +++ new/analitza-4.10.1/analitza/providederivative.cpp 2013-03-01 07:39:17.000000000 +0100 @@ -53,7 +53,7 @@ s_transformations += Transformation(Transformation::parse("diff(log(p):x)"), Transformation::parse("diff(p:x)/(ln(10)*p)")); s_transformations += Transformation(Transformation::parse("diff(f**Real:x)"), Transformation::parse("Real*diff(f:x)*f**(Real-1)"), nat); //this is just a simplification, should be deprecated s_transformations += Transformation(Transformation::parse("diff(f**g:x)"), Transformation::parse("f**g*(diff(g:x)*ln f+g/f*diff(f:x))")); - s_transformations += Transformation(Transformation::parse("diff(abs(p):x)"), Transformation::parse("diff(p:x)/abs(x)")); + s_transformations += Transformation(Transformation::parse("diff(abs(p):x)"), Transformation::parse("diff(p:x)*p/abs(p)")); s_transformations += Transformation(Transformation::parse("diff(exp(p):x)"), Transformation::parse("diff(p:x)*exp(p)")); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/analitza-4.10.0/analitza/tests/typechecktest.cpp new/analitza-4.10.1/analitza/tests/typechecktest.cpp --- old/analitza-4.10.0/analitza/tests/typechecktest.cpp 2013-01-23 22:50:47.000000000 +0100 +++ new/analitza-4.10.1/analitza/tests/typechecktest.cpp 2013-03-01 07:39:17.000000000 +0100 @@ -179,6 +179,8 @@ QTest::newRow("scopes") << "or((x->list{}=x)(list{}), (x->x=0)(0))" << "bool"; + QTest::newRow("unify") << "t->vector { 1, times(2, 3, t) }" << "num -> <num,2>"; + QTest::newRow("nary") << "l->and(l=3, l=3, l=3)" << "num -> bool"; QTest::newRow("nary1") << "l->and(valid(l), l=3, l=3)" << "num -> bool"; QTest::newRow("nary2") << "l->and(l=3, l=3, valid(l))" << "num -> bool"; @@ -197,8 +199,8 @@ ExpressionType type=t.check(e); if(!t.isCorrect()) qDebug() << "errors: " << t.errors(); - QCOMPARE(type.simplifyStars().toString(), output); QVERIFY(t.isCorrect()); + QCOMPARE(type.simplifyStars().toString(), output); } void TypeCheckTest::testUncorrection() @@ -248,6 +250,7 @@ QTest::newRow("twoargs") << "(x->x(3))((x,y)->x+y)"; QTest::newRow("times") << "x(x+1)"; + QTest::newRow("unify") << "min(2, 3, list{})"; //TODO: Add invalid recursive call } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
