This file lists TODO items for FFC. As usual, the priority depends
on the current interests of the various FFC developers. To edit this
file, it is convenient to install org-mode in Emacs.

* Write introduction in manual
  - The introduction is currently empty

* Write about a, L, M in manual
  - Missing in current manual

* Write about lhs() and rhs() in manual

* Projections
  - Reimplement (worked before)
  - Add to manual

* Optimization
  - Reimplement (worked before)
  - Write about optimizations in manual
  - Add to man page

* BLAS mode
  - Reimplement level 2 BLAS (worked before)
  - Implement level 3 BLAS
  - Generate loops for geometry tensor
  - Add to man page

* Optionally generate a pair of .h and .cpp files
  - FFC currently only generates a single .h file. The UFC
  utils provides a simple way to organize the code in .cpp
  and or .h files, but FFC does not yet use this.
  - Add to man page

* Move arguments language and representation to options dictionary

* Display flop count
  - The flop count for evaluation of the element tensor should
  be printed during compilation

* Generate loops for geometry tensor in BLAS mode
  - It should be possible to reduce the size of the generated code
  for complicated forms by generating loops for the computation of
  the entries of the geometry tensor

* UFL
  - Extend FFC form language
  - Differentiation of forms

* Time derivatives
  - Dt(u)

* Quad elements
  - Isoparametric mapping

* Tensor-valued functions

* Fix all FIXMEs
  - There are a few of these: find src/ffc -name '*.py' | xargs grep FIXME
