/[ascend]/trunk/base/generic/compiler/exprsym.h
ViewVC logotype

Diff of /trunk/base/generic/compiler/exprsym.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 202 by jds, Tue Aug 2 11:20:09 2005 UTC revision 203 by johnpye, Mon Jan 23 04:13:17 2006 UTC
# Line 10  Line 10 
10   *  This file is part of the ASCEND compiler.   *  This file is part of the ASCEND compiler.
11   *   *
12   *  Copyright (C) 1994,1995 Kirk Andre Abbott.   *  Copyright (C) 1994,1995 Kirk Andre Abbott.
13     *  Copyright (C) 2006 Carnegie Mellon University
14   *   *
15   *  The Ascend Language Interpreter is free software; you can redistribute   *  The Ascend Language Interpreter is free software; you can redistribute
16   *  it and/or modify it under the terms of the GNU General Public License as   *  it and/or modify it under the terms of the GNU General Public License as
# Line 46  Line 47 
47   *  case.   *  case.
48   */   */
49    
50  #ifndef __EXPRSYM_H_SEEN__  #ifndef ASC_EXPRSYM_H
51  #define __EXPRSYM_H_SEEN__  #define ASC_EXPRSYM_H
52    
53  /**  /**
54   * Until we decide whether to let the postfix and   * Until we decide whether to let the postfix and
# Line 55  Line 56 
56   * typedefs.   * typedefs.
57   */   */
58  typedef struct Func Func;  typedef struct Func Func;
59    
60  typedef struct relation_term Term;  typedef struct relation_term Term;
61  /**< note, so now Term has to be treated like A_TERM. */  /**< note, so now Term has to be treated like A_TERM. */
62    
63  typedef struct relation RelationINF;    /**< infix relation */  typedef struct relation RelationINF;    /**< infix relation */
64    
65  #define K_TERM(i) ((Term *)(i))  #define K_TERM(i) ((Term *)(i))
# Line 71  extern Term *TermSimplify(Term *term); Line 74  extern Term *TermSimplify(Term *term);
74  extern Term *Derivative(Term *term, unsigned long wrt,  extern Term *Derivative(Term *term, unsigned long wrt,
75                          int (*filter)(struct Instance *));                          int (*filter)(struct Instance *));
76  /**<  /**<
77   *  The low level routine which acutally does the symbolic differentiation   *  The low level routine which actually does the symbolic differentiation
78   *  with sub epxression simplification/elimination. In general not a safe   *  with sub epxression simplification/elimination. In general not a safe
79   *  place to start as use is made of a free store which has to be set up   *  place to start as use is made of a free store which has to be set up
80   *  before this funcion may be called.   *  before this funcion may be called.
# Line 103  extern Term *TermDerivative(Term *term, Line 106  extern Term *TermDerivative(Term *term,
106  extern RelationINF *RelDerivative(RelationINF *rel, unsigned long wrt,  extern RelationINF *RelDerivative(RelationINF *rel, unsigned long wrt,
107                                    int (*filter)(struct Instance *));                                    int (*filter)(struct Instance *));
108  /**<  /**<
  *  <!--  RelationINF *RelDeriveSloppy(rel,wrt,filter);                -->  
  *  <!--  RelationINF *rel;                                            -->  
  *  <!--  unsigned long wrt;                                           -->  
  *  <!--  int (*filter)(struct Instance *);                            -->  
109   *  Given a infix relation, a index into its variable list and a function   *  Given a infix relation, a index into its variable list and a function
110   *  filter used to classify REAL_ATOM_INSTANCES as variables,parmaters or   *  filter used to classify REAL_ATOM_INSTANCES as variables,parmaters or
111   *  constants (or for that matter whatever the user pleases), this function   *  constants (or for that matter whatever the user pleases), this function
# Line 118  extern RelationINF *RelDerivative(Relati Line 117  extern RelationINF *RelDerivative(Relati
117    
118  extern void RelDestroySloppy(RelationINF *rel);  extern void RelDestroySloppy(RelationINF *rel);
119  /**<  /**<
  *  <!--  void RelDestroySloppy(rel);                                  -->  
  *  <!--  RelationINF *rel;                                            -->  
120   *  This function is to be used to deallocate a relation that was returned   *  This function is to be used to deallocate a relation that was returned
121   *  as a result of a call to RelDeriveSloppy.   *  as a result of a call to RelDeriveSloppy.
122   *  <pre>   *  <pre>
# Line 141  extern void RelDestroySloppy(RelationINF Line 138  extern void RelDestroySloppy(RelationINF
138  extern RelationINF *RelDeriveSloppy(RelationINF *rel, unsigned long wrt,  extern RelationINF *RelDeriveSloppy(RelationINF *rel, unsigned long wrt,
139                                      int (*filter)(struct Instance *));                                      int (*filter)(struct Instance *));
140  /**<  /**<
  *  <!--  RelationINF *RelDeriveSloppy(rel,wrt,filter);                -->  
  *  <!--  RelationINF *rel;                                            -->  
  *  <!--  unsigned long wrt;                                           -->  
  *  <!--  int (*filter)(struct Instance *);                            -->  
141   *  Given a infix relation, a index into its variable list and a function   *  Given a infix relation, a index into its variable list and a function
142   *  filter used to classify REAL_ATOM_INSTANCES as variables,parmaters or   *  filter used to classify REAL_ATOM_INSTANCES as variables,parmaters or
143   *  constants (or for that matter whatever the user pleases), this function   *  constants (or for that matter whatever the user pleases), this function
# Line 172  extern RelationINF *RelDeriveSloppy(Rela Line 165  extern RelationINF *RelDeriveSloppy(Rela
165   *  Shutdown.   *  Shutdown.
166   */   */
167    
168  #endif /* __EXPRSYM_H_SEEN__ */  #endif /* ASC_EXPRSYM_H */
169    

Legend:
Removed from v.202  
changed lines
  Added in v.203

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22