interfaces/CCGS.idl Source File

CCGS.idl
Go to the documentation of this file.
1 
8 #include "CellML_APISPEC.idl"
10 #include "MaLaES.idl"
11 
15 module cellml_services
16 {
17  interface CustomGenerator;
18 
20  {
26 
33 
43 
50 
59 
65 
72  };
73 
75  {
85 
94 
102 
108  };
109 
112  {
118 
124  readonly attribute unsigned long degree;
125 
129  readonly attribute VariableEvaluationType type;
130 
137  readonly attribute wstring name;
138 
143  readonly attribute unsigned long assignedIndex;
144  };
145 #pragma terminal-interface
146 
149  {
153  ComputationTarget nextComputationTarget();
154  };
155 #pragma terminal-interface
156 
157  interface CodeInformation
159  {
165  readonly attribute wstring errorMessage;
166 
173 
179  readonly attribute unsigned long algebraicIndexCount;
180 
186  readonly attribute unsigned long rateIndexCount;
187 
192  readonly attribute unsigned long constantIndexCount;
193 
232  readonly attribute wstring initConstsString;
233 
237  readonly attribute wstring ratesString;
238 
242  readonly attribute wstring variablesString;
243 
252  readonly attribute wstring functionsString;
253 
257  ComputationTargetIterator iterateTargets();
258 
265 
271  readonly attribute ComputationTarget missingInitial;
272  };
273 #pragma cross-module-argument
274 
275  interface CodeGenerator
277  {
283  attribute wstring constantPattern;
284 
290  attribute wstring stateVariableNamePattern;
291 
297  attribute wstring algebraicVariableNamePattern;
298 
304  attribute wstring rateNamePattern;
305 
311  attribute wstring voiPattern;
312 
322  attribute wstring sampleDensityFunctionPattern;
323 
335  attribute wstring sampleRealisationsPattern;
336 
342  attribute wstring boundVariableName;
343 
349  attribute unsigned long arrayOffset;
350 
359  attribute wstring assignPattern;
360 
369  attribute wstring assignConstantPattern;
370 
385  attribute wstring solvePattern;
386 
404  attribute wstring solveNLSystemPattern;
405 
412  attribute wstring temporaryVariablePattern;
413 
419  attribute wstring declareTemporaryPattern;
420 
429  attribute wstring conditionalAssignmentPattern;
430 
439 
449 
459 
465 
470  CodeInformation generateCode(in cellml_api::Model sourceModel);
471 
478  CustomGenerator createCustomGenerator(in cellml_api::Model sourceModel);
479 
495  attribute boolean allowPassthrough;
496  };
497 #pragma cross-module-argument
498 
501  {
512 
518  readonly attribute unsigned long indexCount;
519 
535  ComputationTargetIterator iterateTargets();
536 
541  readonly attribute wstring generatedCode;
542 
551  readonly attribute wstring functionsString;
552 };
553 
556 {
560  ComputationTargetIterator iterateTargets();
561 
567  void requestComputation(in ComputationTarget wanted) raises(cellml_api::CellMLException);
568 
575  void markAsKnown(in ComputationTarget known);
576 
583  void markAsUnwanted(in ComputationTarget unwanted);
584 
588  CustomCodeInformation generateCode();
589 };
590 
593  {
637  readonly attribute wstring essentialVariablesString;
638 
642  readonly attribute wstring stateInformationString;
643 
648  readonly attribute unsigned long conditionVariableCount;
649 
653  readonly attribute wstring rootInformationString;
654  };
655 #pragma terminal-interface
656 #pragma cross-module-argument
657 
659  : CodeGenerator
660  {
665  IDACodeInformation generateIDACode(in cellml_api::Model sourceModel);
666 
675  attribute wstring residualPattern;
676 
684 
692 
698  attribute wstring infDelayedRatePattern;
699 
705  attribute wstring infDelayedStatePattern;
706 
713  attribute boolean trackPiecewiseConditions;
714 
720  attribute wstring conditionVariablePattern;
721  };
722 #pragma terminal-interface
723 #pragma cross-module-argument
724 
727  {
728  CodeGenerator createCodeGenerator();
729  IDACodeGenerator createIDACodeGenerator();
730  };
731 #pragma terminal-interface
732 #pragma cross-module-argument
733 
734 };
Back to Top