u14.c File Reference

#include <stdlib.h>
#include "memory.h"
#include "nmd.h"

Include dependency graph for u14.c:

Go to the source code of this file.

Functions

int main (int argc, char **argv)


Function Documentation

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().

00006                                {
00007   NMD_metadata nmd,nmd2; NMDErrorCode ierr; 
00008   int i=5; double r=6.7;
00009   PetscFunctionBegin;
00010   PetscInitialize(&argc,&argv,0,0);
00011 
00012   ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr);
00013   ierr = NMDCreateObject(&nmd2); NMD_ERR_RETURN(ierr);
00014 
00015   i = 1.12;
00016   ierr = NMDSetValue(nmd,"cat1","cmp1",NMDInt,&i); NMD_ERR_RETURN(ierr);
00017   i = 2.81;
00018   ierr = NMDSetValue(nmd,"cat1","cmp2",NMDInt,&i); NMD_ERR_RETURN(ierr);
00019   r = 3.14;
00020   ierr = NMDSetValue(nmd,"cat1","cmp3",NMDReal,&r); NMD_ERR_RETURN(ierr);
00021   r = 5.21;
00022   ierr = NMDSetValue(nmd,"cat1","cmp4",NMDReal,&r); NMD_ERR_RETURN(ierr);
00023 
00024   ierr = NMDCloneObject(nmd,nmd2); NMD_ERR_RETURN(ierr);
00025   {
00026     char *s1,*s2;
00027     /* report the original object */
00028     ierr = NMDReportObject(nmd,NMDFalse,&s1,&s2,'\n',NULL,NULL); NMD_ERR_RETURN(ierr);
00029     printf("keys:\n%s\nvalues:\n%s\n",s1,s2);
00030     NMD_FREE(s1);
00031     NMD_FREE(s2);
00032     /* report the clone */
00033     ierr = NMDReportObject(nmd2,NMDFalse,&s1,&s2,'\n',NULL,NULL); NMD_ERR_RETURN(ierr);
00034     printf("keys:\n%s\nvalues:\n%s\n",s1,s2);
00035     NMD_FREE(s1);
00036     NMD_FREE(s2);
00037   }
00038 
00039   ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00040   ierr = NMDDestroyObject(nmd2); NMD_ERR_RETURN(ierr);
00041 
00042   PetscFinalize();
00043   PetscFunctionReturn(0);
00044 }

Here is the call graph for this function:


Generated on Sun Oct 4 03:59:30 2009 for NMD by  doxygen 1.5.9