aboutsummaryrefslogtreecommitdiff
path: root/src/testllReader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/testllReader.cc')
-rw-r--r--src/testllReader.cc75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/testllReader.cc b/src/testllReader.cc
new file mode 100644
index 0000000..86258d1
--- /dev/null
+++ b/src/testllReader.cc
@@ -0,0 +1,75 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "IO.hh"
+#include "IEEEIO.hh"
+#include "Reader.hh"
+#include "Writer.hh"
+
+int main(int argc,char *argv[]){
+ float data[4*4*8];
+ double origin[3]={0,0,0};
+ double dx[3]={0.25,0.25,0.25};
+ int i;
+ int rank=3;
+ int dims[3]={4,4,8};
+ Reader *reader;
+ IObase *infile;
+ if(argc>1)
+ infile = new IEEEIO(argv[1],IObase::Read);
+ else
+ infile = new IEEEIO("data3d.raw",IObase::Read);
+ // reader = new Reader(*infile);
+ int ndatasets=infile->nDatasets();
+ printf("Number of datasets=%d\n",ndatasets);
+ for(i=0;i<ndatasets;i++){
+ int j;
+ float buffer[8*4*4];
+ for(j=0;j<8*4*4;j++) buffer[j]=0;
+ int rank,dims[3];
+ IObase::DataType datatype;
+
+ printf("Cycle %u\n",i);
+ infile->readInfo(datatype,rank,dims);
+ printf("Data info dt=%u,rank=%u,dims=%u,%u,%u\n",
+ (int)(datatype),rank,dims[0],dims[1],dims[2]);
+ infile->read(buffer);
+ for(j=0;j<8*4*4;j++)
+ printf("Data[%u]=%f\n",j,buffer[j]);
+ puts("***done printing data");
+ int nattribs=infile->nAttributes();
+ printf("Number of Attributes=%d\n",nattribs);
+ for(j=0;j<nattribs;j++){
+ char attribname[64];
+ Long length;
+ infile->readAttributeInfo(j,attribname,datatype,length);
+ printf("\tAttribute[%u] name=%s\n",j,attribname);
+ switch(datatype){
+ case IObase::Float32:{
+ //float buf[5];
+ puts("Float");
+ printf("length=%u\n",length);
+ } break;
+ case IObase::Float64:{
+ double buf[5];
+ puts("Double");
+ printf("length=%u\n",length);
+ infile->readAttribute(j,buf);
+ for(int k=0;k<length;k++)
+ printf("\tElement[%u]=%lf\n",k,buf[k]);
+ } break;
+ case IObase::Int32:{
+ //int buf[5];
+ puts("Integer");
+ printf("length=%u\n",length);
+ } break;
+ default:
+ puts("unknown type");
+ break;
+ }
+ }
+ }
+ //delete reader;
+ delete infile;
+ puts("done");
+ return 0;
+}