System Preprocessors
sysprotransform.h
Go to the documentation of this file.
00001 #ifndef TRANSFORM_H
00002 #define TRANSFORM_H
00003 
00004 #include "syspro.h"
00005 #include "petsc.h"
00006 
00007 extern PetscErrorCode NewTransform(const char*,SalsaTransform*);
00008 extern PetscErrorCode DeregisterTransform(SalsaTransform);
00009 extern PetscErrorCode TransformGetName(SalsaTransform,const char**);
00010 extern PetscErrorCode TransformGetByName(const char*,SalsaTransform*);
00011 
00012 extern PetscErrorCode NewTransformObject(const char*,const char*,SalsaTransformObject*);
00013 extern PetscErrorCode FreeTransformObject(SalsaTransformObject tf);
00014 extern PetscErrorCode TransformObjectGetByName
00015 (const char*,const char*,SalsaTransformObject*);
00016 extern PetscErrorCode TransformGetObjects(SalsaTransform,int*,SalsaTransformObject**);
00017 extern PetscErrorCode TransformObjectGetName(SalsaTransformObject,const char**);
00018 extern PetscErrorCode TransformObjectGetTransformName(SalsaTransformObject,char**);
00019 extern PetscErrorCode TransformObjectsGetNames(SalsaTransform,const char***);
00020 extern PetscErrorCode TransformObjectSetExplanation(SalsaTransformObject,const char*);
00021 extern PetscErrorCode TransformObjectSetSuitabilityFunction
00022 (SalsaTransformObject,void*,PetscErrorCode(*)(NumericalProblem,void*,SuitabilityValue*));
00023 extern PetscErrorCode SetSuitabilityContextTester(SalsaTransform,PetscErrorCode(*)(void*));
00024 extern PetscErrorCode TransformObjectGetSuitabilityFunction
00025 (SalsaTransformObject,void **,PetscErrorCode(**)(NumericalProblem,void*,SuitabilityValue*));
00026 extern PetscErrorCode TransformObjectAddOptionExplanation(SalsaTransformObject,int,const char*);
00027 
00028 extern PetscErrorCode TransformItemGetFirstOption(const char*,const char*,int*,PetscTruth*);
00029 extern PetscErrorCode TransformItemGetNextOption(const char*,const char*,int*,PetscTruth*);
00030 
00031 extern PetscErrorCode TransformReportTeXTable(SalsaTransform,FILE*);
00032 extern PetscErrorCode TransformReportEnabled(SalsaTransform,const char**);
00033 extern PetscErrorCode TransformItemDescribeShort(SalsaTransform,char*,int,char**);
00034 extern PetscErrorCode TransformItemDescribeLong(SalsaTransform,char*,int,char**);
00035 
00036 /*
00037  * Marking
00038  */
00039 extern PetscErrorCode TransformObjectMark(SalsaTransformObject tf);
00040 extern PetscErrorCode TransformObjectUnmark(SalsaTransformObject tf);
00041 extern PetscErrorCode TransformObjectsMarkAll(SalsaTransform tf);
00042 extern PetscErrorCode TransformObjectsUnmarkAll(SalsaTransform tf);
00043 extern PetscErrorCode TransformObjectGetMark(SalsaTransformObject,int*);
00044 extern PetscErrorCode TransformItemOptionMark(SalsaTransform,const char*,int);
00045 extern PetscErrorCode TransformGetNUnmarked(SalsaTransform,int*);
00046 extern PetscErrorCode TransformObjectsUseOnly(SalsaTransform,const char*);
00047 extern PetscErrorCode TransformItemOptionsUseOnly(SalsaTransformObject,const char*);
00048 extern PetscErrorCode TransformGetNItems(SalsaTransform,int *n);
00049 extern PetscErrorCode TransformGetNextUnmarkedItem
00050 (SalsaTransform,const char*,SalsaTransformObject*,PetscTruth*);
00051 extern PetscErrorCode PreprocessorSaveAprioriSelection(SystemPreprocessor);
00052 extern PetscErrorCode PreprocessorApplyAprioriSelection(SystemPreprocessor);
00053 
00054 /*
00055  * annotations
00056  */
00057 extern PetscErrorCode SysProDefineCharAnnotation(const char*,const char*);
00058 extern PetscErrorCode TransformCharAnnotationGetIndex(SalsaTransform,const char*,int*,PetscTruth*);
00059 extern PetscErrorCode TransformObjectCharAnnotate(SalsaTransformObject,const char*,const char*);
00060 extern PetscErrorCode TransformObjectIntAnnotate(SalsaTransformObject,const char*,int);
00061 extern PetscErrorCode TransformObjectGetIntAnnotation
00062 (SalsaTransformObject,const char*,int*,PetscTruth*);
00063 extern PetscErrorCode SysProDefineIntAnnotation(const char*,const char*);
00064 extern PetscErrorCode TransformIntAnnotationGetIndex
00065 (SalsaTransform,const char*,int*,PetscTruth*);
00066 extern PetscErrorCode TransformItemIntAnnotate(SalsaTransform,int,int);
00067 extern PetscErrorCode TransformItemGetIntAnnotation
00068 (SalsaTransform,int idx,char *an,int *v,PetscTruth *f);
00069 
00070 /*
00071  * options
00072  */
00073 extern PetscErrorCode TransformObjectDefineOption(SalsaTransformObject,const char*);
00074 extern PetscErrorCode TransformObjectAddOption(SalsaTransformObject,int);
00075 
00076 extern PetscErrorCode TransformItemCharAnnotationGetIndex(SalsaTransform,char*,int*);
00077 extern PetscErrorCode TransformItemGetCharAnnotation
00078 (SalsaTransform,int idx,char *an,char **v,PetscTruth*);
00079 
00080 
00081 extern PetscErrorCode TransformCurrentItemDefineOption(SalsaTransform,char*,char*);
00082 extern PetscErrorCode TransformItemDefineOption(SalsaTransform,int,char*,char*);
00083 extern PetscErrorCode TransformItemGetNOptions(SalsaTransform,int it,int *nopt);
00084 extern PetscErrorCode TransformItemGetOptionI(SalsaTransform,int it,int iopt,int *v);
00085 
00086 extern PetscErrorCode TransformSetUserChoices(SalsaTransform,PetscTruth);
00087 extern PetscErrorCode TransformGetUserChoices(SalsaTransform,PetscTruth*);
00088 extern PetscErrorCode SalsaTransformIntegrityTest(SalsaTransform tf);
00089 
00090 #endif