|
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);
}

1.7.6.1