1. Requirements.

- The code should be well documented with references to the
  user manual.

- The user should be able to download and build the examples
  independently of hypre (i.e. assuming only that hypre was
  installed in some directory $HYPRE_DIR). In particular, no
  assumptions for the locations of the examples or hypre
  directories should be made.

- The examples should mimic an application code, so a user
  can pick one of them and use it as a starting template.


2. Adding a new example code.

- Use the following naming convention: ex<n>.c

- Edit the Makefile.

- Test if everything builds and runs correctly.

- Documentation: create ex<n>.htm in the docs directory, and include
  it in the appropriate Interface, Equation, Discretization or Solver
  documentation files. Add a short description in index.htm. Then do
  "make" to build the documentation in the README_files directory and
  create/update the README.html in the examples directory.

  NOTE: To clarify, the docs directory is NOT distributed
	to users.  To test what is in the distribution, do "make"
	in the docs directory. This updates the examples/README_files
	directory (which IS distributed) and the file README.html
	which is created in the *examples* directory (from docs/index.htm
	- which is why the links in index.htm do not - and should not -
	work in the docs directory)

3. Maintaining, updating and testing.

- Changes in hypre interface should be reflected in the examples.

- The outputs of some example runs should be kept as benchmarks.
  If changes in hypre or the example itself result in different
  output, this should be recorded.

- The examples are part of hypre's regression testing.
