/home/doxygen/libascend/compiler/extcall.h File Reference


Detailed Description

Hold-all structure for external relations and method calls as declared in an ASCEND model file. -- JP

The ExtCallNode structure points to an ExternalFunc structure and holds a list of instances which are tied to the arguments in the calling ASCEND statement. -- JP

It seems that we shouldn't be accessing this structure at solve-time: the ExtRelCache object contains a lot of pre-processed stuff that makes evaluating black box functions easier (probably glass box too?) -- JP

Complete documentation of compiler/extcall.h.

In the context of an ExtCallNode (at least in the case of black box relations) the 'subject' is the output variable for the particular relation within the black box. There is 'relation' created for each output variable, as required for the [eye(NxN), ones(NxM)] submatrix in the jacobian. -- JP

#include <utilities/ascConfig.h>
#include <utilities/ascMalloc.h>
#include <general/list.h>
#include <compiler/extfunc.h>
#include "compiler.h"
#include "instance_enum.h"

Include dependency graph for extcall.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ExtCallNode

Defines

#define ExternalCallExtFunc(ext)   ExternalCallExtFuncF(ext)
#define ExternalCallArgList(ext)   ExternalCallArgListF(ext)
#define ExternalCallVarIndex(ext)   ExternalCallVarIndexF(ext)
#define ExternalCallNodeStamp(ext)   ExternalCallNodeStampF(ext)

Functions

ExtCallNodeCreateExtCall (struct ExternalFunc *efunc, struct gl_list_t *args, struct Instance *subject, struct Instance *data)
void DestroyExtCall (struct ExtCallNode *ext, struct Instance *relinst)
InstanceGetSubjectInstance (struct gl_list_t *arglist, unsigned long varndx)
unsigned long GetSubjectIndex (struct gl_list_t *arglist, struct Instance *subject)
ASC_DLLSPEC unsigned long CountNumberOfArgs (struct gl_list_t *arglist, unsigned long start, unsigned long end)
gl_list_tLinearizeArgList (struct gl_list_t *arglist, unsigned long start, unsigned long end)
gl_list_tCopySpecialList (struct gl_list_t *list)
gl_list_tDeepCopySpecialList (struct gl_list_t *list, CopyFunc copy)
void DestroySpecialList (struct gl_list_t *list)
void DeepDestroySpecialList (struct gl_list_t *list, DestroyFunc dtor)
ExternalFunc * ExternalCallExtFuncF (struct ExtCallNode *ext)
gl_list_tExternalCallArgListF (struct ExtCallNode *ext)
InstanceExternalCallDataInstance (struct ExtCallNode *ext)
unsigned long ExternalCallVarIndexF (struct ExtCallNode *ext)
InstanceExternalCallVarInstance (struct ExtCallNode *ext)
int ExternalCallNodeStampF (struct ExtCallNode *ext)
void SetExternalCallNodeStamp (struct ExtCallNode *ext, int nodestamp)


Generated on Thu Jul 17 04:00:23 2008 for libascend by  doxygen 1.5.1