Subject: [UFL-dev] [HG UFL] Removed dependencies.py, graph tools are

From: [email-masked] (UFL)
Date: Tue, 24 Feb 2009 15:33:44 +0100 (CET)

One or more new changesets pushed to the primary ufl repository.
A short summary of the last three changesets is included below.

changeset:   636:25a8ccad6cbcc6e5ff99cc0f64a6ec0b47253f3b
tag:         tip
user:        "Martin Sandve Alnæs <[email-masked]>"
date:        Tue Feb 24 15:34:34 2009 +0100
files:       sandbox/basic_form_compiler.py sandbox/dependencies.py sandbox/test_transformations.py scripts/ufl-analyse test/algorithms.py ufl/algorithms/__init__.py ufl/algorithms/analysis.py ufl/algorithms/checks.py ufl/algorithms/dependencies.py ufl/algorithms/formdata.py ufl/algorithms/formtransformations.py ufl/algorithms/forward_ad.py ufl/algorithms/graph.py ufl/algorithms/predicates.py ufl/algorithms/printing.py ufl/algorithms/transformations.py ufl/algorithms/ufl2latex.py ufl/differentiation.py ufl/formoperators.py
description:
Removed dependencies.py, graph tools are
more suitable than split_by_dependencies.

Renamed basisfunction -> basis_function everywhere except filename.

I recommend deleting your old installation and build/ before reinstalling now.

changeset:   635:b7eaefbec3752735142acaafab6e491a979c5632
user:        "Martin Sandve Alnæs <[email-masked]>"
date:        Tue Feb 24 13:43:25 2009 +0100
files:       ufl/algorithms/graph.py ufl/algorithms/pdiffs.py ufl/algorithms/transformations.py
description:
Implemented MultiFunction class, using a mechanism similar to
the one in Transformer to dispatch calls to different functions
based on the type of their first argument. Unlike Transformer,
not intended for recursive calls on the expression tree
but single calls. Example:

class MyFunction(MultiFunction):
    def __init__(self):
        MultiFunction.__init__(self)
    def expr(self, o):
        print "Got an expr of type %s" % type(o)
        return 1
    def function(self, o):
        print "Got a function!"
        return 2

# Guess what these will print:
f = MyFunction()
one = f(something_not_a_function)
two = f(some_function)

Using this for PartialDerivativeComputer which will
be used for reverse mode AD in the future, and for
figuring out dependencies based on type in graph
partitioning.

changeset:   634:8d1f9fd1a28be2db33bb72ac4127af5810395d7d
user:        "Martin Sandve Alnæs <[email-masked]>"
date:        Tue Feb 24 11:57:13 2009 +0100
files:       ufl/algorithms/graph.py
description:
Some work on graph tools.
Implemented a preliminary partitioning algorithm
for finding partitions with different dependencies.

----------------------------------------------------------------------
For more details, visit http://www.fenics.org/hg/ufl