您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ H5Dget_space函数代码示例

51自学网 2021-06-01 21:20:02
  C++
这篇教程C++ H5Dget_space函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中H5Dget_space函数的典型用法代码示例。如果您正苦于以下问题:C++ H5Dget_space函数的具体用法?C++ H5Dget_space怎么用?C++ H5Dget_space使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了H5Dget_space函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: H5VLARRAYmodify_records

herr_t H5VLARRAYmodify_records( hid_t dataset_id,                                hid_t type_id,                                hsize_t nrow,                                int nobjects,                                const void *data ){    hid_t    space_id;    hid_t    mem_space_id;    hsize_t  start[1];    hsize_t  dims_new[1] = {1};    /* Only a record on each update */    hvl_t    wdata;   /* Information to write */    /* Initialize VL data to write */    wdata.p=(void *)data;    wdata.len=nobjects;    /* Create a simple memory data space */    if ( (mem_space_id = H5Screate_simple( 1, dims_new, NULL )) < 0 )        return -1;    /* Get the file data space */    if ( (space_id = H5Dget_space( dataset_id )) < 0 )        return -1;    /* Define a hyperslab in the dataset */    start[0] = nrow;    if ( H5Sselect_hyperslab( space_id, H5S_SELECT_SET, start, NULL, dims_new, NULL) < 0 )        goto out;    if ( H5Dwrite( dataset_id, type_id, mem_space_id, space_id, H5P_DEFAULT, &wdata ) < 0 )        goto out;    /* Terminate access to the dataspace */    if ( H5Sclose( space_id ) < 0 )        goto out;    if ( H5Sclose( mem_space_id ) < 0 )        goto out;    return 1;out:    return -1;}
开发者ID:r0k3,项目名称:PyTables,代码行数:46,


示例2: H5Sclose

int H5mdfile::H5_Dextend(int argc, char **argv, Tcl_Interp *interp){    /* Extend dataset to higher dimensions */    H5Sclose(dataspace_id);    for(int i=0;i<dataset_rank;i++)    {     if(atoi(argv[3+i])>(int)dims[i])     {         dims[i]=atoi(argv[3+i])-dimstotal[i];     }     dimstotal[i] = atoi(argv[3+i]);    }    status = H5Dset_extent(dataset_id, dimstotal);    dataspace_id = H5Dget_space(dataset_id);    return TCL_OK;}
开发者ID:Clemson-MSE,项目名称:espresso,代码行数:17,


示例3: main

