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