NMD
|
Go to the source code of this file.
Functions | |
int | main (int argc, char **argv) |
int main | ( | int | argc, |
char ** | argv | ||
) |
Object cloning with scalars
Definition at line 6 of file u14.c.
References NMD_FREE, NMDCloneObject(), NMDCreateObject(), NMDDestroyObject(), NMDFalse, NMDInt, NMDReal, NMDReportObject(), and NMDSetValue().
{ NMD_metadata nmd,nmd2; NMDErrorCode ierr; int i=5; double r=6.7; PetscFunctionBegin; PetscInitialize(&argc,&argv,0,0); ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr); ierr = NMDCreateObject(&nmd2); NMD_ERR_RETURN(ierr); i = 1.12; ierr = NMDSetValue(nmd,"cat1","cmp1",NMDInt,&i); NMD_ERR_RETURN(ierr); i = 2.81; ierr = NMDSetValue(nmd,"cat1","cmp2",NMDInt,&i); NMD_ERR_RETURN(ierr); r = 3.14; ierr = NMDSetValue(nmd,"cat1","cmp3",NMDReal,&r); NMD_ERR_RETURN(ierr); r = 5.21; ierr = NMDSetValue(nmd,"cat1","cmp4",NMDReal,&r); NMD_ERR_RETURN(ierr); ierr = NMDCloneObject(nmd,nmd2); NMD_ERR_RETURN(ierr); { const char *s1,*s2; /* report the original object */ ierr = NMDReportObject(nmd,NMDFalse,&s1,&s2,'\n',0,0); NMD_ERR_RETURN(ierr); printf("keys:\n%s\nvalues:\n%s\n",s1,s2); NMD_FREE(s1); NMD_FREE(s2); /* report the clone */ ierr = NMDReportObject(nmd2,NMDFalse,&s1,&s2,'\n',0,0); NMD_ERR_RETURN(ierr); printf("keys:\n%s\nvalues:\n%s\n",s1,s2); NMD_FREE(s1); NMD_FREE(s2); } ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr); ierr = NMDDestroyObject(nmd2); NMD_ERR_RETURN(ierr); PetscFinalize(); PetscFunctionReturn(0); }