int main (int argc, char ** argv) {    char        filename [256];    int         rank, size, i, j;    uint64_t start[2], count[2], bytes_read = 0;    int ndims, nsf;    hid_t file;    hid_t dataset;    hid_t filespace;    hid_t memspace;    int data_out[size];    struct timeval t1;    gettimeofday (&t1, NULL);        file = H5Fopen("write_test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);        dataset = H5Dopen(file, "index");        filespace = H5Dget_space(dataset);    /* Get filespace handle first. */        ndims     = H5Sget_simple_extent_ndims(filespace);        hsize_t dims[ndims];        herr_t status_n  = H5Sget_simple_extent_dims(filespace, dims, NULL);/*    printf("dataset(temperature) rank %d, dimensions %lux%lu/n",               ndims, (unsigned long)(dims[0]), (unsigned long)(dims[1]));*/    /*     * Define the memory space to read dataset.     */        memspace = H5Screate_simple(ndims,dims,NULL);        double data[dims[0]];    /*     * Read dataset back and display.     */        herr_t status = H5Dread(dataset, H5T_NATIVE_DOUBLE, memspace, filespace,                         H5P_DEFAULT, data);    struct timeval t2;    gettimeofday (&t2, NULL);    printf ("read time = %f/n", t2.tv_sec + t2.tv_usec/1000000.0 - t1.tv_sec - t1.tv_usec/1000000.0);     return 0;}
开发者ID:qliu21,项目名称:read-aio,代码行数:45,


示例4: freeStringMatrix

int freeStringMatrix(int _iDatasetId, char** _pstData){    herr_t status;    hid_t typeId;    hid_t space;    if (_iDatasetId == -1)    {        return 0;    }    typeId = H5Tcopy(H5T_C_S1);    status = H5Tset_size(typeId, H5T_VARIABLE);    if (status < 0)    {        return -1;    }    space = H5Dget_space (_iDatasetId);    status = H5Dvlen_reclaim (typeId, space, H5P_DEFAULT, _pstData);    if (status < 0)    {        return -1;    }    status = H5Sclose(space);    if (status < 0)    {        return -1;    }    status = H5Tclose(typeId);    if (status < 0)    {        return -1;    }    status = H5Dclose(_iDatasetId);    if (status < 0)    {        return -1;    }    return 0;}
开发者ID:ScilabOrg,项目名称:scilab,代码行数:45,


示例5: H5Fopen

void FWSingle::readInLong(int step, string IDstring, vector<long>& data_out){  int RANK=1;  hid_t       dataset;  hid_t       filespace;  hid_t       memspace;  hid_t       cparms;  hsize_t     dims[1];                     /* dataset and chunk dimensions*/  hsize_t     chunk_dims[1];  herr_t      status, status_n;  int         rank, rank_chunk;  hsize_t hi, hj;  c_file = H5Fopen(fname.str().c_str(),H5F_ACC_RDONLY,H5P_DEFAULT);  stringstream gname("");  gname<<"Block_"<< step;  hid_t d_file = H5Gopen(c_file,gname.str().c_str());  dataset = H5Dopen(d_file, IDstring.c_str());  filespace = H5Dget_space(dataset);  rank = H5Sget_simple_extent_ndims(filespace);  status_n  = H5Sget_simple_extent_dims(filespace, dims, NULL);  //     if (verbose>1) printf("dataset ",IDstring.c_str(),"rank %d, dimensions %lu x %lu/n", rank, (unsigned long)(dims[0]), (unsigned long)(dims[1]));  data_out.resize(dims[0]);  cparms = H5Dget_create_plist(dataset);  if (H5D_CHUNKED == H5Pget_layout(cparms))  {    rank_chunk = H5Pget_chunk(cparms, 2, chunk_dims);    //       if (verbose>1) printf("chunk rank %d, dimensions %lu /n", rank_chunk, (unsigned long)(chunk_dims[0]) );  }  memspace = H5Screate_simple(RANK,dims,NULL);  status = H5Dread(dataset, H5T_NATIVE_LONG, memspace, filespace, H5P_DEFAULT, &(data_out[0]));  //     if(verbose>2)  //     {  //       printf("/n");  //       app_log()<<IDstring.c_str()<<" Dataset: /n"<<endl;  //       for (int j = 0; j < dims[0]; j++) app_log()<<data_out[j]<<" ";  //       app_log()<<endl;  //     }  H5Pclose(cparms);  H5Dclose(dataset);  H5Sclose(filespace);  H5Sclose(memspace);  H5Gclose(d_file);  H5Fclose(c_file);}
开发者ID:jyamu,项目名称:qmc,代码行数:44,


示例6: gridReaderHDF5_readIntoPatchForVar

extern voidgridReaderHDF5_readIntoPatchForVar(gridReader_t reader,                                   gridPatch_t  patch,                                   int          idxOfVar){	assert(reader != NULL);	assert(reader->type = GRIDIO_TYPE_HDF5);	assert(patch != NULL);	assert(idxOfVar >= 0 && idxOfVar < gridPatch_getNumVars(patch));	hid_t             dataSet;	hid_t             dataSpaceFile, dataTypeFile;	hid_t             dataSpacePatch, dataTypePatch;	gridPointUint32_t idxLoPatch, dimsPatch;	dataVar_t         var   = gridPatch_getVarHandle(patch, idxOfVar);	void              *data = gridPatch_getVarDataHandle(patch, idxOfVar);	gridPatch_getIdxLo(patch, idxLoPatch);	gridPatch_getDims(patch, dimsPatch);	dataSet        = H5Dopen(((gridReaderHDF5_t)reader)->file,	                         dataVar_getName(var), H5P_DEFAULT);	dataTypeFile   = H5Dget_type(dataSet);	dataSpaceFile  = H5Dget_space(dataSet);	dataTypePatch  = dataVar_getHDF5Datatype(var);	dataSpacePatch = gridUtilHDF5_getDataSpaceFromDims(dimsPatch);	gridUtilHDF5_selectHyperslab(dataSpaceFile, idxLoPatch, dimsPatch);	if (H5Tequal(dataTypeFile, dataTypePatch)) {		H5Dread(dataSet, dataTypeFile, dataSpacePatch,		        dataSpaceFile, H5P_DEFAULT, data);	} else {		fprintf(stderr, "ERROR: Datatype in memory differs from file./n");		diediedie(EXIT_FAILURE);	}	H5Sclose(dataSpacePatch);	H5Tclose(dataTypePatch);	H5Sclose(dataSpaceFile);	H5Tclose(dataTypeFile);	H5Dclose(dataSet);} /* gridReaderHDF5_readIntoPatchForVar */
开发者ID:satlank,项目名称:ginnungagap,代码行数:44,


示例7: H5TBOread_records

herr_t H5TBOread_records( hid_t dataset_id,                          hid_t mem_type_id,                          hsize_t start,                          hsize_t nrecords,                          void *data ){ hid_t    space_id; hid_t    mem_space_id; hsize_t  count[1]; hsize_t  offset[1]; /* Get the dataspace handle */ if ( (space_id = H5Dget_space( dataset_id )) < 0 )  goto out; /* Define a hyperslab in the dataset of the size of the records */ offset[0] = start; count[0]  = nrecords; if ( H5Sselect_hyperslab(space_id, H5S_SELECT_SET, offset, NULL, count, NULL) < 0 )  goto out; /* Create a memory dataspace handle */ if ( (mem_space_id = H5Screate_simple( 1, count, NULL )) < 0 )  goto out; if ( H5Dread(dataset_id, mem_type_id, mem_space_id, space_id, H5P_DEFAULT, data ) < 0 )  goto out; /* Terminate access to the memory dataspace */ if ( H5Sclose( mem_space_id ) < 0 )  goto out; /* Terminate access to the dataspace */ if ( H5Sclose( space_id ) < 0 )  goto out;return 0;out: return -1;}
开发者ID:tomkooij,项目名称:PyTables,代码行数:43,


示例8: fh5d_open_

void fh5d_open_(char *dname, int *hdferr){extern hid_t fileid;herr_t herr;dsetid = H5Dopen(fileid, dname);//printf("fh5d_open: %d/n",dsetid);if (dsetid < 0) { *hdferr = dsetid; return;}dspcid = H5Dget_space(dsetid);//printf("fh5d_get_space: %d/n",dspcid);*hdferr = dspcid;return;}
开发者ID:abudnick,项目名称:TigerED,代码行数:19,


示例9: get_data

	// Extract information from HDF5 file	void get_data(std::string data_path, std::string dataset_name, std::vector<double> &data_out){		//  Declare variables 		const char *fname = data_path.c_str();		hid_t  file_id , dataset_id , dataspace_id , file_dataspace_id;		hsize_t* dims;		hssize_t  num_elem;		int rank;		int ndims;		// Open  existing  HDF5  file 		file_id = H5Fopen(fname , H5F_ACC_RDONLY , H5P_DEFAULT);		// Open  existing  dataset		dataset_id = H5Dopen(file_id , dataset_name.c_str(), H5P_DEFAULT);		//  Determine  dataset  parameters		file_dataspace_id = H5Dget_space(dataset_id);		rank = H5Sget_simple_extent_ndims(file_dataspace_id);		dims = (hsize_t*)  malloc(rank *sizeof(hsize_t));		ndims = H5Sget_simple_extent_dims(file_dataspace_id, dims, NULL);		//std::cout << "rank: " << std::to_string(rank) << std::endl;		// Allocate  matrix		num_elem = H5Sget_simple_extent_npoints(file_dataspace_id);		std::vector<double> data_out_tmp(num_elem);		// = (double*)malloc(num_elem *sizeof(double));		//std::cout << "num_elem: " << std::to_string(num_elem) << std::endl;		// Create  dataspace		dataspace_id = H5Screate_simple(rank , dims , NULL);		// Read  matrix  data  from  file 		H5Dread(dataset_id, H5T_NATIVE_DOUBLE, dataspace_id, file_dataspace_id , H5P_DEFAULT , &data_out_tmp[0]);		data_out = data_out_tmp;				//  Release  resources  and  close  file 		H5Dclose(dataset_id);		H5Sclose(dataspace_id);		H5Sclose(file_dataspace_id);		H5Fclose(file_id);		free(dims);	}
开发者ID:TusharGupta01,项目名称:CellNet,代码行数:44,


示例10: get_rank_by_name

/* *  utility function to get dimensionality of a dataset */int get_rank_by_name(hid_t group_id, char *name){  if (!checkfordataset(group_id,name)) { return 0; }  herr_t HDF5_error = -1;#if H5_VERSION_GE(1,8,0)  hid_t dataset_id   = H5Dopen2(group_id,name,H5P_DEFAULT);#else  hid_t dataset_id   = H5Dopen(group_id,name);#endif  if (dataset_id == HDF5_error)      { printf("ERROR opening %s data set /n",name); return 0; }  hid_t dataspace_id = H5Dget_space(dataset_id);  int rank           = get_rank(dataspace_id);  H5Dclose(dataset_id);  return rank;}
开发者ID:amoose136,项目名称:splash,代码行数:22,


示例11: hdf5_object

hdf5_dataspace::hdf5_dataspace(hdf5_dataset const& dataset)    :      hdf5_object(H5Dget_space(dataset.get_id())){    if(dataset.get_id() < 0) {        boost::serialization::throw_exception(            hdf5_archive_exception(                hdf5_archive_exception::hdf5_archive_dataset_access_error            )        );    }    if(get_id() < 0) {        boost::serialization::throw_exception(            hdf5_archive_exception(                hdf5_archive_exception::hdf5_archive_dataspace_access_error            )        );    }}
开发者ID:bingzhang00,项目名称:serialization,代码行数:19,


示例12: H5ARRAYget_info

herr_t H5ARRAYget_info( hid_t dataset_id,			hid_t type_id,			hsize_t *dims,			hsize_t *maxdims,			H5T_class_t *class_id,			char *byteorder){  hid_t       space_id;  /* Get the class. */  *class_id = H5Tget_class( type_id );  /* Get the dataspace handle */  if ( (space_id = H5Dget_space( dataset_id )) < 0 )    goto out;  /* Get dimensions */  if ( H5Sget_simple_extent_dims( space_id, dims, maxdims) < 0 )    goto out;  /* Terminate access to the dataspace */  if ( H5Sclose( space_id ) < 0 )    goto out;  /* Get the byteorder */  /* Only integer, float, time, enumerate and array classes can be     byteordered */  if ((*class_id == H5T_INTEGER) || (*class_id == H5T_FLOAT)      || (*class_id == H5T_BITFIELD) || (*class_id == H5T_COMPOUND)      || (*class_id == H5T_TIME) || (*class_id == H5T_ENUM)      || (*class_id == H5T_ARRAY)) {    get_order(type_id, byteorder);  }  else {    strcpy(byteorder, "irrelevant");  }  return 0;out: return -1;}
开发者ID:87,项目名称:PyTables,代码行数:43,


示例13: ASDF_write_partial_waveform

herr_t ASDF_write_partial_waveform(hid_t data_id, const float *waveform,                                   int offset, int nsamples) {  hid_t space_id, slab_id;  CHK_H5(space_id = H5Dget_space(data_id));  hsize_t start[1] = {offset};  hsize_t count[1] = {1};  hsize_t block[1] = {nsamples};  CHK_H5(H5Sselect_hyperslab(space_id, H5S_SELECT_SET, start,                             NULL, count, block));  CHK_H5(slab_id = H5Screate_simple(1, block, NULL));  CHK_H5(H5Dwrite(data_id, H5T_IEEE_F32LE, slab_id, space_id,                  H5P_DEFAULT, waveform));  CHK_H5(H5Sclose(slab_id));  CHK_H5(H5Sclose(space_id));  return 0; // Success}
开发者ID:QuLogic,项目名称:asdf-library,代码行数:19,


示例14: cow_domain_readsize

void cow_domain_readsize(cow_domain *d, char *fname, char *dname){#if (COW_HDF5)  if (_io_check_file_exists(fname)) return;  hid_t file = H5Fopen(fname, H5F_ACC_RDONLY, d->fapl);  hid_t dset = H5Dopen(file, dname, H5P_DEFAULT);  hid_t fspc = H5Dget_space(dset);  hsize_t dims[3] = { 1, 1, 1 };  int ndims = H5Sget_simple_extent_dims(fspc, dims, NULL);  H5Dclose(dset);  H5Fclose(file);  cow_domain_setndim(d, ndims);  for (int n=0; n<ndims; ++n) {    cow_domain_setsize(d, n, dims[n]);  }  printf("[%s] inferred global domain size of (%lld %lld %lld) from %s/%s/n",	 MODULE, dims[0], dims[1], dims[2], fname, dname);#endif}
开发者ID:darien0,项目名称:cow,代码行数:19,


示例15: h5_read

 void h5_read(group g, std::string const& name, std::string& value) {  dataset ds = g.open_dataset(name);  h5::dataspace d_space = H5Dget_space(ds);  int rank = H5Sget_simple_extent_ndims(d_space);  if (rank != 0) TRIQS_RUNTIME_ERROR << "Reading a string and got rank !=0";  size_t size = H5Dget_storage_size(ds);  datatype strdatatype = H5Tcopy(H5T_C_S1);  H5Tset_size(strdatatype, size);  //auto status = H5Tset_size(strdatatype, size);  // auto status = H5Tset_size (strdatatype, H5T_VARIABLE);  std::vector<char> buf(size + 1, 0x00);  auto err = H5Dread(ds, strdatatype, H5S_ALL, H5S_ALL, H5P_DEFAULT, &buf[0]);  if (err < 0) TRIQS_RUNTIME_ERROR << "Error reading the string named" << name << " in the group" << g.name();  value = "";  value.append(&(buf.front())); }
开发者ID:JaksaVucicevic,项目名称:triqs,代码行数:19,


示例16: H5TBOwrite_elements

herr_t H5TBOwrite_elements( hid_t dataset_id,                            hid_t mem_type_id,                            hsize_t nrecords,                            const void *coords,                            const void *data ){ hsize_t  count[1]; hid_t    space_id; hid_t    mem_space_id; /* Get the dataspace handle */ if ( (space_id = H5Dget_space( dataset_id )) < 0 )  goto out; /* Define a selection of points in the dataset */ if ( H5Sselect_elements(space_id, H5S_SELECT_SET, (size_t)nrecords, (const hsize_t *)coords) < 0 )  goto out; /* Create a memory dataspace handle */ count[0] = nrecords; if ( (mem_space_id = H5Screate_simple( 1, count, NULL )) < 0 )  goto out; if ( H5Dwrite( dataset_id, mem_type_id, mem_space_id, space_id, H5P_DEFAULT, data ) < 0 )  goto out; /* Terminate access to the memory dataspace */ if ( H5Sclose( mem_space_id ) < 0 )  goto out; /* Terminate access to the dataspace */ if ( H5Sclose( space_id ) < 0 )  goto out;return 0;out: return -1;}
开发者ID:tomkooij,项目名称:PyTables,代码行数:42,


示例17: H5Dget_space

/** * Write hyperslab. *  * @param [in] HDF5_Dataset_id - Dataset id * @param [in] Position - Position in the dataset * @param [in] Size - Size of the hyperslab * @param [in] Data * @throw ios::failure */void THDF5_File::WriteHyperSlab(const hid_t HDF5_Dataset_id, const TDimensionSizes & Position , const TDimensionSizes & Size, const long * Data){                 // Select hyperslab    const int MatrixRank = 3;        hsize_t ElementCount[MatrixRank] = {Size.Z, Size.Y, Size.X};        hsize_t Offset[MatrixRank] = {Position.Z,Position.Y,Position.X};        herr_t status;    hid_t  HDF5_Filespace,HDF5_Memspace;        // Select hyperslab in the file.         HDF5_Filespace = H5Dget_space(HDF5_Dataset_id);              status = H5Sselect_hyperslab(HDF5_Filespace, H5S_SELECT_SET, Offset, 0, ElementCount, NULL);    if (status < 0) {        char ErrorMessage[256];        sprintf(ErrorMessage,HDF5_ERR_FMT_CouldNotWriteTo,"");                throw ios::failure(ErrorMessage);     }             // assign memspace    HDF5_Memspace = H5Screate_simple(MatrixRank, ElementCount, NULL);         status = H5Dwrite(HDF5_Dataset_id, H5T_STD_U64LE, HDF5_Memspace, HDF5_Filespace,  H5P_DEFAULT, Data);     if (status < 0) {        char ErrorMessage[256];        sprintf(ErrorMessage,HDF5_ERR_FMT_CouldNotWriteTo,"");                throw ios::failure(ErrorMessage);     }         H5Sclose(HDF5_Memspace);    H5Sclose(HDF5_Filespace);              }// end of WriteHyperSlab
开发者ID:nhjun,项目名称:AO-KWave-MCBoost,代码行数:51,


示例18: H5Dopen

bool PWParameterSet::getEigVectorType(hid_t h){  int rank=0;  if(is_manager())  {    ostringstream oss;    oss << "/"<<eigTag << "/"<<twistTag<<twistIndex << "/"<< bandTag << 0;    //if(version[1]==10)    if(hasSpin)      oss << "/" << spinTag << 0;    oss << "/eigenvector";    hsize_t dimTot[4];    hid_t dataset = H5Dopen(h,oss.str().c_str());    hid_t dataspace = H5Dget_space(dataset);    rank = H5Sget_simple_extent_ndims(dataspace);    int status_n = H5Sget_simple_extent_dims(dataspace, dimTot, NULL);  }  myComm->bcast(rank);  return rank==4;}
开发者ID:digideskio,项目名称:qmcpack,代码行数:20,


示例19: writeAtmos_p

/* ------- begin --------------------------   writeAtmos_p.c --- */void writeAtmos_p(void){  /* Write atmos arrays. This has now been modified and writes the interpolated     arrays, from depth_refine. With that, now this is the only viable option     to write the atmos data, as there is no option to save in memory and     writeAtmos_all used to write from the input file, not the interpolated     quantities     IMPORTANT: at the moment this is a trimmed version, only writing z to save                space and computational time.     */  const char routineName[] = "writeAtmos_p";  hsize_t  offset[] = {0, 0, 0, 0};  hsize_t  count[] = {1, 1, 1, 1};  hsize_t  dims[4];  hid_t    file_dspace, mem_dspace;  /* Memory dataspace */  dims[0] = atmos.Nspace;  if (( mem_dspace = H5Screate_simple(1, dims, NULL) ) < 0)    HERR(routineName);  /* File dataspace */  offset[0] = mpi.ix;  offset[1] = mpi.iy;  offset[2] = mpi.zcut;  count[2] = atmos.Nspace;  if (( file_dspace = H5Dget_space(io.in_atmos_T) ) < 0) HERR(routineName);  if (( H5Sselect_hyperslab(file_dspace, H5S_SELECT_SET, offset,                            NULL, count, NULL) ) < 0) HERR(routineName);  if (( H5Dwrite(io.in_atmos_T, H5T_NATIVE_DOUBLE, mem_dspace,                file_dspace, H5P_DEFAULT, atmos.T) ) < 0) HERR(routineName);  if (( H5Dwrite(io.in_atmos_vz, H5T_NATIVE_DOUBLE, mem_dspace,           file_dspace, H5P_DEFAULT, geometry.vel) ) < 0) HERR(routineName);  if (( H5Dwrite(io.in_atmos_z, H5T_NATIVE_DOUBLE, mem_dspace,        file_dspace, H5P_DEFAULT, geometry.height) ) < 0) HERR(routineName);  /* release dataspace resources */  if (( H5Sclose(mem_dspace) ) < 0) HERR(routineName);  if (( H5Sclose(file_dspace) ) < 0) HERR(routineName);  return;}
开发者ID:kouui,项目名称:rh,代码行数:42,


示例20: check_dset

/*------------------------------------------------------------------------- * Function:  check_dset * * Purpose:  Part 2 of a two-part H5Fflush() test, checks if the data in a dataset *     is what it is supposed to be. * * Return:  Success:  0 * *    Failure:  1 * * Programmer:  Leon Arber *              Oct. 4, 2006. * *------------------------------------------------------------------------- */static intcheck_dset(hid_t file, const char* name){    hid_t  space, dset;    hsize_t  ds_size[2] = {100, 100};    double  error;    size_t  i, j;    /* Open the dataset */    if((dset = H5Dopen2(file, name, H5P_DEFAULT)) < 0) goto error;    if((space = H5Dget_space(dset)) < 0) goto error;    if(H5Sget_simple_extent_dims(space, ds_size, NULL) < 0) goto error;    assert(100 == ds_size[0] && 100 == ds_size[1]);    /* Read some data */    if(H5Dread(dset, H5T_NATIVE_DOUBLE, space, space, H5P_DEFAULT, the_data) < 0)        goto error;    for(i = 0; i < (size_t)ds_size[0]; i++)        for(j = 0; j < (size_t)ds_size[1]; j++) {            /*             * The extra cast in the following statement is a bug workaround             * for the Win32 version 5.0 compiler.             * 1998-11-06 ptl             */            error = fabs(the_data[i][j] - (double)(hssize_t)i / ((hssize_t)j + 1));            if(error > 0.0001F) {                H5_FAILED();                printf("    dset[%lu][%lu] = %g/n",                    (unsigned long)i, (unsigned long)j, the_data[i][j]);                printf("    should be %g/n",                    (double)(hssize_t)i/(hssize_t)(j+1));                goto error;            } /* end if */        } /* end for */    if(H5Dclose(dset) < 0)        goto error;    return 0;error:    return 1;}
开发者ID:CommonLibrary,项目名称:hdf5,代码行数:56,


示例21: loadHdf5Init

/* Load and read file with initial positions and velocites */int loadHdf5Init(char *filename, std::vector<array6> &init){    hid_t   hdf_file,hdf_group,hdf_data,hdf_dspace;    herr_t  status;    //state_type x(6);    array6 x;    fprintf(stdout,"Reading file %s .../n",filename);    hdf_file = H5Fopen(filename,H5F_ACC_RDONLY,H5P_DEFAULT);    if (hdf_file < 0){        return -1;    }    if ( (hdf_group=H5Gopen2(hdf_file,"/",H5P_DEFAULT)) < 0){        H5Fclose(hdf_file);        return -1;    }    if ( (hdf_data=H5Dopen2(hdf_file,"/x",H5P_DEFAULT)) < 0){        H5Dclose(hdf_data);        return -1;    }    hdf_dspace = H5Dget_space(hdf_data);    hsize_t dims[2];    H5Sget_simple_extent_dims(hdf_dspace,dims,NULL);    std::cout << "No. of test particles read = " << dims[0] << "/n";    double *temp = new double[dims[0]*dims[1]];    status=H5Dread(hdf_data, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, temp);    for (int i=0; i<dims[0]; i++){        for (int j=0; j<dims[1]; j++){            x[j]=temp[i*dims[1]+j];        }        init.push_back(x);    }    delete [] temp;    H5Gclose(hdf_group);    H5Fclose(hdf_file);    H5Dclose(hdf_data);    fprintf(stdout," file read successfully!/n");    return 0;}
开发者ID:edjocute,项目名称:Orbit,代码行数:42,


示例22: saveParticleComp_Int

void saveParticleComp_Int(int *data,char *fileName,char *dataName,int totalCnt,int cnt,int offSet){  int i,j,k;  int myrank, nTasks;  MPI_Comm_rank(MPI_COMM_WORLD, &myrank);  MPI_Comm_size(MPI_COMM_WORLD, &nTasks);  hid_t file_id,dset_id,plist_id,tic_id;  herr_t status;  hid_t total_file_space,subfilespace,filespace,memspace,ticspace;  hsize_t dimsf[1],count[1],offset[1];  plist_id=H5Pcreate(H5P_FILE_ACCESS);  H5Pset_fapl_mpio(plist_id,MPI_COMM_WORLD,MPI_INFO_NULL);//    H5Pset_fclose_degree(plist_id,H5F_CLOSE_SEMI);//    MPI_Barrier(MPI_COMM_WORLD);  file_id=H5Fopen(fileName,H5F_ACC_RDWR,plist_id);  H5Pclose(plist_id);  dimsf[0]=totalCnt;  filespace=H5Screate_simple(1,dimsf,NULL);  count[0]=cnt;  offset[0]=offSet;  memspace=H5Screate_simple(1,count,NULL);  dset_id=H5Dcreate2(file_id,dataName,H5T_NATIVE_INT,filespace,H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT);  subfilespace=H5Dget_space(dset_id);  H5Sselect_hyperslab(subfilespace,H5S_SELECT_SET,offset,NULL,count,NULL);  plist_id=H5Pcreate(H5P_DATASET_XFER);  H5Pset_dxpl_mpio(plist_id,H5FD_MPIO_INDEPENDENT);  status = H5Dwrite(dset_id, H5T_NATIVE_INT,memspace,subfilespace,plist_id,data);  H5Pclose(plist_id);  H5Sclose(subfilespace);  H5Dclose(dset_id);  H5Sclose(memspace);  H5Sclose(filespace);  H5Fclose(file_id);}
开发者ID:scienter,项目名称:JoPIC,代码行数:41,


示例23: extendDataSet

asynStatus NDFileHDF5AttributeDataset::writeAttributeDataset(hdf5::When_t whenToSave, hsize_t *offsets, NDAttribute *ndAttr, int flush, int indexed){  asynStatus status = asynSuccess;  char * stackbuf[MAX_ATTRIBUTE_STRING_SIZE];  void* pDatavalue = stackbuf;  int ret;  //check if the attribute is meant to be saved at this time  if (whenToSave_ == whenToSave) {    // Extend the dataset as required to store the data    if (indexed == -1){      extendDataSet(offsets);    } else {      extendIndexDataSet(offsets[indexed]);    }    // find the data based on datatype    ret = ndAttr->getValue(ndAttr->getDataType(), pDatavalue, MAX_ATTRIBUTE_STRING_SIZE);    if (ret == ND_ERROR) {      memset(pDatavalue, 0, MAX_ATTRIBUTE_STRING_SIZE);    }    // Work with HDF5 library to select a suitable hyperslab (one element) and write the new data to it    H5Dset_extent(dataset_, dims_);    filespace_ = H5Dget_space(dataset_);    // Select the hyperslab    H5Sselect_hyperslab(filespace_, H5S_SELECT_SET, offset_, NULL, elementSize_, NULL);    // Write the data to the hyperslab.    H5Dwrite(dataset_, datatype_, memspace_, filespace_, H5P_DEFAULT, pDatavalue);    // Check if we are being asked to flush    if (flush == 1){      status = this->flushDataset();    }    H5Sclose(filespace_);    nextRecord_++;  }  return status;}
开发者ID:ukaea,项目名称:epics,代码行数:41,


示例24: ls2_hdf5_read_locbased

ls2_hdf5_read_locbased(const char *filename, ls2_output_variant variant,                       vector2 **anchors, size_t *no_anchors,                       float **results, uint16_t *width, uint16_t *height){    hid_t file, dataset, dataspace, memspace;    hsize_t dims[2];    int rank, ret;    file = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT);    // Read the anchors.    if (anchors != NULL && no_anchors != NULL) {        ret = ls2_hdf5_read_anchors(file, anchors, no_anchors);        if (ret < 0)            return ret;    }    // Read the errors.    char name[256];    snprintf(name, 256, "/Result/%s", ls2_hdf5_variant_name(variant));    dataset = H5Dopen2(file, name, H5P_DEFAULT);    dataspace = H5Dget_space(dataset);    rank = H5Sget_simple_extent_ndims(dataspace);    if (rank != 2) {        fprintf(stderr, "%s wrong rank %d/n", name, (int) rank);        return -1;    }    H5Sget_simple_extent_dims(dataspace, dims, NULL);    *width = (uint16_t) dims[1];    *height = (uint16_t) dims[0];    *results = (float *) calloc((size_t) (*height * *width), sizeof(float));    memspace = H5Screate_simple(2, dims, NULL);    H5Dread(dataset, H5T_NATIVE_FLOAT, memspace, dataspace, H5P_DEFAULT,            *results);    H5Dclose(dataset);    H5Sclose(dataspace);    H5Sclose(memspace);    H5Fclose(file);    return 0;}
开发者ID:madcowpp,项目名称:LS2,代码行数:41,


示例25: H5Dopen2

int H5mdfile::H5_Dopen2(int argc, char **argv, Tcl_Interp *interp){    /* Open an existing dataset */    dataset_id = H5Dopen2(file_id, argv[2], H5P_DEFAULT);    // Dataset properties    dataspace_id = H5Dget_space(dataset_id);    dataset_type_id = H5Dget_type(dataset_id);    datatype_size = H5Tget_size(dataset_type_id);    dataset_rank = H5Sget_simple_extent_dims(dataspace_id,dims,maxdims);    dataset_rank = H5Sget_simple_extent_dims(dataspace_id,dimstotal,maxdims);    prop_id = H5Dget_create_plist(dataset_id);    if (H5D_CHUNKED == H5Pget_layout(prop_id))        chunk_rank = H5Pget_chunk(prop_id, dataset_rank, chunk_dims);    // Dataset size    dset_data_size=1;    for(int i=0;i<dataset_rank;i++)    {        dset_data_size*=dims[i];    }    return TCL_OK;}
开发者ID:Clemson-MSE,项目名称:espresso,代码行数:21,


示例26: H5Dget_space

//hyperslab writevoid pHdf5IoDataModel::writeHyperslab(const QString& dataset_name, DataType type, quint64 *offset, quint64 *stride, quint64 *count, quint64 *block, quint64 *values_shape, void *values){    d->status=0;    hid_t dataset_id = d->datasetId(dataset_name);    //the selection within the file dataset's dataspace    hid_t file_dataspace = H5Dget_space(dataset_id);    if(H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, offset, stride, count, block)<0) {        dtkError() << "ERROR selecting hyperslab" << dataset_name;    }    //set the dimensions of values. memory dataspace and the selection within it    hid_t values_dataspace = H5Screate_simple(H5Sget_simple_extent_ndims(file_dataspace),                                              values_shape, NULL);    switch(type) {    case dtkIoDataModel::Int:        d->status = H5Dwrite(dataset_id, H5T_NATIVE_INT, values_dataspace,                             file_dataspace, d->prop_list_id, values);        break;    case dtkIoDataModel::LongLongInt:        d->status = H5Dwrite(dataset_id, H5T_NATIVE_LLONG, values_dataspace,                             file_dataspace, d->prop_list_id, values);        break;    case dtkIoDataModel::Double:        d->status = H5Dwrite(dataset_id, H5T_NATIVE_DOUBLE, values_dataspace,                             file_dataspace, d->prop_list_id, values);        break;    default:        dtkError() << "write method: Datatype not supported";    };    if(d->status<0) {        dtkError() << "error writing hyperslab" << dataset_name;    }    H5Sclose(file_dataspace);    H5Sclose(values_dataspace);}
开发者ID:d-tk,项目名称:dtk-plugins-io,代码行数:40,


示例27: hdf5_subarray

static unsigned hdf5_subarray(ndio_t file,nd_t dst,size_t *pos,size_t *step){ ndio_hdf5_t self=(ndio_hdf5_t)ndioContext(file);  hsize_t *pos_,*shape_,*step_;  hid_t m=-1,f=-1;  STACK_ALLOC(hsize_t,pos_,ndndim(dst));  STACK_ALLOC(hsize_t,shape_,ndndim(dst));  STACK_ALLOC(hsize_t,step_,ndndim(dst));  reverse_hsz_sz(ndndim(dst),shape_,ndshape(dst));  reverse_hsz_sz(ndndim(dst),pos_,pos);  reverse_hsz_sz(ndndim(dst),step_,step);  HTRY(f=H5Dget_space(dataset(self)));  HTRY(H5Sselect_hyperslab(f,H5S_SELECT_SET,pos_,step_,shape_,NULL/*block*/));  HTRY(m=H5Screate_simple(ndndim(dst),shape_,NULL));  HTRY(H5Dread(dataset(self),dtype(self),m,f,H5P_DEFAULT,nddata(dst)));  H5Sclose(f);  return 1;Error:  if(f>-1) H5Sclose(f);  if(m>-1) H5Sclose(m);  return 0;}
开发者ID:TeravoxelTwoPhotonTomography,项目名称:ndio-hdf5,代码行数:22,


示例28: cxi_open_dataset

CXI_Dataset * cxi_open_dataset(CXI_Dataset_Reference * ref){  cxi_debug("opening dataset");  if(!ref){    return NULL;  }  cxi_debug("opening dataset");  CXI_Dataset * dataset = calloc(sizeof(CXI_Dataset),1);  if(!dataset){    return NULL;  }  dataset->handle = H5Dopen(ref->parent_handle,ref->group_name,H5P_DEFAULT);  hid_t s = H5Dget_space(dataset->handle);  dataset->dimension_count = H5Sget_simple_extent_ndims(s);  dataset->dimensions = calloc(sizeof(hsize_t),dataset->dimension_count);  H5Sget_simple_extent_dims(s,dataset->dimensions,NULL);       dataset->data_type = H5Dget_type(dataset->handle);  ref->dataset = dataset;  return dataset;}
开发者ID:cxidb,项目名称:libcxi,代码行数:22,


示例29: cxi_write_dataset_slice

int cxi_write_dataset_slice(CXI_Dataset * dataset,unsigned int slice, void * data, hid_t datatype){  if(!dataset){    return -1;  }  if(!data){    return -1;  }  if(slice >= dataset->dimensions[0]){    return -1;  }  if(dataset->handle < 0){    return -1;  }  hid_t s = H5Dget_space(dataset->handle);  if(s < 0){    return -1;  }  hsize_t *start;  start = malloc(sizeof(hsize_t)*dataset->dimension_count);  hsize_t *count;  count = malloc(sizeof(hsize_t)*dataset->dimension_count);  for(int i =0;i<dataset->dimension_count;i++){    start[i] = 0;    count[i] = dataset->dimensions[i];  }  start[0] = slice;  count[0] = 1;  hid_t memspace = H5Screate_simple (dataset->dimension_count, count, NULL);    H5Sselect_hyperslab(s, H5S_SELECT_SET, start, NULL, count, NULL);  H5Dwrite(dataset->handle,datatype,memspace,s,H5P_DEFAULT,data);        H5Sclose(s);  free(start);  free(count);  return 0;}
开发者ID:cxidb,项目名称:libcxi,代码行数:39,


示例30: restoreData

void restoreData(float *data,char *fileName,char *dataName,int totalCnt,int cnt,int *cntOffSet){  hid_t file_id,dset_id,plist_id,group_id;  herr_t status;  hid_t subfilespace,filespace,memspace;  hsize_t dimsf[1],count[1],offset[1];  int myrank, nTasks;      MPI_Comm_rank(MPI_COMM_WORLD, &myrank);  MPI_Comm_size(MPI_COMM_WORLD, &nTasks);  plist_id=H5Pcreate(H5P_FILE_ACCESS);  H5Pset_fapl_mpio(plist_id,MPI_COMM_WORLD,MPI_INFO_NULL);//  H5Pset_fclose_degree(plist_id,H5F_CLOSE_SEMI);//  MPI_Barrier(MPI_COMM_WORLD);  file_id=H5Fopen(fileName,H5F_ACC_RDWR,plist_id);  H5Pclose(plist_id);  dimsf[0]=totalCnt;       filespace=H5Screate_simple(1,dimsf,NULL);  count[0]=cnt;  offset[0]=cntOffSet[myrank];  memspace=H5Screate_simple(1,count,NULL);  dset_id=H5Dopen2(file_id,dataName,H5P_DEFAULT);  subfilespace=H5Dget_space(dset_id);  H5Sselect_hyperslab(subfilespace,H5S_SELECT_SET,offset,NULL,count,NULL);  plist_id=H5Pcreate(H5P_DATASET_XFER);  H5Pset_dxpl_mpio(plist_id,H5FD_MPIO_COLLECTIVE);  status = H5Dread(dset_id, H5T_NATIVE_FLOAT,memspace,subfilespace,plist_id,data);  H5Pclose(plist_id);  H5Sclose(subfilespace);  H5Dclose(dset_id);  H5Sclose(memspace);  H5Sclose(filespace);  H5Fclose(file_id);}
开发者ID:scienter,项目名称:postprocess,代码行数:39,



注:本文中的H5Dget_space函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ H5Dget_type函数代码示例
C++ H5Dcreate2函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。