hhoeflin / hdf5r Goto Github PK
View Code? Open in Web Editor NEWThis project forked from novartis/hdf5r
License: Other
This project forked from novartis/hdf5r
License: Other
R CMD build .;docker run --cap-add SYS_PTRACE -v "$(pwd):/mnt" f023928cf1d8 /bin/bash -c "cd /mnt; Rdevel CMD check *.tar.gz;cat /mnt/hdf5r.Rcheck/00install.out"
convert.c:2324:58: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
if((ll_ptr[i] > MAX_INT_DOUBLE_PREC || ll_ptr[i] < MIN_INT_DOUBLE_PREC) && ll_ptr[i] != NA_INTEGER64 ) {
./convert.h:31:35: note: expanded from macro 'MIN_INT_DOUBLE_PREC'
#define MIN_INT_DOUBLE_PREC (-1LL << 53)
When accessing an array with
dset[, c(2,1)]
it results in an error. The underlying reason is that a hyperslab with a negative stride is internally requested, which is not supported by HDF5. The stride-length has to always be non-negative.
Fix windows build for the following use cases:
devtools::install_github(hhoeflin/hdf5r)
It can happen that a user wants to close all relevant open HDF5 IDs. A function to simplify this process is missing.
H5ls.c: In function ‘H5Dget_info’:
H5ls.c:78:73: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘hsize_t {aka long long unsigned int}’ [-Wformat=]
dims_char_written += sprintf(dataset_info->dims + dims_char_written, "%" PRIu64, dims[i]);
^
H5ls.c:88:84: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘hsize_t {aka long long unsigned int}’ [-Wformat=]
maxdims_char_written += sprintf(dataset_info->maxdims + maxdims_char_written, "%" PRIu64, maxdims[i]);
insert check before expand f <- function() dset2[10:11, 9] <- matrix(rep(0, 2*9), nrow = 2)
Currently in read and write operations, various R6 objects are being created. This R6 object creation takes a few milliseconds. On large read and writes, this isn't a problem. On small read/writes, the performance overhead is quite substantial.
Solution: Avoid the creation of R6 objects and do the necessary bookkeeping internally.
Copied from the h5 Makefile:
check-asan-gcc: $(PKG_NAME)_$(PKG_VERSION).tar.gz
@boot2docker up
$(shell boot2docker shellinit)
@docker run -v "$(CURRENT_DIR):/mnt" mannau/r-devel-san /bin/bash -c \
"cd /mnt; apt-get update; apt-get clean; apt-get install -y libhdf5-dev; \
R -e \"install.packages(c('Rcpp', 'testthat', 'roxygen2', 'highlight', 'zoo', 'microbenchmark'))\"; \
R CMD check $(PKG_NAME)_$(PKG_VERSION).tar.gz; \
cat /mnt/h5.Rcheck/00install.out"
check-valgrind: $(PKG_NAME)_$(PKG_VERSION).tar.gz
@rm -rf $(CHECKPATH)
$(R) CMD check --no-clean --use-valgrind $(PKG_NAME)_$(PKG_VERSION).tar.gz
Want functionality to see all open files and reuse R6 objects related to an open file
When accessing dimensions using a logical vector, it is not appropriately translated to a numeric vector
We should check the NOTE for Non-FOSS package license.
Is there a reason why the Apache license is used or could be also use BSD_2_clause + file LICENSE?
Windows test cases fail
Reading entire dataset using [] (instead of [,]) for 2-dimensional objects should also work, like in matrix(1:9, nrow = 3)[]
Use pkdown to create package documentation.
Reading and writing of data-frames has a bug when a reshuffle is needed
Long usage lines do not get broken at the end of the line appropriately
The readme could be more informative
At several places it is out of date or pointing to an incorrect repo
In R, the dimensions of each dataset are always written in reverse order (to accomodate the fact that In R the first dimension changes fastest, but in C and hdf5, the last dimension changes fastest).
When printing dataset dimensions using ls, the hdf5 ordering is written out, not the reverse order
On appveyor, a note is mentioned that R_RegisterRoutines is called.
Ensure that the note is removed.
Provide options to specify dimension (if maxdim is needed, should specify a space).
How to set up dataset with specified maximum dimensions, only using set_extent?
This should work without setting chunk size: dset1 <- createDataSet(file, "testmat_1", testmat_n, space = dspace)
Implement test cases DataSet-Select-Elem/DataSet-Select-Hyperslab needs refactoring of H5D$read functions (separate dataspace from read).
No Support for on-the-fly group creation / Recursive group creation ? e.g. file[["testgroup/testset"]] <- 1:10 without existing testgroup
Need to check that the built-in browser based help is working properly
Need to go through the manual and check for any issues.
Getting a warning message at the end of the check that 'cleanup' is deprecated
H5Class_overview
is currently not working since inst/manual/function_overview.html
is missing:
> H5Class_overview()
Error in browseURL(system.file("manual/function_overview.html", package = "hdf5r"), :
'url' must be a non-empty character string
We should either:
inst/manual/function_overview.html
H5Class_overview
and all references to itCurrently, the evaluate_arguments function that is a helper function for subset reading and assignment is relatively slow and should be improved
some common_functions seem to be assigned to some classes where they can't always give a result
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.