/* ************************************************************   
   *                                                          *   
   *     Elementare numerische Methoden der Mathematik        *   
   *                                                          *   
   *     Arbeiten mit vektorwertigen Funktionen               *   
   *                                                          *   
   *     (c) 2009 Jens Burmeister, Universitaet Kiel,         *   
   *              Institut fuer Informatik                    *   
   *              Lehrstuhl  Scientific Computing             *   
   *                                                          *   
   *     Version 1.01 vom Tue Jan 12 16:49:22 MET 2010        *   
   *                                                          *   
   ************************************************************ */

#ifndef Header_VectorValuedFunctions

  #define Header_VectorValuedFunctions

  #include "Vectors.h" /* wegen PVector */

  typedef double TComponentFunction(int n, PVector x);
  typedef TComponentFunction *PComponentFunction;

  typedef PComponentFunction *PVectorValuedFunction;

  PVectorValuedFunction TVectorValuedFunction_Create(int n);
  void TVectorValuedFunction_Destroy(PVectorValuedFunction F);

  void TVectorValuedFunction_Evaluate
         (int n, PVector y, PVectorValuedFunction F, PVector x);
  PVector TVectorValuedFunction_Evaluate_Create
            (int n, PVectorValuedFunction F, PVector x);

#endif

/* ************************************************************************   
   *                                                                      *   
   *     Logbuch fuer  VectorValuedFunctions.h                            *   
   *  ------------------------------------------------------------------  *   
   *                                                                      *   
   *     Version 1.01 vom Tue Jan 12 16:49:22 MET 2010                    *   
   *                                                                      *   
   *     -  Kleine Fehler (1) berichtigt                                  *
   *                                                                      *   
   *        (1) #define Header_VectorValuedFunctions                      *   
   *                                                                      *   
   ********************************************************************** *
   *                                                                      *
   *     Version 1.0 vom Wed Dec  9 15:14:49 MET 2009                     *   
   *                                                                      *   
   *     - Definitionen                                                   *
   *                                                                      *
   *          TComponentFunction                                          *   
   *          PComponentFunction                                          *   
   *          PVectorValuedFunction                                       *   
   *                                                                      *   
   *     - Prototypen                                                     *   
   *                                                                      *   
   *       PVectorValuedFunction TVectorValuedFunction_Create(int);       *
   *       void TVectorValuedFunction_Destroy(PVectorValuedFunction);     *
   *                                                                      *
   *       void TVectorValuedFunction_Evaluate(                           *
   *              int, PVector, PVectorValuedFunction, PVector);          *
   *       PVector TVectorValuedFunction_Evaluate_Create(                 *
   *                 int, PVectorValuedFunction, PVector);                *
   *                                                                      *   
   ********************************************************************** */


