[adios] 01/04: upstream 1.9.0
Alastair McKinstry
mckinstry at moszumanska.debian.org
Tue Aug 18 15:58:33 UTC 2015
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository adios.
commit 59359428cdca9eb8994b6acec6623e94c8c0d7a7
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Fri Aug 14 08:17:47 2015 +0100
upstream 1.9.0
---
CMakeLists.txt | 69 +-
INSTALL | 4 +-
Makefile.am | 3 +-
Makefile.in | 11 +-
NEWS | 22 +
adios_config.flags.cmake | 39 +
cmake_init | 4 +-
config.h.cmake | 9 -
config.h.in | 9 -
config/ac_dataspaces.m4 | 6 +-
config/ac_fastbit.m4 | 2 +-
configure | 384 +-
configure.ac | 52 +-
examples/C/Makefile.in | 3 +
examples/C/arrays/CMakeLists.txt | 1 +
examples/C/arrays/Makefile.am | 2 +-
examples/C/arrays/Makefile.in | 7 +-
examples/C/attributes/CMakeLists.txt | 1 +
examples/C/attributes/Makefile.am | 2 +-
examples/C/attributes/Makefile.in | 7 +-
examples/C/attributes/attributes_read.c | 37 +-
examples/C/flexpath_arrays/Makefile.in | 3 +
.../global_range_select/CMakeLists.txt | 1 +
.../global_range_select/Makefile.am | 2 +-
.../global_range_select/Makefile.in | 7 +-
.../flexpath_arrays/process_select/CMakeLists.txt | 1 +
.../C/flexpath_arrays/process_select/Makefile.am | 2 +-
.../C/flexpath_arrays/process_select/Makefile.in | 7 +-
examples/C/global-array-time/CMakeLists.txt | 1 +
examples/C/global-array-time/Makefile.am | 2 +-
examples/C/global-array-time/Makefile.in | 7 +-
examples/C/global-array/CMakeLists.txt | 1 +
examples/C/global-array/Makefile.am | 2 +-
examples/C/global-array/Makefile.in | 7 +-
examples/C/global-array/adios_global.xml | 2 +-
examples/C/global-array/no_xml_write_byid.c | 24 +-
examples/C/icee_arrays/Makefile.in | 3 +
examples/C/icee_arrays/array/CMakeLists.txt | 1 +
examples/C/icee_arrays/array/Makefile.am | 2 +-
examples/C/icee_arrays/array/Makefile.in | 7 +-
examples/C/manual/CMakeLists.txt | 1 +
examples/C/manual/Makefile.am | 2 +-
examples/C/manual/Makefile.in | 7 +-
examples/C/query/CMakeLists.txt | 1 +
examples/C/query/Makefile.am | 2 +-
examples/C/query/Makefile.in | 7 +-
examples/C/read_all/CMakeLists.txt | 1 +
examples/C/read_all/Makefile.am | 2 +-
examples/C/read_all/Makefile.in | 7 +-
examples/C/scalars/CMakeLists.txt | 1 +
examples/C/scalars/Makefile.am | 2 +-
examples/C/scalars/Makefile.in | 7 +-
examples/C/schema/CMakeLists.txt | 1 +
examples/C/schema/Makefile.am | 2 +-
examples/C/schema/Makefile.in | 7 +-
examples/C/stat/CMakeLists.txt | 1 +
examples/C/stat/Makefile.am | 2 +-
examples/C/stat/Makefile.in | 7 +-
examples/C/transforms/CMakeLists.txt | 1 +
examples/C/transforms/Makefile.am | 2 +-
examples/C/transforms/Makefile.in | 8 +-
examples/Fortran/Makefile.in | 3 +
examples/Fortran/arrays/CMakeLists.txt | 2 +-
examples/Fortran/arrays/Makefile.am | 2 +-
examples/Fortran/arrays/Makefile.in | 6 +-
examples/Fortran/global-array-time/CMakeLists.txt | 2 +-
examples/Fortran/global-array-time/Makefile.am | 2 +-
examples/Fortran/global-array-time/Makefile.in | 6 +-
examples/Fortran/global-array/CMakeLists.txt | 2 +-
examples/Fortran/global-array/Makefile.am | 2 +-
examples/Fortran/global-array/Makefile.in | 6 +-
.../Fortran/global-array/no_xml_write_byid.F90 | 21 +
examples/Fortran/scalars/CMakeLists.txt | 2 +-
examples/Fortran/scalars/Makefile.am | 2 +-
examples/Fortran/scalars/Makefile.in | 6 +-
examples/Fortran/schema/CMakeLists.txt | 2 +-
examples/Fortran/schema/Makefile.am | 2 +-
examples/Fortran/schema/Makefile.in | 6 +-
examples/Makefile.in | 3 +
examples/coupling/coupling_reader_2D.F90 | 4 +-
examples/coupling/coupling_writer_2D.F90 | 4 +-
examples/staging/stage_write/genarray_stream.F90 | 4 +-
.../stage_write_varyingsize/decompose_block.o | Bin 0 -> 9968 bytes
.../stage_write_varyingsize/genarray_varying | Bin 0 -> 5254828 bytes
.../stage_write_varyingsize/genarray_varying.F90 | 4 +-
.../stage_write_varyingsize/genarray_varying.o | Bin 0 -> 92096 bytes
.../genarray_varying_comm.mod | 122 +
.../staging/stage_write_varyingsize/stage_write | Bin 0 -> 4501675 bytes
.../staging/stage_write_varyingsize/stage_write.o | Bin 0 -> 55448 bytes
examples/staging/stage_write_varyingsize/utils.o | Bin 0 -> 23680 bytes
runconf | 68 +-
src/CMakeLists.txt | 5 +-
src/Makefile.am | 38 +-
src/Makefile.in | 1207 +-
src/core/adios.c | 19 +-
src/core/adios_bp_v1.c | 248 +-
src/core/adios_bp_v1.h | 17 +-
src/core/adios_internals.c | 520 +-
src/core/adios_internals.h | 33 +-
src/core/adios_internals_mxml.c | 165 +-
src/core/adios_logger.h | 8 +
src/core/adios_read.c | 10 +
src/core/adios_read_hooks.c | 15 +-
src/core/adios_transport_hooks.c | 17 +-
src/core/adios_transport_hooks.h | 4 +-
src/core/adiosf.c | 110 +-
src/core/adiosf_defs_mod.f90 | 2 +
src/core/adiosf_write_mod.f90 | 290 +-
src/core/bp_types.h | 13 +-
src/core/bp_utils.c | 238 +-
src/core/bp_utils.h | 7 +-
src/core/common_adios.c | 213 +-
src/core/common_adios.h | 5 +-
src/core/common_read.c | 214 +-
src/core/common_read.h | 3 +
src/core/transforms/adios_transforms_common.c | 4 +-
src/core/transforms/adios_transforms_write.c | 21 +-
src/core/util.c | 38 +
src/core/util.h | 6 +
src/public/adios.h | 16 +-
src/public/adios_link.h | 28 +
src/public/adios_read_ext.h | 94 +-
src/public/adios_read_v1.h | 1 +
src/public/adios_read_v2.h | 53 +-
src/public/adios_schema.h | 18 +-
src/public/adios_selection.h | 25 +-
src/public/adios_types.h | 4 +
src/public/adios_version.h | 41 +
src/public/adios_version.h.in | 41 +
src/query/common_query.c | 46 +-
src/query/fastbit_adios.c | 295 +-
src/query/fastbit_adios.h | 29 +-
src/query/query_alac.c | 83 +-
src/query/query_fastbit.c | 2234 +-
src/query/query_utils.c | 7 +
src/query/query_utils.h | 3 +-
src/read/read_bp.c | 84 +-
src/read/read_bp_staged.c | 6 +-
src/read/read_dataspaces.c | 2 +
src/read/read_dimes.c | 2 +
src/read/read_flexpath.c | 642 +-
src/read/read_icee.c | 3 +-
src/transforms/adios_transform_alacrity_write.c | 4 +-
src/transforms/adios_transform_aplod_write.c | 4 +-
src/transforms/adios_transform_bzip2_write.c | 4 +-
src/transforms/adios_transform_isobar_write.c | 4 +-
src/transforms/adios_transform_szip_write.c | 4 +-
src/transforms/adios_transform_template_write.c | 4 +-
src/transforms/adios_transform_zlib_write.c | 4 +-
src/write/adios_dataspaces.c | 10 +-
src/write/adios_datatap.c | 2 +-
src/write/adios_dimes.c | 10 +-
src/write/adios_flexpath.c | 345 +-
src/write/adios_icee.c | 4 +-
src/write/adios_mpi.c | 40 +-
src/write/adios_mpi_amr.c | 458 +-
src/write/adios_mpi_bgq.c | 155 +-
src/write/adios_mpi_lustre.c | 61 +-
src/write/adios_nc4.c | 26 +-
src/write/adios_nssi.c | 2 +-
src/write/adios_phdf5.c | 26 +-
src/write/adios_posix.c | 110 +-
src/write/adios_posix1.c | 27 +-
src/write/adios_var_merge.c | 34 +-
tests/C/CMakeLists.txt | 1 +
tests/C/Makefile.am | 2 +-
tests/C/Makefile.in | 7 +-
tests/C/fgr_tests/CMakeLists.txt | 1 +
tests/C/fgr_tests/Makefile.am | 2 +-
tests/C/fgr_tests/Makefile.in | 7 +-
.../C/flexpath_tests/1D_arr_global/CMakeLists.txt | 1 +
tests/C/flexpath_tests/1D_arr_global/Makefile.am | 2 +-
tests/C/flexpath_tests/1D_arr_global/Makefile.in | 8 +-
.../1D_arr_global_noxml/CMakeLists.txt | 1 +
.../flexpath_tests/1D_arr_global_noxml/Makefile.am | 2 +-
.../flexpath_tests/1D_arr_global_noxml/Makefile.in | 8 +-
tests/C/flexpath_tests/Makefile.in | 3 +
.../global_range_select/CMakeLists.txt | 1 +
.../flexpath_tests/global_range_select/Makefile.am | 2 +-
.../flexpath_tests/global_range_select/Makefile.in | 8 +-
tests/C/flexpath_tests/maya_append/CMakeLists.txt | 1 +
tests/C/flexpath_tests/maya_append/Makefile.am | 2 +-
tests/C/flexpath_tests/maya_append/Makefile.in | 8 +-
tests/C/flexpath_tests/maya_noxml/CMakeLists.txt | 1 +
tests/C/flexpath_tests/maya_noxml/Makefile.am | 2 +-
tests/C/flexpath_tests/maya_noxml/Makefile.in | 8 +-
tests/C/flexpath_tests/scalar/CMakeLists.txt | 1 +
tests/C/flexpath_tests/scalar/Makefile.am | 2 +-
tests/C/flexpath_tests/scalar/Makefile.in | 8 +-
tests/C/query/Makefile.in | 3 +
tests/C/query/alacrity/CMakeLists.txt | 1 +
tests/C/query/alacrity/Makefile.am | 2 +-
tests/C/query/alacrity/Makefile.in | 6 +-
tests/C/query/common/CMakeLists.txt | 1 +
tests/C/query/common/Makefile.am | 2 +-
tests/C/query/common/Makefile.in | 6 +-
tests/C/query/fastbit/CMakeLists.txt | 1 +
tests/C/query/fastbit/Makefile.am | 4 +-
tests/C/query/fastbit/Makefile.in | 8 +-
tests/C/query/fastbit/fastbit_tests.c | 262 +-
tests/Fortran/CMakeLists.txt | 2 +-
tests/Fortran/Makefile.am | 2 +-
tests/Fortran/Makefile.in | 6 +-
tests/Makefile.in | 3 +
tests/bp_read/CMakeLists.txt | 2 +-
tests/bp_read/Makefile.am | 2 +-
tests/bp_read/Makefile.in | 7 +-
tests/bp_read/bp_read_f.F90 | 4 +-
tests/bp_read/bp_read_f_v1.F90 | 4 +-
tests/genarray/CMakeLists.txt | 2 +-
tests/genarray/Makefile.am | 2 +-
tests/genarray/Makefile.in | 6 +-
tests/genarray/copyarray.F90 | 4 +-
tests/genarray/copyarray2D.F90 | 4 +-
tests/genarray/genarray.F90 | 4 +-
tests/genarray/genarray2D.F90 | 4 +-
tests/suite/Makefile.in | 3 +
tests/suite/programs/CMakeLists.txt | 1 +
tests/suite/programs/Makefile.am | 10 +-
tests/suite/programs/Makefile.in | 226 +-
tests/suite/programs/adios_transforms.xml | 2 +-
tests/suite/programs/adios_transforms_read_write.c | 3 +-
tests/suite/programs/big_file.c | 8 +-
tests/suite/programs/blocks.c | 4 +-
tests/suite/programs/build_standard_dataset.c | 3 +-
tests/suite/programs/connect_to_space_subset.c | 2 +-
tests/suite/programs/examples/Makefile.am | 1 +
.../suite/programs/examples}/Makefile.in | 12 +-
.../programs/examples/attributes/CMakeLists.txt | 34 +
.../suite/programs/examples/attributes/Makefile.am | 27 +
.../programs/examples}/attributes/Makefile.in | 88 +-
.../programs/examples/attributes/attributes_C.xml | 34 +
.../examples/attributes/attributes_read_C.c | 46 +-
.../examples/attributes/attributes_write_C.c | 53 +
.../programs/examples/global_array/CMakeLists.txt | 64 +
.../programs/examples/global_array/Makefile.am | 83 +
.../programs/examples/global_array}/Makefile.in | 339 +-
.../examples/global_array/global_array_C.xml | 1 -
.../examples/global_array/global_array_F.xml | 21 +
.../global_array_aggregate_by_color_C.c | 72 +-
.../examples/global_array/global_array_read_C.c | 90 +
.../global_array/global_array_read_byid_noxml_C.c | 103 +
.../global_array/global_array_read_noxml_C.c | 102 +
.../examples/global_array/global_array_write_C.c | 52 +
.../examples/global_array/global_array_write_F.F90 | 50 +
.../global_array/global_array_write_byid_noxml_C.c | 30 +-
.../global_array_write_byid_noxml_F.F90 | 23 +-
.../global_array/global_array_write_noxml_C.c | 65 +-
.../global_array/global_array_write_noxml_F.F90 | 74 +-
.../examples/global_array_time/CMakeLists.txt | 47 +
.../examples/global_array_time/Makefile.am | 52 +
.../examples/global_array_time}/Makefile.in | 208 +-
.../global_array_time/global_array_time_C.xml | 27 +
.../global_array_time/global_array_time_F.xml | 31 +
.../global_array_time_read_as_file_C.c | 105 +
.../global_array_time_read_as_stream_C.c | 123 +
.../global_array_time/global_array_time_write_C.c | 58 +
.../global_array_time_write_F.F90 | 70 +
.../programs/examples/local_array/CMakeLists.txt | 33 +
.../programs/examples/local_array/Makefile.am | 24 +
.../programs/examples/local_array}/Makefile.in | 89 +-
.../examples/local_array/local_array_C.xml | 16 +
.../examples/local_array/local_array_read_C.c | 84 +
.../examples/local_array/local_array_write_C.c | 52 +
.../suite/programs/examples/scalars/CMakeLists.txt | 45 +
tests/suite/programs/examples/scalars/Makefile.am | 52 +
.../suite/programs/examples/scalars}/Makefile.in | 197 +-
.../suite/programs/examples/scalars/scalars_C.xml | 29 +
.../suite/programs/examples/scalars/scalars_F.xml | 30 +
.../programs/examples/scalars/scalars_read_C.c | 111 +
.../programs/examples/scalars/scalars_read_F.F90 | 102 +
.../programs/examples/scalars/scalars_write_C.c | 82 +
.../programs/examples/scalars/scalars_write_F.F90 | 62 +
tests/suite/programs/hashtest.c | 4 +-
tests/suite/programs/many_vars.c | 27 +-
tests/suite/programs/path_test.c | 2 +-
tests/suite/programs/reuse_dim.c | 2 +-
tests/suite/programs/selections.c | 2 +-
tests/suite/programs/set_path.c | 2 +-
tests/suite/programs/set_path_var.c | 2 +-
tests/suite/programs/transforms_writeblock_read.c | 1 +
tests/suite/programs/two_groups.c | 8 +-
tests/suite/programs/write_alternate.c | 4 +-
tests/suite/reference/attributes_bpls.txt | 16 +-
tests/suite/reference/attributes_read.txt | 12 +-
tests/suite/reference/global_array_bpls.txt | 22 +-
tests/suite/reference/global_array_no_xml_bpls.txt | 430 +-
.../suite/reference/global_array_no_xml_f_bpls.txt | 38 +-
tests/suite/reference/global_array_time_bpls.txt | 12 +-
...read.txt => global_array_time_read_as_file.txt} | 0
.../reference/global_array_time_read_as_stream.txt | 153 +
.../{arrays_bpls.txt => local_array_C_bpls.txt} | 10 +-
.../{arrays_read.txt => local_array_C_read.txt} | 0
tests/suite/reference/no_xml_write_byid_bpls.txt | 432 +-
tests/suite/reference/no_xml_write_byid_f_bpls.txt | 40 +-
tests/suite/reference/scalars_write_bpls.txt | 24 +-
.../suite/reference/transforms_read_write_bpls.txt | 22 +-
tests/suite/test.sh | 13 +-
tests/suite/tests/01_scalars.sh | 36 +-
tests/suite/tests/02_attributes.sh | 29 +-
tests/suite/tests/03_arrays.sh | 40 +-
tests/suite/tests/04_global_array.sh | 51 +-
tests/suite/tests/05_global_array_time.sh | 77 +-
tests/suite/tests/07_global_array_no_xml.sh | 52 +-
tests/suite/tests/08_amr_write_read.sh | 4 +
tests/suite/tests/09_amr_write_read_2vars.sh | 3 +
tests/suite/tests/13_write_byid.sh | 50 +-
tests/suite/tests/16_transform_write_read.sh | 2 +-
tests/suite/tests/18_aggregation_by_color.sh | 14 +-
tests/suite/tests/19_query.sh | 2 +-
toolchain/cray/README.md | 2 +
utils/CMakeLists.txt | 2 +
utils/Makefile.am | 2 +-
utils/Makefile.in | 8 +-
utils/adios_lint/CMakeLists.txt | 2 +-
utils/adios_lint/Makefile.am | 2 +-
utils/adios_lint/Makefile.in | 6 +-
utils/bp2ascii/CMakeLists.txt | 2 +-
utils/bp2ascii/Makefile.am | 2 +-
utils/bp2ascii/Makefile.in | 6 +-
utils/bp2ascii/bp2ascii.c | 2 +-
utils/bp2bp/CMakeLists.txt | 1 +
utils/bp2bp/Makefile.am | 2 +-
utils/bp2bp/Makefile.in | 7 +-
utils/bp2h5/CMakeLists.txt | 1 +
utils/bp2h5/Makefile.am | 2 +-
utils/bp2h5/Makefile.in | 7 +-
utils/bp2ncd/CMakeLists.txt | 2 +-
utils/bp2ncd/Makefile.am | 2 +-
utils/bp2ncd/Makefile.in | 6 +-
utils/bp2ncd/bp2ncd.c | 8 +-
utils/bpdiff/CMakeLists.txt | 1 +
utils/bpdiff/Makefile.am | 2 +-
utils/bpdiff/Makefile.in | 7 +-
utils/bpdump/CMakeLists.txt | 2 +-
utils/bpdump/Makefile.am | 2 +-
utils/bpdump/Makefile.in | 6 +-
utils/bpdump/bpdump.c | 74 +-
utils/bpls/CMakeLists.txt | 1 +
utils/bpls/Makefile.am | 2 +-
utils/bpls/Makefile.in | 7 +-
utils/bpls/bpls.c | 70 +-
utils/bpmeta/CMakeLists.txt | 2 +-
utils/bpmeta/Makefile.am | 2 +-
utils/bpmeta/Makefile.in | 6 +-
utils/bpmeta/bpmeta.c | 11 +-
utils/bprecover/CMakeLists.txt | 12 +
utils/bprecover/Makefile.am | 17 +
utils/{bpmeta => bprecover}/Makefile.in | 53 +-
utils/{bpdump/bpdump.c => bprecover/bprecover.c} | 890 +-
utils/bpsplit/CMakeLists.txt | 2 +-
utils/bpsplit/Makefile.am | 2 +-
utils/bpsplit/Makefile.in | 6 +-
utils/bpsplit/bpappend.c | 4 +-
utils/bpsplit/bpgettime.c | 2 +-
utils/bpsplit/bpsplit.c | 2 +-
utils/fastbit/CMakeLists.txt | 2 +-
utils/fastbit/Makefile.am | 2 +-
utils/fastbit/Makefile.in | 7 +-
utils/fastbit/adios_index_fastbit.c | 538 +-
utils/gpp/Makefile.in | 3 +
utils/list_methods/CMakeLists.txt | 2 +-
utils/list_methods/Makefile.am | 2 +-
utils/list_methods/Makefile.in | 6 +-
utils/skel/Makefile.in | 3 +
utils/skel/etc/Makefile.in | 3 +
utils/skel/src/Makefile.in | 3 +
utils/skeldump/CMakeLists.txt | 2 +-
utils/skeldump/Makefile.am | 2 +-
utils/skeldump/Makefile.in | 6 +-
wrappers/matlab/adiosload.m | 33 +
wrappers/matlab/posix_method.bp | Bin 0 -> 1257 bytes
.../matlab/posix_method.bp.dir/posix_method.bp.0 | Bin 0 -> 10373 bytes
wrappers/matlab/two_groups19.bp | 1 +
wrappers/matlab/xgc.diagnosis.bp | 1 +
wrappers/numpy/MANIFEST.in | 2 +
wrappers/numpy/README | 85 +
wrappers/numpy/adios.cpp | 25255 +++++++++++++-----
wrappers/numpy/adios.pyx | 1013 +-
wrappers/numpy/adios_mpi.cpp | 25257 ++++++++++++++-----
wrappers/numpy/adios_mpi.pyx | 1013 +-
wrappers/numpy/conf/__init__.py | 0
wrappers/numpy/conf/mpiconfig.py | 363 +
wrappers/numpy/conf/mpidistutils.py | 1534 ++
wrappers/numpy/conf/mpiregexes.py | 75 +
wrappers/numpy/conf/mpiscanner.py | 342 +
wrappers/numpy/doc/Makefile | 192 +
wrappers/numpy/doc/source/build.rst | 55 +
wrappers/numpy/doc/source/conf.py | 290 +
wrappers/numpy/doc/source/index.rst | 28 +
wrappers/numpy/doc/source/quick.rst | 143 +
wrappers/numpy/doc/source/ref.rst | 32 +
wrappers/numpy/example/staging/README | 2 +-
wrappers/numpy/example/staging/adios_read.py | 2 +-
wrappers/numpy/example/staging/adios_write.py | 5 +-
wrappers/numpy/setup.cfg | 2 +
wrappers/numpy/setup.py | 44 +-
wrappers/numpy/setup_mpi.py | 107 +-
wrappers/numpy/test/common.py | 20 +
.../numpy/test/test_adios_timestep_unittest.py | 110 +
wrappers/numpy/test/test_adios_unittest.py | 110 +
wrappers/numpy/test/test_adios_write_unittest.py | 54 +
wrappers/numpy/test/test_adios_writer_unittest.py | 124 +
wrappers/numpy/tests/test_adios.py | 7 +-
.../tests/{test_adios.py => test_adios_matplot.py} | 5 +
wrappers/numpy/tests/test_adios_mpi.py | 9 +-
wrappers/numpy/tests/test_adios_mpi_writer.py | 51 +
wrappers/numpy/tests/test_adios_timestep.py | 2 +-
wrappers/numpy/tests/test_adios_writer.py | 43 +
409 files changed, 55561 insertions(+), 17901 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cccfb32..ccc42e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1372,6 +1372,11 @@ set(VERSION_SVNREV 2007)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${PROJECT_BINARY_DIR}/config.h)
################################ end of generating config.h ###############################
+#####################start processing src/public/adios_version.h.in #####################
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/src/public/adios_version.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/src/public/adios_version.h @ONLY)
+#####################end of processing src/public/adios_version.h #####################
+
################################ start of Fortran processing ##############################
if(BUILD_FORTRAN)
enable_language(Fortran)
@@ -1394,22 +1399,22 @@ find_library(M_LIBS libm.a)
# EXTRA flags are used for compiling adios stuff, which need not go into adios_config for user codes
set(ADIOSLIB_EXTRA_CPPFLAGS "${MACRODEFFLAG}_FILE_OFFSET_BITS=64 ${MACRODEFFLAG}_LARGEFILE_SOURCE ${MACRODEFFLAG}_LARGEFILE64_SOURCE ${MACRODEFFLAG}_GNU_SOURCE")
#message("${ADIOSLIB_EXTRA_CPPFLAGS}")
-set(ADIOSLIB_LDADD ${M_LIBS} ${MXML_LIBS})
+set(ADIOSLIB_LDADD ${MXML_LIBS})
set(ADIOSLIB_CFLAGS "")
set(ADIOSLIB_CPPFLAGS "${MXML_CPPFLAGS}")
#message("ADIOSLIB_CPPFLAGS is ${ADIOSLIB_CPPFLAGS}")
set(ADIOSLIB_SEQ_CPPFLAGS "${MACRODEFFLAG}_NOMPI ${MXML_CPPFLAGS}")
set(ADIOSLIB_SEQ_CFLAGS "")
-set(ADIOSLIB_SEQ_LDADD ${M_LIBS} ${MXML_LIBS})
+set(ADIOSLIB_SEQ_LDADD ${MXML_LIBS})
set(ADIOSLIB_INT_CPPFLAGS "${MACRODEFFLAG}_NOMPI ${MXML_CPPFLAGS}")
set(ADIOSLIB_INT_CFLAGS "")
-set(ADIOSLIB_INT_LDADD ${M_LIBS} ${MXML_LIBS})
+set(ADIOSLIB_INT_LDADD ${MXML_LIBS})
set(ADIOSREADLIB_CPPFLAGS "")
set(ADIOSREADLIB_CFLAGS "")
-set(ADIOSREADLIB_LDADD ${M_LIBS})
+set(ADIOSREADLIB_LDADD "")
set(ADIOSREADLIB_SEQ_CPPFLAGS "${MACRODEFFLAG}_NOMPI")
set(ADIOSREADLIB_SEQ_CFLAGS "")
-set(ADIOSREADLIB_SEQ_LDADD ${M_LIBS})
+set(ADIOSREADLIB_SEQ_LDADD "")
if(NOT NO_DATATAP)
set(ADIOSLIB_CPPFLAGS "${ADIOSLIB_CPPFLAGS} ${DT_CPPFLAGS}")
@@ -1774,7 +1779,11 @@ if(HAVE_NCSU_TIMER)
set(ADIOSREADLIB_SEQ_LDADD ${ADIOSREADLIB_SEQ_LDADD} ${TIMER_LIBS})
endif()
-#set(NSSI_SERVER_LIBS "")
+set(ADIOSLIB_LDADD ${ADIOSLIB_LDADD} ${M_LIBS})
+set(ADIOSLIB_SEQ_LDADD ${ADIOSLIB_SEQ_LDADD} ${M_LIBS})
+set(ADIOSLIB_INT_LDADD ${ADIOSLIB_INT_LDADD} ${M_LIBS})
+set(ADIOSREADLIB_LDADD ${ADIOSREADLIB_LDADD} ${M_LIBS})
+set(ADIOSREADLIB_SEQ_LDADD ${ADIOSREADLIB_SEQ_LDADD} ${M_LIBS})
############################### srart of top CMakeLists.txt ###############################
#install(PROGRAMS adios_config DESTINATION ${bindir})
@@ -1789,57 +1798,23 @@ endif()
#add_definitions(-DO_LARGEFILE=0)
add_subdirectory(src)
-#set(ADIOS_LIB ${PROJECT_BINARY_DIR}/src/libadios.a)
-#set(ADIOS_LIB adios)
-#set(ADIOS_INTERNAL_NOMPI_LIB ${PROJECT_BINARY_DIR}/src/libadios_internal_nompi.a)
-#set(ADIOS_INTERNAL_NOMPI_LIB adios_internal_nompi)
-#set(ADIOSREAD_NOMPI_LIB ${PROJECT_BINARY_DIR}/src/libadiosread_nompi.a)
-#set(ADIOSREAD_NOMPI_LIB adiosread_nompi)
-#if(BUILD_FORTRAN)
-# set(ADIOSREAD_LIB ${PROJECT_BINARY_DIR}/src/libadiosreadf.a)
-# set(ADIOSREAD_LIB adiosreadf)
-# set(ADIOSREAD_V1_LIB ${PROJECT_BINARY_DIR}/src/libadiosreadf_v1.a)
-# set(ADIOSREAD_V1_LIB adiosreadf_v1)
-#else()
-# set(ADIOSREAD_LIB ${PROJECT_BINARY_DIR}/src/libadiosread.a)
-# set(ADIOSREAD_LIB adiosread)
-#endif()
get_property(_LANGUAGES_ GLOBAL PROPERTY ENABLED_LANGUAGES)
message(STATUS "${_LANGUAGES_}")
-#message("ADIOSLIB_CPPFLAGS is ${ADIOSLIB_CPPFLAGS}")
-#message("ADIOSLIB_CFLAGS is ${ADIOSLIB_CFLAGS}")
-#message("ADIOSLIB_LDADD is ${ADIOSLIB_LDADD}")
#####################start processing adios_config.flags.in #####################
set(ADIOS_DIR "${CMAKE_INSTALL_PREFIX}")
-set(ADIOS_INC "-I${ADIOS_DIR}/include ${ADIOSLIB_CPPFLAGS} ${ADIOSLIB_CFLAGS}")
-set(ADIOS_CLIB "-L${ADIOS_DIR}/lib -ladios ${ADIOSLIB_LDADD} ${LIBS}")
-set(ADIOS_FLIB "-L${ADIOS_DIR}/lib -ladiosf ${ADIOSLIB_LDADD} ${LIBS}")
-
-# Flags to build code using ADIOS read API only
-set(ADIOSREAD_INC "-I${ADIOS_DIR}/include ${ADIOSREADLIB_CPPFLAGS} ${ADIOSREADLIB_CFLAGS}")
-set(ADIOSREAD_CLIB "-L${ADIOS_DIR}/lib -ladiosread ${ADIOSREADLIB_LDADD}")
-set(ADIOSREAD_FLIB "-L${ADIOS_DIR}/lib -ladiosreadf ${ADIOSREADLIB_LDADD}")
-
-# Flags to build code using ADIOS read API only in a sequential code (no MPI)
-set(ADIOSREAD_SEQ_INC "-I${ADIOS_DIR}/include ${ADIOSREADLIB_SEQ_CPPFLAGS} ${ADIOSREADLIB_SEQ_CFLAGS}")
-set(ADIOSREAD_SEQ_CLIB "-L${ADIOS_DIR}/lib -ladiosread_nompi ${ADIOSREADLIB_SEQ_LDADD}")
-set(ADIOSREAD_SEQ_FLIB "-L${ADIOS_DIR}/lib -ladiosreadf_nompi ${ADIOSREADLIB_SEQ_LDADD}")
-
-#Flags to build code using ADIOS write API in a sequential code (no MPI)
-set(ADIOS_SEQ_INC "-I${ADIOS_DIR}/include ${ADIOSLIB_SEQ_CPPFLAGS} ${ADIOSLIB_SEQ_CFLAGS}")
-set(ADIOS_SEQ_CLIB "-L${ADIOS_DIR}/lib -ladios_nompi ${ADIOSLIB_SEQ_LDADD} ${LIBS}")
-
-#The following flags are not used. It is only for internal utilities of ADIOS,using libadios_internal_nompi.a
-set(ADIOS_INT_INC "-I${ADIOS_DIR}/include ${ADIOSLIB_INT_CPPFLAGS} ${ADIOSLIB_INT_CFLAGS}")
-set(ADIOS_INT_CLIB "-L${ADIOS_DIR}/lib -ladios_internal_nompi ${ADIOSLIB_INT_LDADD} ${LIBS}")
+string(REGEX REPLACE ";" " " ADIOSLIB_LDADD_M "${ADIOSLIB_LDADD}")
+string(REGEX REPLACE ";" " " ADIOSREADLIB_LDADD_M "${ADIOSREADLIB_LDADD}")
+string(REGEX REPLACE ";" " " ADIOSREADLIB_SEQ_LDADD_M "${ADIOSREADLIB_SEQ_LDADD}")
+string(REGEX REPLACE ";" " " ADIOSLIB_SEQ_LDADD_M "${ADIOSLIB_SEQ_LDADD}")
+string(REGEX REPLACE ";" " " ADIOSLIB_INT_LDADD_M "${ADIOSLIB_INT_LDADD}")
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/adios_config.flags.in ${CMAKE_CURRENT_BINARY_DIR}/adios_config.flags)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/adios_config.flags.cmake ${CMAKE_CURRENT_BINARY_DIR}/adios_config.flags @ONLY)
#####################end of processing adios_config.flags.in #####################
#####################start processing adios_config.flags.in #####################
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/adios_config.in ${CMAKE_CURRENT_BINARY_DIR}/adios_config)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/adios_config.in ${CMAKE_CURRENT_BINARY_DIR}/adios_config @ONLY)
#####################end of processing adios_config.flags.in #####################
install(FILES ${CMAKE_BINARY_DIR}/adios_config.flags DESTINATION ${sysconfdir})
install(PROGRAMS ${CMAKE_BINARY_DIR}/adios_config DESTINATION ${bindir})
diff --git a/INSTALL b/INSTALL
index 6df2e34..77592dc 100644
--- a/INSTALL
+++ b/INSTALL
@@ -92,8 +92,8 @@ Quick Installation
For example, to install ADIOS to /usr/local/adios on a machine where
mpicc and mpif90 are the compilers:
- $ tar zxf adios-1.8.0.tar.gz
- $ cd adios-1.8.0
+ $ tar zxf adios-1.9.0.tar.gz
+ $ cd adios-1.9.0
$ CC=mpicc FC=mpif90 ./configure --prefix=/usr/local/adios
--with-mxml=<location of mini-xml installation>
--with-hdf5=<location of HDF5 installation>
diff --git a/Makefile.am b/Makefile.am
index 04c0734..8d17845 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,6 +5,7 @@ SUBDIRS=src utils tests examples
EXTRA_DIST = runconf \
KNOWN_BUGS \
adios_config.in \
+ adios_config.flags.cmake \
scripts/create.nssi.config.sh \
scripts/kill.nssi.staging.sh \
scripts/start.nssi.staging.sh \
@@ -54,4 +55,4 @@ install-data-hook:
$(INSTALL_DATA) adios_config.flags $(DESTDIR)$(sysconfdir)
$(INSTALL_DATA) adios_git_status $(DESTDIR)$(sysconfdir)
-CLEANFILES = adios_config adios_config.flags
+CLEANFILES =
diff --git a/Makefile.in b/Makefile.in
index 485d2cb..faf39c7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -44,6 +44,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/adios_config.flags.in \
$(srcdir)/adios_config.in $(srcdir)/config.h.in \
$(top_srcdir)/configure \
+ $(top_srcdir)/src/public/adios_version.h.in \
$(top_srcdir)/utils/skel/lib/skel_have_adios_timing.py.in \
AUTHORS COPYING ChangeLog INSTALL NEWS TODO config/compile \
config/config.guess config/config.sub config/depcomp \
@@ -94,7 +95,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = utils/skel/lib/skel_have_adios_timing.py \
- adios_config adios_config.flags
+ adios_config adios_config.flags src/public/adios_version.h
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -371,6 +372,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -433,6 +437,7 @@ SUBDIRS = src utils tests examples
EXTRA_DIST = runconf \
KNOWN_BUGS \
adios_config.in \
+ adios_config.flags.cmake \
scripts/create.nssi.config.sh \
scripts/kill.nssi.staging.sh \
scripts/start.nssi.staging.sh \
@@ -449,7 +454,7 @@ EXTRA_DIST = runconf \
# wrappers/matlab/adiosreadc.c
bin_SCRIPTS = adios_config $(am__append_1)
sysconf_DATA = scripts/FindADIOS.cmake
-CLEANFILES = adios_config adios_config.flags
+CLEANFILES =
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -511,6 +516,8 @@ adios_config: $(top_builddir)/config.status $(srcdir)/adios_config.in
cd $(top_builddir) && $(SHELL) ./config.status $@
adios_config.flags: $(top_builddir)/config.status $(srcdir)/adios_config.flags.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+src/public/adios_version.h: $(top_builddir)/config.status $(top_srcdir)/src/public/adios_version.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
diff --git a/NEWS b/NEWS
index 1b82243..3543935 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+1.9.0 Release Jul 2015
+ - Array attributes are supported
+ - e.g axes = {"X","Y","Z"}
+ - adios_define_attribute_byvalue()
+ - to define scalar attributes with program variables instead of string values
+ - Update mode when appending to a file
+ - to add variables to last timestep instead of a new one
+ - Python/Numpy wrapper improvements:
+ - Numpy-style array notations
+ e.g, var[1:5, 2:10], var[1:5. :], var[:5,...]
+ - Support for ADIOS write APIs
+ - Hint/docstring support
+ - Support for pip install and update
+ - Added adios_version.h to provide release and file format versions
+ - fix: memory leak in POSIX method
+ - fix: adios_write() now accepts const * void data from C++ apps
+ - fix: Cray compiler support
+ - fix: reading of compressed, zero size arrays on some processes
+ - fix: scaling bugs in aggregate method writing > 2GB per process or
+ aggregating data into a file over 4GB
+
+
1.8.0 Release Dec 2014
- Query API
- extends the read API with queries
diff --git a/adios_config.flags.cmake b/adios_config.flags.cmake
new file mode 100755
index 0000000..37706e1
--- /dev/null
+++ b/adios_config.flags.cmake
@@ -0,0 +1,39 @@
+#
+# Configuration values from configure script
+#
+
+# Install directory
+ADIOS_DIR="@prefix@"
+
+# Flags to build code using ADIOS write API (and read API)
+ADIOS_INC="-I${ADIOS_DIR}/include @ADIOSLIB_CPPFLAGS@ @ADIOSLIB_CFLAGS@"
+ADIOS_CLIB="${ADIOS_DIR}/lib/adios @ADIOSLIB_LDADD_M@ @LDFLAGS@ @LIBS@"
+ADIOS_FLIB="${ADIOS_DIR}/lib/adiosf @ADIOSLIB_LDADD_M@ @LDFLAGS@ @LIBS@"
+ADIOS_V1_FLIB="${ADIOS_DIR}/lib/adiosf_v1 @ADIOSLIB_LDADD_M@ @LIBS@"
+
+# Flags to build code using ADIOS read API only
+ADIOSREAD_INC="-I${ADIOS_DIR}/include @ADIOSREADLIB_CPPFLAGS@ @ADIOSREADLIB_CFLAGS@"
+ADIOSREAD_V1_INC="-I${ADIOS_DIR}/include @MACRODEFFLAG at ADIOS_USE_READ_API_1 @ADIOSREADLIB_CPPFLAGS@ @ADIOSREADLIB_CFLAGS@"
+ADIOSREAD_CLIB="${ADIOS_DIR}/lib/adiosread @ADIOSREADLIB_LDADD_M@"
+ADIOSREAD_FLIB="${ADIOS_DIR}/lib/adiosreadf @ADIOSREADLIB_LDADD_M@"
+ADIOSREAD_V1_FLIB="${ADIOS_DIR}/lib/adiosreadf_v1 @ADIOSREADLIB_LDADD_M@"
+
+# Flags to build code using ADIOS read API only in a sequential code (no MPI)
+ADIOSREAD_SEQ_INC="-I${ADIOS_DIR}/include @ADIOSREADLIB_SEQ_CPPFLAGS@ @ADIOSREADLIB_SEQ_CFLAGS@"
+ADIOSREAD_SEQ_V1_INC="-I${ADIOS_DIR}/include @MACRODEFFLAG at ADIOS_USE_READ_API_1 @ADIOSREADLIB_SEQ_CPPFLAGS@ @ADIOSREADLIB_SEQ_CFLAGS@"
+ADIOSREAD_SEQ_CLIB="${ADIOS_DIR}/lib/adiosread_nompi @ADIOSREADLIB_SEQ_LDADD_M@"
+ADIOSREAD_SEQ_FLIB="${ADIOS_DIR}/lib/adiosreadf_nompi @ADIOSREADLIB_SEQ_LDADD_M@"
+ADIOSREAD_SEQ_V1_FLIB="${ADIOS_DIR}/lib/adiosreadf_nompi_v1 @ADIOSREADLIB_SEQ_LDADD_M@"
+
+#Flags to build code using ADIOS write API in a sequential code (no MPI)
+ADIOS_SEQ_INC="-I${ADIOS_DIR}/include @ADIOSLIB_SEQ_CPPFLAGS@ @ADIOSLIB_SEQ_CFLAGS@"
+ADIOS_SEQ_CLIB="${ADIOS_DIR}/lib/adios_nompi @ADIOSLIB_SEQ_LDADD_M@ @LIBS@"
+ADIOS_SEQ_FLIB="${ADIOS_DIR}/lib/adiosf_nompi @ADIOSLIB_SEQ_LDADD_M@ @LIBS@"
+ADIOS_SEQ_V1_FLIB="${ADIOS_DIR}/lib/adiosf_nompi_v1 @ADIOSLIB_SEQ_LDADD_M@ @LIBS@"
+
+#The following flags are not used. It is only for internal utilities of ADIOS, using libadios_internal_nompi.a
+ADIOS_INT_INC="-I${ADIOS_DIR}/include @ADIOSLIB_INT_CPPFLAGS@ @ADIOSLIB_INT_CFLAGS@"
+ADIOS_INT_CLIB="${ADIOS_DIR}/lib/adios_internal_nompi @ADIOSLIB_INT_LDADD_M@ @LIBS@"
+
+VERSIONSTRING="@VERSION@"
+
diff --git a/cmake_init b/cmake_init
index 4bc51f3..22f4ed0 100755
--- a/cmake_init
+++ b/cmake_init
@@ -601,10 +601,10 @@ elif [ `hostname | cut -c 1-7` == "adiosVM" ]; then
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
- export INSTALL_PREFIX="/opt/adios/1.8"
+ export INSTALL_PREFIX="/opt/adios/1.9"
export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK"
export CFLAGS="-g -O0 -fPIC -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast"
- export MXML_DIR=/opt/mxml/2.8
+ export MXML_DIR=/opt/mxml/2.9
export SEQ_HDF5_DIR=/opt/hdf5-1.8.12
export SEQ_HDF5_LIBS="-L/opt/hdf5-1.8.12/lib -lhdf5_hl -lhdf5 -lm"
export PAR_HDF5_DIR=/opt/hdf5-1.8.12-parallel
diff --git a/config.h.cmake b/config.h.cmake
index 7afa509..aa81544 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -321,14 +321,5 @@
/* Version number of package */
#cmakedefine VERSION "${VERSION}"
-/* Major version number */
-#define VERSION_MAJOR ${VERSION_MAJOR}
-
-/* Micro version number */
-#define VERSION_MICRO ${VERSION_MICRO}
-
-/* Minor version number */
-#define VERSION_MINOR ${VERSION_MINOR}
-
/* svn revision number */
#cmakedefine VERSION_SVNREV ${VERSION_SVNREV}
diff --git a/config.h.in b/config.h.in
index a5057c9..19ad6ba 100644
--- a/config.h.in
+++ b/config.h.in
@@ -324,12 +324,3 @@
/* Version number of package */
#undef VERSION
-
-/* Major version number */
-#undef VERSION_MAJOR
-
-/* Micro version number */
-#undef VERSION_MICRO
-
-/* Minor version number */
-#undef VERSION_MINOR
diff --git a/config/ac_dataspaces.m4 b/config/ac_dataspaces.m4
index 0805db4..823e304 100644
--- a/config/ac_dataspaces.m4
+++ b/config/ac_dataspaces.m4
@@ -132,7 +132,11 @@ else
[DATASPACES_LIBS="-ldspaces -ldscommon -ldart"],
[AM_CONDITIONAL(HAVE_DATASPACES,false)])
else
- AM_CONDITIONAL(HAVE_DATASPACES,false)
+ dnl Now TCP is working #AM_CONDITIONAL(HAVE_DATASPACES,false)
+ AC_TRY_COMPILE([#include "dataspaces.h"],
+ [int err; err = dspaces_init(1,1,0,"");],
+ [DATASPACES_LIBS="-ldspaces -ldscommon -ldart"],
+ [AM_CONDITIONAL(HAVE_DATASPACES,false)])
fi
fi
diff --git a/config/ac_fastbit.m4 b/config/ac_fastbit.m4
index 510b077..c8d9b43 100644
--- a/config/ac_fastbit.m4
+++ b/config/ac_fastbit.m4
@@ -11,7 +11,7 @@ AC_ARG_WITH(
dnl If the lib was specified, verify that it exists and can compile
if test "x$with_fastbit" != xno; then
- FASTBIT_CPPFLAGS="-I$with_fastbit/include"
+ FASTBIT_CPPFLAGS="-I$with_fastbit/include/fastbit"
FASTBIT_LDFLAGS="-L$with_fastbit/lib"
FASTBIT_LIBS="-lfastbit"
diff --git a/configure b/configure
index ceeb4a9..ac27a96 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Revision.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for adios 1.8.0.
+# Generated by GNU Autoconf 2.63 for adios 1.9.0.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -744,8 +744,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='adios'
PACKAGE_TARNAME='adios'
-PACKAGE_VERSION='1.8.0'
-PACKAGE_STRING='adios 1.8.0'
+PACKAGE_VERSION='1.9.0'
+PACKAGE_STRING='adios 1.9.0'
PACKAGE_BUGREPORT=''
ac_unique_file="configure.ac"
@@ -789,6 +789,9 @@ ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
+VERSION_MICRO
+VERSION_MINOR
+VERSION_MAJOR
ADIOSLIB_EXTRA_CPPFLAGS
ADIOSREADLIB_SEQ_LDADD
ADIOSREADLIB_SEQ_LDFLAGS
@@ -1774,7 +1777,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures adios 1.8.0 to adapt to many kinds of systems.
+\`configure' configures adios 1.9.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1844,7 +1847,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of adios 1.8.0:";;
+ short | recursive ) echo "Configuration of adios 1.9.0:";;
esac
cat <<\_ACEOF
@@ -2030,7 +2033,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-adios configure 1.8.0
+adios configure 1.9.0
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -2044,7 +2047,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by adios $as_me 1.8.0, which was
+It was created by adios $as_me 1.9.0, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2899,7 +2902,7 @@ fi
# Define the identity of the package.
PACKAGE='adios'
- VERSION='1.8.0'
+ VERSION='1.9.0'
cat >>confdefs.h <<_ACEOF
@@ -8868,13 +8871,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:8871: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:8874: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:8874: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:8877: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:8877: output\"" >&5)
+ (eval echo "\"\$as_me:8880: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -10079,7 +10082,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 10082 "configure"' > conftest.$ac_ext
+ echo '#line 10085 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -12760,11 +12763,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12763: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12766: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12767: \$? = $ac_status" >&5
+ echo "$as_me:12770: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13099,11 +13102,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13102: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13105: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13106: \$? = $ac_status" >&5
+ echo "$as_me:13109: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13204,11 +13207,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13207: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13210: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13211: \$? = $ac_status" >&5
+ echo "$as_me:13214: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13259,11 +13262,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13262: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13265: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13266: \$? = $ac_status" >&5
+ echo "$as_me:13269: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16142,7 +16145,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 16145 "configure"
+#line 16148 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -16238,7 +16241,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 16241 "configure"
+#line 16244 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -18274,11 +18277,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:18277: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18280: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:18281: \$? = $ac_status" >&5
+ echo "$as_me:18284: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -18373,11 +18376,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:18376: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18379: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:18380: \$? = $ac_status" >&5
+ echo "$as_me:18383: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -18425,11 +18428,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:18428: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18431: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:18432: \$? = $ac_status" >&5
+ echo "$as_me:18435: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19977,11 +19980,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19980: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19983: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19984: \$? = $ac_status" >&5
+ echo "$as_me:19987: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -20076,11 +20079,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:20079: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:20082: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:20083: \$? = $ac_status" >&5
+ echo "$as_me:20086: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -20128,11 +20131,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:20131: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:20134: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:20135: \$? = $ac_status" >&5
+ echo "$as_me:20138: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -28807,7 +28810,53 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
- if false; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include "dataspaces.h"
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+int err; err = dspaces_init(1,1,0,"");
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ DATASPACES_LIBS="-ldspaces -ldscommon -ldart"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ if false; then
HAVE_DATASPACES_TRUE=
HAVE_DATASPACES_FALSE='#'
else
@@ -28815,6 +28864,9 @@ else
HAVE_DATASPACES_FALSE=
fi
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
fi
@@ -30793,11 +30845,11 @@ fi
search_list="$datatap_dir/thin_ib.h $datatap_dir/lib/thin_ib.h $datatap_dir/include/thin_ib.h $search_list /usr/include/thin_ib.h /usr/local/include/thin_ib.h /opt/ibpbio/include/thin_ib.h /opt/misc/include/thin_ib.h /opt/misc/include/$cercs_cv_archive/thin_ib.h"
tmp_search_results=""
-echo "configure:30796: searching for $search_list " >&5
+echo "configure:30848: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:30800: first found $tmp_search_results " >&5
+ echo "configure:30852: first found $tmp_search_results " >&5
break
fi
done
@@ -30885,11 +30937,11 @@ fi
search_list="$datatap_dir/libibclient.la $datatap_dir/lib/libibclient.la $datatap_dir/include/libibclient.la $search_list /usr/lib/libibclient.la /usr/local/lib/libibclient.la /opt/ibpbio/lib/libibclient.la /opt/misc/lib/libibclient.la /opt/misc/lib/$cercs_cv_archive/libibclient.la"
tmp_search_results=""
-echo "configure:30888: searching for $search_list " >&5
+echo "configure:30940: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:30892: first found $tmp_search_results " >&5
+ echo "configure:30944: first found $tmp_search_results " >&5
break
fi
done
@@ -30958,11 +31010,11 @@ else
search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
tmp_search_results=""
-echo "configure:30961: searching for $search_list " >&5
+echo "configure:31013: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:30965: first found $tmp_search_results " >&5
+ echo "configure:31017: first found $tmp_search_results " >&5
break
fi
done
@@ -31000,11 +31052,11 @@ else
search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
tmp_search_results=""
-echo "configure:31003: searching for $search_list " >&5
+echo "configure:31055: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31007: first found $tmp_search_results " >&5
+ echo "configure:31059: first found $tmp_search_results " >&5
break
fi
done
@@ -31128,11 +31180,11 @@ fi
search_list="$datatap_dir/ffs.h $datatap_dir/lib/ffs.h $datatap_dir/include/ffs.h $search_list /usr/include/ffs.h /usr/local/include/ffs.h /opt/ffs/include/ffs.h /opt/misc/include/ffs.h /opt/misc/include/$cercs_cv_archive/ffs.h"
tmp_search_results=""
-echo "configure:31131: searching for $search_list " >&5
+echo "configure:31183: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31135: first found $tmp_search_results " >&5
+ echo "configure:31187: first found $tmp_search_results " >&5
break
fi
done
@@ -31220,11 +31272,11 @@ fi
search_list="$datatap_dir/libffs.la $datatap_dir/lib/libffs.la $datatap_dir/include/libffs.la $search_list /usr/lib/libffs.la /usr/local/lib/libffs.la /opt/ffs/lib/libffs.la /opt/misc/lib/libffs.la /opt/misc/lib/$cercs_cv_archive/libffs.la"
tmp_search_results=""
-echo "configure:31223: searching for $search_list " >&5
+echo "configure:31275: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31227: first found $tmp_search_results " >&5
+ echo "configure:31279: first found $tmp_search_results " >&5
break
fi
done
@@ -31293,11 +31345,11 @@ else
search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
tmp_search_results=""
-echo "configure:31296: searching for $search_list " >&5
+echo "configure:31348: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31300: first found $tmp_search_results " >&5
+ echo "configure:31352: first found $tmp_search_results " >&5
break
fi
done
@@ -31335,11 +31387,11 @@ else
search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
tmp_search_results=""
-echo "configure:31338: searching for $search_list " >&5
+echo "configure:31390: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31342: first found $tmp_search_results " >&5
+ echo "configure:31394: first found $tmp_search_results " >&5
break
fi
done
@@ -31463,11 +31515,11 @@ fi
search_list="$datatap_dir/gen_thread.h $datatap_dir/lib/gen_thread.h $datatap_dir/include/gen_thread.h $search_list /usr/include/gen_thread.h /usr/local/include/gen_thread.h /opt/gen_thread/include/gen_thread.h /opt/misc/include/gen_thread.h /opt/misc/include/$cercs_cv_archive/gen_thread.h"
tmp_search_results=""
-echo "configure:31466: searching for $search_list " >&5
+echo "configure:31518: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31470: first found $tmp_search_results " >&5
+ echo "configure:31522: first found $tmp_search_results " >&5
break
fi
done
@@ -31555,11 +31607,11 @@ fi
search_list="$datatap_dir/libgen_thread.la $datatap_dir/lib/libgen_thread.la $datatap_dir/include/libgen_thread.la $search_list /usr/lib/libgen_thread.la /usr/local/lib/libgen_thread.la /opt/gen_thread/lib/libgen_thread.la /opt/misc/lib/libgen_thread.la /opt/misc/lib/$cercs_cv_archive/libgen_thread.la"
tmp_search_results=""
-echo "configure:31558: searching for $search_list " >&5
+echo "configure:31610: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31562: first found $tmp_search_results " >&5
+ echo "configure:31614: first found $tmp_search_results " >&5
break
fi
done
@@ -31628,11 +31680,11 @@ else
search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
tmp_search_results=""
-echo "configure:31631: searching for $search_list " >&5
+echo "configure:31683: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31635: first found $tmp_search_results " >&5
+ echo "configure:31687: first found $tmp_search_results " >&5
break
fi
done
@@ -31670,11 +31722,11 @@ else
search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
tmp_search_results=""
-echo "configure:31673: searching for $search_list " >&5
+echo "configure:31725: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31677: first found $tmp_search_results " >&5
+ echo "configure:31729: first found $tmp_search_results " >&5
break
fi
done
@@ -31821,11 +31873,11 @@ fi
search_list="$datatap_dir/thin_portal.h $datatap_dir/lib/thin_portal.h $datatap_dir/include/thin_portal.h $search_list /usr/include/thin_portal.h /usr/local/include/thin_portal.h /opt/ptlpbio/include/thin_portal.h /opt/misc/include/thin_portal.h /opt/misc/include/$cercs_cv_archive/thin_portal.h"
tmp_search_results=""
-echo "configure:31824: searching for $search_list " >&5
+echo "configure:31876: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31828: first found $tmp_search_results " >&5
+ echo "configure:31880: first found $tmp_search_results " >&5
break
fi
done
@@ -31913,11 +31965,11 @@ fi
search_list="$datatap_dir/libptlclient.a $datatap_dir/lib/libptlclient.a $datatap_dir/include/libptlclient.a $search_list /usr/lib/libptlclient.a /usr/local/lib/libptlclient.a /opt/ptlpbio/lib/libptlclient.a /opt/misc/lib/libptlclient.a /opt/misc/lib/$cercs_cv_archive/libptlclient.a"
tmp_search_results=""
-echo "configure:31916: searching for $search_list " >&5
+echo "configure:31968: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31920: first found $tmp_search_results " >&5
+ echo "configure:31972: first found $tmp_search_results " >&5
break
fi
done
@@ -31986,11 +32038,11 @@ else
search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
tmp_search_results=""
-echo "configure:31989: searching for $search_list " >&5
+echo "configure:32041: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:31993: first found $tmp_search_results " >&5
+ echo "configure:32045: first found $tmp_search_results " >&5
break
fi
done
@@ -32028,11 +32080,11 @@ else
search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
tmp_search_results=""
-echo "configure:32031: searching for $search_list " >&5
+echo "configure:32083: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32035: first found $tmp_search_results " >&5
+ echo "configure:32087: first found $tmp_search_results " >&5
break
fi
done
@@ -32188,11 +32240,11 @@ fi
search_list="$datatap_dir/thin_ib.h $datatap_dir/lib/thin_ib.h $datatap_dir/include/thin_ib.h $search_list /usr/include/thin_ib.h /usr/local/include/thin_ib.h /opt/ibpbio/include/thin_ib.h /opt/misc/include/thin_ib.h /opt/misc/include/$cercs_cv_archive/thin_ib.h"
tmp_search_results=""
-echo "configure:32191: searching for $search_list " >&5
+echo "configure:32243: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32195: first found $tmp_search_results " >&5
+ echo "configure:32247: first found $tmp_search_results " >&5
break
fi
done
@@ -32280,11 +32332,11 @@ fi
search_list="$datatap_dir/libibclient.la $datatap_dir/lib/libibclient.la $datatap_dir/include/libibclient.la $search_list /usr/lib/libibclient.la /usr/local/lib/libibclient.la /opt/ibpbio/lib/libibclient.la /opt/misc/lib/libibclient.la /opt/misc/lib/$cercs_cv_archive/libibclient.la"
tmp_search_results=""
-echo "configure:32283: searching for $search_list " >&5
+echo "configure:32335: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32287: first found $tmp_search_results " >&5
+ echo "configure:32339: first found $tmp_search_results " >&5
break
fi
done
@@ -32353,11 +32405,11 @@ else
search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
tmp_search_results=""
-echo "configure:32356: searching for $search_list " >&5
+echo "configure:32408: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32360: first found $tmp_search_results " >&5
+ echo "configure:32412: first found $tmp_search_results " >&5
break
fi
done
@@ -32395,11 +32447,11 @@ else
search_list="$PWD/../ibpbio $PWD/../../ibpbio $PWD/../../../ibpbio"
tmp_search_results=""
-echo "configure:32398: searching for $search_list " >&5
+echo "configure:32450: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32402: first found $tmp_search_results " >&5
+ echo "configure:32454: first found $tmp_search_results " >&5
break
fi
done
@@ -32523,11 +32575,11 @@ fi
search_list="$datatap_dir/ffs.h $datatap_dir/lib/ffs.h $datatap_dir/include/ffs.h $search_list /usr/include/ffs.h /usr/local/include/ffs.h /opt/ffs/include/ffs.h /opt/misc/include/ffs.h /opt/misc/include/$cercs_cv_archive/ffs.h"
tmp_search_results=""
-echo "configure:32526: searching for $search_list " >&5
+echo "configure:32578: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32530: first found $tmp_search_results " >&5
+ echo "configure:32582: first found $tmp_search_results " >&5
break
fi
done
@@ -32615,11 +32667,11 @@ fi
search_list="$datatap_dir/libffs.la $datatap_dir/lib/libffs.la $datatap_dir/include/libffs.la $search_list /usr/lib/libffs.la /usr/local/lib/libffs.la /opt/ffs/lib/libffs.la /opt/misc/lib/libffs.la /opt/misc/lib/$cercs_cv_archive/libffs.la"
tmp_search_results=""
-echo "configure:32618: searching for $search_list " >&5
+echo "configure:32670: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32622: first found $tmp_search_results " >&5
+ echo "configure:32674: first found $tmp_search_results " >&5
break
fi
done
@@ -32688,11 +32740,11 @@ else
search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
tmp_search_results=""
-echo "configure:32691: searching for $search_list " >&5
+echo "configure:32743: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32695: first found $tmp_search_results " >&5
+ echo "configure:32747: first found $tmp_search_results " >&5
break
fi
done
@@ -32730,11 +32782,11 @@ else
search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
tmp_search_results=""
-echo "configure:32733: searching for $search_list " >&5
+echo "configure:32785: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32737: first found $tmp_search_results " >&5
+ echo "configure:32789: first found $tmp_search_results " >&5
break
fi
done
@@ -32858,11 +32910,11 @@ fi
search_list="$datatap_dir/gen_thread.h $datatap_dir/lib/gen_thread.h $datatap_dir/include/gen_thread.h $search_list /usr/include/gen_thread.h /usr/local/include/gen_thread.h /opt/gen_thread/include/gen_thread.h /opt/misc/include/gen_thread.h /opt/misc/include/$cercs_cv_archive/gen_thread.h"
tmp_search_results=""
-echo "configure:32861: searching for $search_list " >&5
+echo "configure:32913: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32865: first found $tmp_search_results " >&5
+ echo "configure:32917: first found $tmp_search_results " >&5
break
fi
done
@@ -32950,11 +33002,11 @@ fi
search_list="$datatap_dir/libgen_thread.la $datatap_dir/lib/libgen_thread.la $datatap_dir/include/libgen_thread.la $search_list /usr/lib/libgen_thread.la /usr/local/lib/libgen_thread.la /opt/gen_thread/lib/libgen_thread.la /opt/misc/lib/libgen_thread.la /opt/misc/lib/$cercs_cv_archive/libgen_thread.la"
tmp_search_results=""
-echo "configure:32953: searching for $search_list " >&5
+echo "configure:33005: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:32957: first found $tmp_search_results " >&5
+ echo "configure:33009: first found $tmp_search_results " >&5
break
fi
done
@@ -33023,11 +33075,11 @@ else
search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
tmp_search_results=""
-echo "configure:33026: searching for $search_list " >&5
+echo "configure:33078: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33030: first found $tmp_search_results " >&5
+ echo "configure:33082: first found $tmp_search_results " >&5
break
fi
done
@@ -33065,11 +33117,11 @@ else
search_list="$PWD/../gen_thread $PWD/../../gen_thread $PWD/../../../gen_thread"
tmp_search_results=""
-echo "configure:33068: searching for $search_list " >&5
+echo "configure:33120: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33072: first found $tmp_search_results " >&5
+ echo "configure:33124: first found $tmp_search_results " >&5
break
fi
done
@@ -33216,11 +33268,11 @@ fi
search_list="$datatap_dir/thin_portal.h $datatap_dir/lib/thin_portal.h $datatap_dir/include/thin_portal.h $search_list /usr/include/thin_portal.h /usr/local/include/thin_portal.h /opt/ptlpbio/include/thin_portal.h /opt/misc/include/thin_portal.h /opt/misc/include/$cercs_cv_archive/thin_portal.h"
tmp_search_results=""
-echo "configure:33219: searching for $search_list " >&5
+echo "configure:33271: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33223: first found $tmp_search_results " >&5
+ echo "configure:33275: first found $tmp_search_results " >&5
break
fi
done
@@ -33308,11 +33360,11 @@ fi
search_list="$datatap_dir/libptlclient.a $datatap_dir/lib/libptlclient.a $datatap_dir/include/libptlclient.a $search_list /usr/lib/libptlclient.a /usr/local/lib/libptlclient.a /opt/ptlpbio/lib/libptlclient.a /opt/misc/lib/libptlclient.a /opt/misc/lib/$cercs_cv_archive/libptlclient.a"
tmp_search_results=""
-echo "configure:33311: searching for $search_list " >&5
+echo "configure:33363: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33315: first found $tmp_search_results " >&5
+ echo "configure:33367: first found $tmp_search_results " >&5
break
fi
done
@@ -33381,11 +33433,11 @@ else
search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
tmp_search_results=""
-echo "configure:33384: searching for $search_list " >&5
+echo "configure:33436: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33388: first found $tmp_search_results " >&5
+ echo "configure:33440: first found $tmp_search_results " >&5
break
fi
done
@@ -33423,11 +33475,11 @@ else
search_list="$PWD/../ptlpbio $PWD/../../ptlpbio $PWD/../../../ptlpbio"
tmp_search_results=""
-echo "configure:33426: searching for $search_list " >&5
+echo "configure:33478: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33430: first found $tmp_search_results " >&5
+ echo "configure:33482: first found $tmp_search_results " >&5
break
fi
done
@@ -33632,11 +33684,11 @@ fi
search_list="$datatap_dir/evpath.h $datatap_dir/lib/evpath.h $datatap_dir/include/evpath.h $search_list /usr/include/evpath.h /usr/local/include/evpath.h /opt/evpath/include/evpath.h /opt/misc/include/evpath.h /opt/misc/include/$cercs_cv_archive/evpath.h"
tmp_search_results=""
-echo "configure:33635: searching for $search_list " >&5
+echo "configure:33687: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33639: first found $tmp_search_results " >&5
+ echo "configure:33691: first found $tmp_search_results " >&5
break
fi
done
@@ -33724,11 +33776,11 @@ fi
search_list="$datatap_dir/libevpath.a $datatap_dir/lib/libevpath.a $datatap_dir/include/libevpath.a $search_list /usr/lib/libevpath.a /usr/local/lib/libevpath.a /opt/evpath/lib/libevpath.a /opt/misc/lib/libevpath.a /opt/misc/lib/$cercs_cv_archive/libevpath.a"
tmp_search_results=""
-echo "configure:33727: searching for $search_list " >&5
+echo "configure:33779: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33731: first found $tmp_search_results " >&5
+ echo "configure:33783: first found $tmp_search_results " >&5
break
fi
done
@@ -33797,11 +33849,11 @@ else
search_list="$PWD/../evpath $PWD/../../evpath $PWD/../../../evpath"
tmp_search_results=""
-echo "configure:33800: searching for $search_list " >&5
+echo "configure:33852: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33804: first found $tmp_search_results " >&5
+ echo "configure:33856: first found $tmp_search_results " >&5
break
fi
done
@@ -33839,11 +33891,11 @@ else
search_list="$PWD/../evpath $PWD/../../evpath $PWD/../../../evpath"
tmp_search_results=""
-echo "configure:33842: searching for $search_list " >&5
+echo "configure:33894: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33846: first found $tmp_search_results " >&5
+ echo "configure:33898: first found $tmp_search_results " >&5
break
fi
done
@@ -33967,11 +34019,11 @@ fi
search_list="$datatap_dir/ffs.h $datatap_dir/lib/ffs.h $datatap_dir/include/ffs.h $search_list /usr/include/ffs.h /usr/local/include/ffs.h /opt/ffs/include/ffs.h /opt/misc/include/ffs.h /opt/misc/include/$cercs_cv_archive/ffs.h"
tmp_search_results=""
-echo "configure:33970: searching for $search_list " >&5
+echo "configure:34022: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:33974: first found $tmp_search_results " >&5
+ echo "configure:34026: first found $tmp_search_results " >&5
break
fi
done
@@ -34059,11 +34111,11 @@ fi
search_list="$datatap_dir/libffs.a $datatap_dir/lib/libffs.a $datatap_dir/include/libffs.a $search_list /usr/lib/libffs.a /usr/local/lib/libffs.a /opt/ffs/lib/libffs.a /opt/misc/lib/libffs.a /opt/misc/lib/$cercs_cv_archive/libffs.a"
tmp_search_results=""
-echo "configure:34062: searching for $search_list " >&5
+echo "configure:34114: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34066: first found $tmp_search_results " >&5
+ echo "configure:34118: first found $tmp_search_results " >&5
break
fi
done
@@ -34132,11 +34184,11 @@ else
search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
tmp_search_results=""
-echo "configure:34135: searching for $search_list " >&5
+echo "configure:34187: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34139: first found $tmp_search_results " >&5
+ echo "configure:34191: first found $tmp_search_results " >&5
break
fi
done
@@ -34174,11 +34226,11 @@ else
search_list="$PWD/../ffs $PWD/../../ffs $PWD/../../../ffs"
tmp_search_results=""
-echo "configure:34177: searching for $search_list " >&5
+echo "configure:34229: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34181: first found $tmp_search_results " >&5
+ echo "configure:34233: first found $tmp_search_results " >&5
break
fi
done
@@ -34302,11 +34354,11 @@ fi
search_list="$datatap_dir/atl.h $datatap_dir/lib/atl.h $datatap_dir/include/atl.h $search_list /usr/include/atl.h /usr/local/include/atl.h /opt/atl/include/atl.h /opt/misc/include/atl.h /opt/misc/include/$cercs_cv_archive/atl.h"
tmp_search_results=""
-echo "configure:34305: searching for $search_list " >&5
+echo "configure:34357: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34309: first found $tmp_search_results " >&5
+ echo "configure:34361: first found $tmp_search_results " >&5
break
fi
done
@@ -34394,11 +34446,11 @@ fi
search_list="$datatap_dir/libatl.a $datatap_dir/lib/libatl.a $datatap_dir/include/libatl.a $search_list /usr/lib/libatl.a /usr/local/lib/libatl.a /opt/atl/lib/libatl.a /opt/misc/lib/libatl.a /opt/misc/lib/$cercs_cv_archive/libatl.a"
tmp_search_results=""
-echo "configure:34397: searching for $search_list " >&5
+echo "configure:34449: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34401: first found $tmp_search_results " >&5
+ echo "configure:34453: first found $tmp_search_results " >&5
break
fi
done
@@ -34467,11 +34519,11 @@ else
search_list="$PWD/../atl $PWD/../../atl $PWD/../../../atl"
tmp_search_results=""
-echo "configure:34470: searching for $search_list " >&5
+echo "configure:34522: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34474: first found $tmp_search_results " >&5
+ echo "configure:34526: first found $tmp_search_results " >&5
break
fi
done
@@ -34509,11 +34561,11 @@ else
search_list="$PWD/../atl $PWD/../../atl $PWD/../../../atl"
tmp_search_results=""
-echo "configure:34512: searching for $search_list " >&5
+echo "configure:34564: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34516: first found $tmp_search_results " >&5
+ echo "configure:34568: first found $tmp_search_results " >&5
break
fi
done
@@ -34637,11 +34689,11 @@ fi
search_list="$datatap_dir/dill.h $datatap_dir/lib/dill.h $datatap_dir/include/dill.h $search_list /usr/include/dill.h /usr/local/include/dill.h /opt/dill/include/dill.h /opt/misc/include/dill.h /opt/misc/include/$cercs_cv_archive/dill.h"
tmp_search_results=""
-echo "configure:34640: searching for $search_list " >&5
+echo "configure:34692: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34644: first found $tmp_search_results " >&5
+ echo "configure:34696: first found $tmp_search_results " >&5
break
fi
done
@@ -34729,11 +34781,11 @@ fi
search_list="$datatap_dir/libdill.a $datatap_dir/lib/libdill.a $datatap_dir/include/libdill.a $search_list /usr/lib/libdill.a /usr/local/lib/libdill.a /opt/dill/lib/libdill.a /opt/misc/lib/libdill.a /opt/misc/lib/$cercs_cv_archive/libdill.a"
tmp_search_results=""
-echo "configure:34732: searching for $search_list " >&5
+echo "configure:34784: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34736: first found $tmp_search_results " >&5
+ echo "configure:34788: first found $tmp_search_results " >&5
break
fi
done
@@ -34802,11 +34854,11 @@ else
search_list="$PWD/../dill $PWD/../../dill $PWD/../../../dill"
tmp_search_results=""
-echo "configure:34805: searching for $search_list " >&5
+echo "configure:34857: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34809: first found $tmp_search_results " >&5
+ echo "configure:34861: first found $tmp_search_results " >&5
break
fi
done
@@ -34844,11 +34896,11 @@ else
search_list="$PWD/../dill $PWD/../../dill $PWD/../../../dill"
tmp_search_results=""
-echo "configure:34847: searching for $search_list " >&5
+echo "configure:34899: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34851: first found $tmp_search_results " >&5
+ echo "configure:34903: first found $tmp_search_results " >&5
break
fi
done
@@ -34972,11 +35024,11 @@ fi
search_list="$datatap_dir/cercs_env.h $datatap_dir/lib/cercs_env.h $datatap_dir/include/cercs_env.h $search_list /usr/include/cercs_env.h /usr/local/include/cercs_env.h /opt/cercs_env/include/cercs_env.h /opt/misc/include/cercs_env.h /opt/misc/include/$cercs_cv_archive/cercs_env.h"
tmp_search_results=""
-echo "configure:34975: searching for $search_list " >&5
+echo "configure:35027: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:34979: first found $tmp_search_results " >&5
+ echo "configure:35031: first found $tmp_search_results " >&5
break
fi
done
@@ -35064,11 +35116,11 @@ fi
search_list="$datatap_dir/libcercs_env.a $datatap_dir/lib/libcercs_env.a $datatap_dir/include/libcercs_env.a $search_list /usr/lib/libcercs_env.a /usr/local/lib/libcercs_env.a /opt/cercs_env/lib/libcercs_env.a /opt/misc/lib/libcercs_env.a /opt/misc/lib/$cercs_cv_archive/libcercs_env.a"
tmp_search_results=""
-echo "configure:35067: searching for $search_list " >&5
+echo "configure:35119: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:35071: first found $tmp_search_results " >&5
+ echo "configure:35123: first found $tmp_search_results " >&5
break
fi
done
@@ -35137,11 +35189,11 @@ else
search_list="$PWD/../cercs_env $PWD/../../cercs_env $PWD/../../../cercs_env"
tmp_search_results=""
-echo "configure:35140: searching for $search_list " >&5
+echo "configure:35192: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:35144: first found $tmp_search_results " >&5
+ echo "configure:35196: first found $tmp_search_results " >&5
break
fi
done
@@ -35179,11 +35231,11 @@ else
search_list="$PWD/../cercs_env $PWD/../../cercs_env $PWD/../../../cercs_env"
tmp_search_results=""
-echo "configure:35182: searching for $search_list " >&5
+echo "configure:35234: searching for $search_list " >&5
for tmp_search_value in $search_list; do
if test -r $tmp_search_value; then
tmp_search_results=$tmp_search_value
- echo "configure:35186: first found $tmp_search_results " >&5
+ echo "configure:35238: first found $tmp_search_results " >&5
break
fi
done
@@ -36921,7 +36973,7 @@ fi
if test "x$with_fastbit" != xno; then
- FASTBIT_CPPFLAGS="-I$with_fastbit/include"
+ FASTBIT_CPPFLAGS="-I$with_fastbit/include/fastbit"
FASTBIT_LDFLAGS="-L$with_fastbit/lib"
FASTBIT_LIBS="-lfastbit"
@@ -37721,37 +37773,21 @@ if test -z "${HAVE_DATASPACES_TRUE}"; then
ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS}"
ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${DATASPACES_LDFLAGS}"
ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${DATASPACES_LIBS}"
- ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
- ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS}"
- ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${DATASPACES_LDFLAGS}"
- ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${DATASPACES_LIBS}"
- ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
+ ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
ADIOSREADLIB_CFLAGS="${ADIOSREADLIB_CFLAGS} ${DATASPACES_CFLAGS}"
ADIOSREADLIB_LDFLAGS="${ADIOSREADLIB_LDFLAGS} ${DATASPACES_LDFLAGS}"
ADIOSREADLIB_LDADD="${ADIOSREADLIB_LDADD} ${DATASPACES_LIBS}"
- ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
- ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${DATASPACES_CFLAGS}"
- ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${DATASPACES_LDFLAGS}"
- ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${DATASPACES_LIBS}"
-fi
+ fi
if test -z "${HAVE_DIMES_TRUE}"; then
ADIOSLIB_CPPFLAGS="${ADIOSLIB_CPPFLAGS} ${DIMES_CPPFLAGS}"
ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS}"
ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${DIMES_LDFLAGS}"
ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${DIMES_LIBS}"
- ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} ${DIMES_CPPFLAGS}"
- ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS}"
- ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${DIMES_LDFLAGS}"
- ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${DIMES_LIBS}"
- ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} ${DIMES_CPPFLAGS}"
+ ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} ${DIMES_CPPFLAGS}"
ADIOSREADLIB_CFLAGS="${ADIOSREADLIB_CFLAGS} ${DIMES_CFLAGS}"
ADIOSREADLIB_LDFLAGS="${ADIOSREADLIB_LDFLAGS} ${DIMES_LDFLAGS}"
ADIOSREADLIB_LDADD="${ADIOSREADLIB_LDADD} ${DIMES_LIBS}"
- ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} ${DIMES_CPPFLAGS}"
- ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${DIMES_CFLAGS}"
- ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${DIMES_LDFLAGS}"
- ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${DIMES_LIBS}"
-fi
+ fi
if test -z "${HAVE_NSSI_TRUE}"; then
ADIOSLIB_CPPFLAGS="${ADIOSLIB_CPPFLAGS} ${NSSI_CPPFLAGS}"
ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS} ${NSSI_CFLAGS}"
@@ -38228,26 +38264,14 @@ _ACEOF
fi
VERSION_MAJOR=`echo ${VERSION} | sed -e "s/\..*//"`
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION_MAJOR ${VERSION_MAJOR}
-_ACEOF
-
VERSION_MINOR=`echo ${VERSION} | sed -e "s/[0-9]*\.\([0-9]*\).*/\1/"`
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION_MINOR ${VERSION_MINOR}
-_ACEOF
-
VERSION_MICRO=`echo ${VERSION} | sed -e "s/[0-9]*\.[0-9]*\.\([0-9]*\).*/\1/"`
VERSION_MICRO=`echo ${VERSION_MICRO} | sed -e "s/${VERSION}//"`
if test -z "${VERSION_MICRO}"; then
VERSION_MICRO=0
fi
-cat >>confdefs.h <<_ACEOF
-#define VERSION_MICRO ${VERSION_MICRO}
-_ACEOF
+
# Get the version of the source we are configuring here
@@ -38263,7 +38287,7 @@ _ACEOF
-ac_config_files="$ac_config_files Makefile src/Makefile tests/Makefile tests/C/Makefile tests/C/flexpath_tests/Makefile tests/C/flexpath_tests/1D_arr_global/Makefile tests/C/flexpath_tests/1D_arr_global_noxml/Makefile tests/C/flexpath_tests/global_range_select/Makefile tests/C/flexpath_tests/maya_noxml/Makefile tests/C/flexpath_tests/maya_append/Makefile tests/C/flexpath_tests/scalar/Makefile tests/C/fgr_tests/Makefile tests/C/query/Makefile tests/C/query/common/Makefile tests/C/query/fa [...]
+ac_config_files="$ac_config_files Makefile src/Makefile tests/Makefile tests/C/Makefile tests/C/flexpath_tests/Makefile tests/C/flexpath_tests/1D_arr_global/Makefile tests/C/flexpath_tests/1D_arr_global_noxml/Makefile tests/C/flexpath_tests/global_range_select/Makefile tests/C/flexpath_tests/maya_noxml/Makefile tests/C/flexpath_tests/maya_append/Makefile tests/C/flexpath_tests/scalar/Makefile tests/C/fgr_tests/Makefile tests/C/query/Makefile tests/C/query/common/Makefile tests/C/query/fa [...]
cat >confcache <<\_ACEOF
@@ -39673,7 +39697,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by adios $as_me 1.8.0, which was
+This file was extended by adios $as_me 1.9.0, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -39736,7 +39760,7 @@ Report bugs to <bug-autoconf at gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-adios config.status 1.8.0
+adios config.status 1.9.0
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -40318,6 +40342,12 @@ do
"tests/bp_read/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bp_read/Makefile" ;;
"tests/suite/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/Makefile" ;;
"tests/suite/programs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/Makefile" ;;
+ "tests/suite/programs/examples/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/examples/Makefile" ;;
+ "tests/suite/programs/examples/attributes/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/examples/attributes/Makefile" ;;
+ "tests/suite/programs/examples/scalars/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/examples/scalars/Makefile" ;;
+ "tests/suite/programs/examples/local_array/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/examples/local_array/Makefile" ;;
+ "tests/suite/programs/examples/global_array/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/examples/global_array/Makefile" ;;
+ "tests/suite/programs/examples/global_array_time/Makefile") CONFIG_FILES="$CONFIG_FILES tests/suite/programs/examples/global_array_time/Makefile" ;;
"utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
"utils/skeldump/Makefile") CONFIG_FILES="$CONFIG_FILES utils/skeldump/Makefile" ;;
"utils/skel/Makefile") CONFIG_FILES="$CONFIG_FILES utils/skel/Makefile" ;;
@@ -40336,6 +40366,7 @@ do
"utils/bp2bp/Makefile") CONFIG_FILES="$CONFIG_FILES utils/bp2bp/Makefile" ;;
"utils/list_methods/Makefile") CONFIG_FILES="$CONFIG_FILES utils/list_methods/Makefile" ;;
"utils/bpmeta/Makefile") CONFIG_FILES="$CONFIG_FILES utils/bpmeta/Makefile" ;;
+ "utils/bprecover/Makefile") CONFIG_FILES="$CONFIG_FILES utils/bprecover/Makefile" ;;
"utils/fastbit/Makefile") CONFIG_FILES="$CONFIG_FILES utils/fastbit/Makefile" ;;
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
"examples/C/Makefile") CONFIG_FILES="$CONFIG_FILES examples/C/Makefile" ;;
@@ -40363,6 +40394,7 @@ do
"examples/Fortran/schema/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Fortran/schema/Makefile" ;;
"adios_config") CONFIG_FILES="$CONFIG_FILES adios_config" ;;
"adios_config.flags") CONFIG_FILES="$CONFIG_FILES adios_config.flags" ;;
+ "src/public/adios_version.h") CONFIG_FILES="$CONFIG_FILES src/public/adios_version.h" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
diff --git a/configure.ac b/configure.ac
index 320d5fb..ae92d02 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,4 @@
-s
-AC_INIT([adios], [1.8.0])
+AC_INIT([adios], [1.9.0])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(config)
@@ -247,36 +246,36 @@ if test -z "${HAVE_DATASPACES_TRUE}"; then
ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS}"
ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${DATASPACES_LDFLAGS}"
ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${DATASPACES_LIBS}"
- ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
- ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS}"
- ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${DATASPACES_LDFLAGS}"
- ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${DATASPACES_LIBS}"
+ dnl ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
+ dnl ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS}"
+ dnl ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${DATASPACES_LDFLAGS}"
+ dnl ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${DATASPACES_LIBS}"
ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
ADIOSREADLIB_CFLAGS="${ADIOSREADLIB_CFLAGS} ${DATASPACES_CFLAGS}"
ADIOSREADLIB_LDFLAGS="${ADIOSREADLIB_LDFLAGS} ${DATASPACES_LDFLAGS}"
ADIOSREADLIB_LDADD="${ADIOSREADLIB_LDADD} ${DATASPACES_LIBS}"
- ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
- ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${DATASPACES_CFLAGS}"
- ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${DATASPACES_LDFLAGS}"
- ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${DATASPACES_LIBS}"
+ dnl ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} ${DATASPACES_CPPFLAGS}"
+ dnl ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${DATASPACES_CFLAGS}"
+ dnl ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${DATASPACES_LDFLAGS}"
+ dnl ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${DATASPACES_LIBS}"
fi
if test -z "${HAVE_DIMES_TRUE}"; then
ADIOSLIB_CPPFLAGS="${ADIOSLIB_CPPFLAGS} ${DIMES_CPPFLAGS}"
ADIOSLIB_CFLAGS="${ADIOSLIB_CFLAGS}"
ADIOSLIB_LDFLAGS="${ADIOSLIB_LDFLAGS} ${DIMES_LDFLAGS}"
ADIOSLIB_LDADD="${ADIOSLIB_LDADD} ${DIMES_LIBS}"
- ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} ${DIMES_CPPFLAGS}"
- ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS}"
- ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${DIMES_LDFLAGS}"
- ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${DIMES_LIBS}"
+ dnl ADIOSLIB_SEQ_CPPFLAGS="${ADIOSLIB_SEQ_CPPFLAGS} ${DIMES_CPPFLAGS}"
+ dnl ADIOSLIB_SEQ_CFLAGS="${ADIOSLIB_SEQ_CFLAGS}"
+ dnl ADIOSLIB_SEQ_LDFLAGS="${ADIOSLIB_SEQ_LDFLAGS} ${DIMES_LDFLAGS}"
+ dnl ADIOSLIB_SEQ_LDADD="${ADIOSLIB_SEQ_LDADD} ${DIMES_LIBS}"
ADIOSREADLIB_CPPFLAGS="${ADIOSREADLIB_CPPFLAGS} ${DIMES_CPPFLAGS}"
ADIOSREADLIB_CFLAGS="${ADIOSREADLIB_CFLAGS} ${DIMES_CFLAGS}"
ADIOSREADLIB_LDFLAGS="${ADIOSREADLIB_LDFLAGS} ${DIMES_LDFLAGS}"
ADIOSREADLIB_LDADD="${ADIOSREADLIB_LDADD} ${DIMES_LIBS}"
- ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} ${DIMES_CPPFLAGS}"
- ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${DIMES_CFLAGS}"
- ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${DIMES_LDFLAGS}"
- ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${DIMES_LIBS}"
+ dnl ADIOSREADLIB_SEQ_CPPFLAGS="${ADIOSREADLIB_SEQ_CPPFLAGS} ${DIMES_CPPFLAGS}"
+ dnl ADIOSREADLIB_SEQ_CFLAGS="${ADIOSREADLIB_SEQ_CFLAGS} ${DIMES_CFLAGS}"
+ dnl ADIOSREADLIB_SEQ_LDFLAGS="${ADIOSREADLIB_SEQ_LDFLAGS} ${DIMES_LDFLAGS}"
+ dnl ADIOSREADLIB_SEQ_LDADD="${ADIOSREADLIB_SEQ_LDADD} ${DIMES_LIBS}"
fi
if test -z "${HAVE_NSSI_TRUE}"; then
ADIOSLIB_CPPFLAGS="${ADIOSLIB_CPPFLAGS} ${NSSI_CPPFLAGS}"
@@ -740,16 +739,19 @@ fi
dnl Generate major/minor/micro version numbers
VERSION_MAJOR=[`echo ${VERSION} | sed -e "s/\..*//"`]
-AC_DEFINE_UNQUOTED(VERSION_MAJOR, ${VERSION_MAJOR}, [Major version number])
+dnl AC_DEFINE_UNQUOTED(VERSION_MAJOR, ${VERSION_MAJOR}, [Major version number])
VERSION_MINOR=[`echo ${VERSION} | sed -e "s/[0-9]*\.\([0-9]*\).*/\1/"`]
-AC_DEFINE_UNQUOTED(VERSION_MINOR, ${VERSION_MINOR}, [Minor version number])
+dnl AC_DEFINE_UNQUOTED(VERSION_MINOR, ${VERSION_MINOR}, [Minor version number])
VERSION_MICRO=[`echo ${VERSION} | sed -e "s/[0-9]*\.[0-9]*\.\([0-9]*\).*/\1/"`]
dnl if micro not defined, here it equals to VERSION; do a minus
VERSION_MICRO=`echo ${VERSION_MICRO} | sed -e "s/${VERSION}//"`
if test -z "${VERSION_MICRO}"; then
VERSION_MICRO=0
fi
-AC_DEFINE_UNQUOTED(VERSION_MICRO, ${VERSION_MICRO}, [Micro version number])
+dnl AC_DEFINE_UNQUOTED(VERSION_MICRO, ${VERSION_MICRO}, [Micro version number])
+AC_SUBST(VERSION_MAJOR)
+AC_SUBST(VERSION_MINOR)
+AC_SUBST(VERSION_MICRO)
# Get the version of the source we are configuring here
# Just to print it out at the end of configure
@@ -785,6 +787,12 @@ AC_CONFIG_FILES([Makefile
tests/bp_read/Makefile
tests/suite/Makefile
tests/suite/programs/Makefile
+ tests/suite/programs/examples/Makefile
+ tests/suite/programs/examples/attributes/Makefile
+ tests/suite/programs/examples/scalars/Makefile
+ tests/suite/programs/examples/local_array/Makefile
+ tests/suite/programs/examples/global_array/Makefile
+ tests/suite/programs/examples/global_array_time/Makefile
utils/Makefile
utils/skeldump/Makefile
utils/skel/Makefile
@@ -803,6 +811,7 @@ AC_CONFIG_FILES([Makefile
utils/bp2bp/Makefile
utils/list_methods/Makefile
utils/bpmeta/Makefile
+ utils/bprecover/Makefile
utils/fastbit/Makefile
examples/Makefile
examples/C/Makefile
@@ -830,6 +839,7 @@ AC_CONFIG_FILES([Makefile
examples/Fortran/schema/Makefile
adios_config
adios_config.flags
+ src/public/adios_version.h
])
AC_OUTPUT
diff --git a/examples/C/Makefile.in b/examples/C/Makefile.in
index 06616a0..a647c63 100644
--- a/examples/C/Makefile.in
+++ b/examples/C/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/examples/C/arrays/CMakeLists.txt b/examples/C/arrays/CMakeLists.txt
index f17ac03..c92f58e 100644
--- a/examples/C/arrays/CMakeLists.txt
+++ b/examples/C/arrays/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/arrays)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/arrays)
add_executable(arrays_write arrays_write.c)
diff --git a/examples/C/arrays/Makefile.am b/examples/C/arrays/Makefile.am
index ccdc43a..1361f6a 100644
--- a/examples/C/arrays/Makefile.am
+++ b/examples/C/arrays/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/arrays/Makefile.in b/examples/C/arrays/Makefile.in
index 699cc25..6c51acf 100644
--- a/examples/C/arrays/Makefile.in
+++ b/examples/C/arrays/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
arrays_write_SOURCES = arrays_write.c
arrays_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/attributes/CMakeLists.txt b/examples/C/attributes/CMakeLists.txt
index 298a0b3..357a7dc 100644
--- a/examples/C/attributes/CMakeLists.txt
+++ b/examples/C/attributes/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/attributes)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/attributes)
add_executable(attributes_write attributes_write.c)
diff --git a/examples/C/attributes/Makefile.am b/examples/C/attributes/Makefile.am
index 7b7253c..c70cc26 100644
--- a/examples/C/attributes/Makefile.am
+++ b/examples/C/attributes/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/attributes/Makefile.in b/examples/C/attributes/Makefile.in
index 90126cd..d646522 100644
--- a/examples/C/attributes/Makefile.in
+++ b/examples/C/attributes/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
attributes_write_SOURCES = attributes_write.c
attributes_write_LDADD = $(top_builddir)/src/libadios.a \
diff --git a/examples/C/attributes/attributes_read.c b/examples/C/attributes/attributes_read.c
index d032252..222a7d6 100644
--- a/examples/C/attributes/attributes_read.c
+++ b/examples/C/attributes/attributes_read.c
@@ -44,20 +44,33 @@ int main (int argc, char ** argv)
adios_get_attr (f, f->attr_namelist[i], &attr_type, &attr_size, &data);
printf ("rank %d: attr: %s %s = ", rank, adios_type_to_string(attr_type), f->attr_namelist[i]);
- switch (attr_type)
+ int type_size = adios_type_size (attr_type, data);
+ int nelems = attr_size / type_size;
+ int k;
+ char *p = (char*)data;
+ for (k=0; k<nelems; k++)
{
- case adios_integer:
- printf ("%d\n", *(int *)data);
- break;
- case adios_double:
- printf ("%e\n", *(double *)data);
- break;
- case adios_string:
- printf ("%s\n", (char *)data);
- break;
- default:
- printf ("??????\n");
+ if (k>0) printf(", ");
+ switch (attr_type)
+ {
+ case adios_integer:
+ printf ("%d", *(int *)p);
+ break;
+ case adios_double:
+ printf ("%e", *(double *)p);
+ break;
+ case adios_string:
+ printf ("\"%s\"", (char *)p);
+ break;
+ case adios_string_array:
+ printf ("\"%s\"", *(char **)p);
+ break;
+ default:
+ printf ("??????\n");
+ }
+ p=p+type_size;
}
+ printf("\n");
free (data);
data = 0;
}
diff --git a/examples/C/flexpath_arrays/Makefile.in b/examples/C/flexpath_arrays/Makefile.in
index a60fd5e..33bafbd 100644
--- a/examples/C/flexpath_arrays/Makefile.in
+++ b/examples/C/flexpath_arrays/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/examples/C/flexpath_arrays/global_range_select/CMakeLists.txt b/examples/C/flexpath_arrays/global_range_select/CMakeLists.txt
index ef4896f..1967674 100644
--- a/examples/C/flexpath_arrays/global_range_select/CMakeLists.txt
+++ b/examples/C/flexpath_arrays/global_range_select/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/flexpath_arrays/global_range_select)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/flexpath_arrays/global_range_select)
add_executable(global_arrays_write arrays_write.c)
diff --git a/examples/C/flexpath_arrays/global_range_select/Makefile.am b/examples/C/flexpath_arrays/global_range_select/Makefile.am
index 4578c7c..9c7e77c 100644
--- a/examples/C/flexpath_arrays/global_range_select/Makefile.am
+++ b/examples/C/flexpath_arrays/global_range_select/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/flexpath_arrays/global_range_select/Makefile.in b/examples/C/flexpath_arrays/global_range_select/Makefile.in
index 525e5d5..b4b9582 100644
--- a/examples/C/flexpath_arrays/global_range_select/Makefile.in
+++ b/examples/C/flexpath_arrays/global_range_select/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
arrays_write_SOURCES = arrays_write.c
arrays_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/flexpath_arrays/process_select/CMakeLists.txt b/examples/C/flexpath_arrays/process_select/CMakeLists.txt
index 5bb71b8..5351cbd 100644
--- a/examples/C/flexpath_arrays/process_select/CMakeLists.txt
+++ b/examples/C/flexpath_arrays/process_select/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/flexpath_arrays/process_select)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/flexpath_arrays/process_select)
add_executable(select_arrays_write arrays_write.c)
diff --git a/examples/C/flexpath_arrays/process_select/Makefile.am b/examples/C/flexpath_arrays/process_select/Makefile.am
index 0345f82..4b24454 100644
--- a/examples/C/flexpath_arrays/process_select/Makefile.am
+++ b/examples/C/flexpath_arrays/process_select/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/flexpath_arrays/process_select/Makefile.in b/examples/C/flexpath_arrays/process_select/Makefile.in
index 73b99bd..4a773b5 100644
--- a/examples/C/flexpath_arrays/process_select/Makefile.in
+++ b/examples/C/flexpath_arrays/process_select/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
arrays_write_SOURCES = arrays_write.c
arrays_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/global-array-time/CMakeLists.txt b/examples/C/global-array-time/CMakeLists.txt
index 14bd686..d95dc06 100644
--- a/examples/C/global-array-time/CMakeLists.txt
+++ b/examples/C/global-array-time/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/global-array-time)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/global-array-time)
add_executable(adios_globaltime adios_globaltime.c)
diff --git a/examples/C/global-array-time/Makefile.am b/examples/C/global-array-time/Makefile.am
index d71d2ea..26ce27c 100644
--- a/examples/C/global-array-time/Makefile.am
+++ b/examples/C/global-array-time/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/global-array-time/Makefile.in b/examples/C/global-array-time/Makefile.in
index 7bab32b..88de1b8 100644
--- a/examples/C/global-array-time/Makefile.in
+++ b/examples/C/global-array-time/Makefile.in
@@ -341,6 +341,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -398,8 +401,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
adios_globaltime_SOURCES = adios_globaltime.c
adios_globaltime_LDADD = $(top_builddir)/src/libadios.a \
diff --git a/examples/C/global-array/CMakeLists.txt b/examples/C/global-array/CMakeLists.txt
index 99abc4f..9c38db4 100644
--- a/examples/C/global-array/CMakeLists.txt
+++ b/examples/C/global-array/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/global-array)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/global-array)
add_executable(adios_global adios_global.c)
diff --git a/examples/C/global-array/Makefile.am b/examples/C/global-array/Makefile.am
index 639c16c..fc5b5e8 100644
--- a/examples/C/global-array/Makefile.am
+++ b/examples/C/global-array/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/global-array/Makefile.in b/examples/C/global-array/Makefile.in
index ea1df9c..16d6fc7 100644
--- a/examples/C/global-array/Makefile.in
+++ b/examples/C/global-array/Makefile.in
@@ -398,6 +398,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -455,8 +458,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
adios_global_SOURCES = adios_global.c
adios_global_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/global-array/adios_global.xml b/examples/C/global-array/adios_global.xml
index a3cfd4d..8edc5ca 100644
--- a/examples/C/global-array/adios_global.xml
+++ b/examples/C/global-array/adios_global.xml
@@ -6,7 +6,7 @@
<var name="rank" type="integer"/>
<global-bounds dimensions="size,NX" offsets="rank,0">
<var name="temperature" gwrite="t" type="double" dimensions="1,NX"
- transform="identity"/>
+ transform="none"/>
</global-bounds>
<attribute name="temperature/description"
value="Global array written from 'size' processes"
diff --git a/examples/C/global-array/no_xml_write_byid.c b/examples/C/global-array/no_xml_write_byid.c
index 2b6cbf9..2429c4c 100644
--- a/examples/C/global-array/no_xml_write_byid.c
+++ b/examples/C/global-array/no_xml_write_byid.c
@@ -38,6 +38,9 @@ int main (int argc, char ** argv)
int nblocks = 3;
MPI_Comm comm = MPI_COMM_WORLD;
char g_str[100], o_str[100], l_str[100];
+ // attributes (from C variables)
+ int someints[5] = {5,4,3,2,1};
+ double somedoubles[5] = {5.55555, 4.4444, 3.333, 2.22, 1.1};
/* ADIOS variables declarations for matching gwrite_temperature.ch */
uint64_t adios_groupsize, adios_totalsize;
@@ -70,9 +73,26 @@ int main (int argc, char ** argv)
,"", adios_double
,l_str, g_str, o_str
);
- adios_set_transform (var_ids[i], "identity");
+ adios_set_transform (var_ids[i], "none");
}
-
+
+ // add some attributes
+ adios_define_attribute_byvalue (m_adios_group,
+ "single_string","", adios_string, 1, "A single string attribute");
+ char *strings[] = {"X","Yy","ZzZ"};
+ adios_define_attribute_byvalue (m_adios_group,
+ "three_strings","", adios_string_array, 3, strings);
+ adios_define_attribute_byvalue (m_adios_group,
+ "single_int", "", adios_integer, 1, &someints);
+ adios_define_attribute_byvalue (m_adios_group,
+ "single_double","", adios_double, 1, &somedoubles);
+ adios_define_attribute_byvalue (m_adios_group,
+ "five_ints", "", adios_integer, 5, &someints);
+ adios_define_attribute_byvalue (m_adios_group,
+ "five_double", "", adios_double, 5, &somedoubles);
+
+
+
adios_open (&m_adios_file, "restart", filename, "w", comm);
adios_groupsize = nblocks * (4 + 4 + 4 + NX * 8);
diff --git a/examples/C/icee_arrays/Makefile.in b/examples/C/icee_arrays/Makefile.in
index a642cab..1e1cdda 100644
--- a/examples/C/icee_arrays/Makefile.in
+++ b/examples/C/icee_arrays/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/examples/C/icee_arrays/array/CMakeLists.txt b/examples/C/icee_arrays/array/CMakeLists.txt
index 199180b..1c81fcc 100644
--- a/examples/C/icee_arrays/array/CMakeLists.txt
+++ b/examples/C/icee_arrays/array/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/icee_arrays/array)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/icee_arrays/array)
add_executable(adios_write adios_write.c)
diff --git a/examples/C/icee_arrays/array/Makefile.am b/examples/C/icee_arrays/array/Makefile.am
index 1f6bb96..3658f0c 100644
--- a/examples/C/icee_arrays/array/Makefile.am
+++ b/examples/C/icee_arrays/array/Makefile.am
@@ -1,5 +1,5 @@
INCLUDES = $(all_includes)
-INCLUDES += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+INCLUDES += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/icee_arrays/array/Makefile.in b/examples/C/icee_arrays/array/Makefile.in
index 6af8141..682b6d1 100644
--- a/examples/C/icee_arrays/array/Makefile.in
+++ b/examples/C/icee_arrays/array/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-INCLUDES = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+INCLUDES = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
adios_write_SOURCES = adios_write.c
adios_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/manual/CMakeLists.txt b/examples/C/manual/CMakeLists.txt
index 1604c70..b2c0a96 100644
--- a/examples/C/manual/CMakeLists.txt
+++ b/examples/C/manual/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/manual)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/manual)
set (PROGS 1_nonadios_example 2_adios_write 3_adios_read 4_adios_nfiles)
diff --git a/examples/C/manual/Makefile.am b/examples/C/manual/Makefile.am
index 4e92193..dcadff0 100644
--- a/examples/C/manual/Makefile.am
+++ b/examples/C/manual/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/manual/Makefile.in b/examples/C/manual/Makefile.in
index 9272595..9481d5d 100644
--- a/examples/C/manual/Makefile.in
+++ b/examples/C/manual/Makefile.in
@@ -330,6 +330,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -387,8 +390,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
1_nonadios_example_SOURCES = 1_nonadios_example.c
1_nonadios_example_LDADD = $(top_builddir)/src/libadios.a \
diff --git a/examples/C/query/CMakeLists.txt b/examples/C/query/CMakeLists.txt
index a999b6d..fb49fee 100644
--- a/examples/C/query/CMakeLists.txt
+++ b/examples/C/query/CMakeLists.txt
@@ -1,5 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/query)
add_executable(write_vars write_vars.c)
diff --git a/examples/C/query/Makefile.am b/examples/C/query/Makefile.am
index 43791fd..8f6c02b 100644
--- a/examples/C/query/Makefile.am
+++ b/examples/C/query/Makefile.am
@@ -1,5 +1,5 @@
INCLUDES = $(all_includes)
-INCLUDES += -I$(top_srcdir)/src/public -I$(top_srcdir)/src/query
+INCLUDES += -I$(top_builddir)/src/public -I$(top_srcdir)/src/public -I$(top_srcdir)/src/query
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/query/Makefile.in b/examples/C/query/Makefile.in
index fb60e87..fd8d467 100644
--- a/examples/C/query/Makefile.in
+++ b/examples/C/query/Makefile.in
@@ -330,6 +330,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -387,8 +390,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-INCLUDES = $(all_includes) -I$(top_srcdir)/src/public \
- -I$(top_srcdir)/src/query
+INCLUDES = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src/public -I$(top_srcdir)/src/query
AUTOMAKE_OPTIONS = no-dependencies
write_vars_SOURCES = write_vars.c
write_vars_LDADD = $(top_builddir)/src/libadios_nompi.a \
diff --git a/examples/C/read_all/CMakeLists.txt b/examples/C/read_all/CMakeLists.txt
index bc581e9..c87d31d 100644
--- a/examples/C/read_all/CMakeLists.txt
+++ b/examples/C/read_all/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/read_all)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/read_all)
add_executable(read_all read_all.c)
diff --git a/examples/C/read_all/Makefile.am b/examples/C/read_all/Makefile.am
index af63728..95464db 100644
--- a/examples/C/read_all/Makefile.am
+++ b/examples/C/read_all/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/read_all/Makefile.in b/examples/C/read_all/Makefile.in
index 616099b..ac26962 100644
--- a/examples/C/read_all/Makefile.in
+++ b/examples/C/read_all/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
read_all_SOURCES = read_all.c
read_all_CPPFLAGS = ${MACRODEFFLAG}_NOMPI $(AM_CPPFLAGS)
diff --git a/examples/C/scalars/CMakeLists.txt b/examples/C/scalars/CMakeLists.txt
index 0f2dcc2..92afc80 100644
--- a/examples/C/scalars/CMakeLists.txt
+++ b/examples/C/scalars/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/scalars)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/scalars)
add_executable(scalars_write scalars_write.c)
diff --git a/examples/C/scalars/Makefile.am b/examples/C/scalars/Makefile.am
index 12207c1..137e8af 100644
--- a/examples/C/scalars/Makefile.am
+++ b/examples/C/scalars/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/scalars/Makefile.in b/examples/C/scalars/Makefile.in
index 69c2509..4b3b7d6 100644
--- a/examples/C/scalars/Makefile.in
+++ b/examples/C/scalars/Makefile.in
@@ -323,6 +323,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -380,8 +383,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
scalars_write_SOURCES = scalars_write.c
scalars_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/schema/CMakeLists.txt b/examples/C/schema/CMakeLists.txt
index 665135b..d2a0202 100644
--- a/examples/C/schema/CMakeLists.txt
+++ b/examples/C/schema/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/schema)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/schema)
add_executable(uniform2d uniform2d.c)
diff --git a/examples/C/schema/Makefile.am b/examples/C/schema/Makefile.am
index 71bd796..50ece6d 100644
--- a/examples/C/schema/Makefile.am
+++ b/examples/C/schema/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/schema/Makefile.in b/examples/C/schema/Makefile.in
index 7f2f8bb..bef4cf4 100644
--- a/examples/C/schema/Makefile.in
+++ b/examples/C/schema/Makefile.in
@@ -371,6 +371,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -428,8 +431,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
uniform2d_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
uniform2d_LDFLAGS = $(ADIOSLIB_LDFLAGS)
diff --git a/examples/C/stat/CMakeLists.txt b/examples/C/stat/CMakeLists.txt
index c819f5f..0350eb6 100644
--- a/examples/C/stat/CMakeLists.txt
+++ b/examples/C/stat/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/stat)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/stat)
add_executable(stat_write stat_write.c)
diff --git a/examples/C/stat/Makefile.am b/examples/C/stat/Makefile.am
index 4fd8509..39bc00f 100644
--- a/examples/C/stat/Makefile.am
+++ b/examples/C/stat/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/stat/Makefile.in b/examples/C/stat/Makefile.in
index 5a6bb66..32485de 100644
--- a/examples/C/stat/Makefile.in
+++ b/examples/C/stat/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
stat_write_SOURCES = stat_write.c
stat_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/C/transforms/CMakeLists.txt b/examples/C/transforms/CMakeLists.txt
index d1c5011..98ea6c2 100644
--- a/examples/C/transforms/CMakeLists.txt
+++ b/examples/C/transforms/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/examples/C/transforms)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/examples/C/transforms)
add_executable(transforms_adios_global adios_global.c)
diff --git a/examples/C/transforms/Makefile.am b/examples/C/transforms/Makefile.am
index 85951fc..f9a3690 100644
--- a/examples/C/transforms/Makefile.am
+++ b/examples/C/transforms/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public $(TIMER_CPPFLAGS)
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public $(TIMER_CPPFLAGS)
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/C/transforms/Makefile.in b/examples/C/transforms/Makefile.in
index aad0c9c..d631626 100644
--- a/examples/C/transforms/Makefile.in
+++ b/examples/C/transforms/Makefile.in
@@ -330,6 +330,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -387,8 +390,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public $(TIMER_CPPFLAGS)
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ $(TIMER_CPPFLAGS)
AUTOMAKE_OPTIONS = no-dependencies
adios_global_SOURCES = adios_global.c
adios_global_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/examples/Fortran/Makefile.in b/examples/Fortran/Makefile.in
index 26a22d6..9e6465f 100644
--- a/examples/Fortran/Makefile.in
+++ b/examples/Fortran/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/examples/Fortran/arrays/CMakeLists.txt b/examples/Fortran/arrays/CMakeLists.txt
index 4a9164a..6089dc7 100644
--- a/examples/Fortran/arrays/CMakeLists.txt
+++ b/examples/Fortran/arrays/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/examples/Fortran/arrays)
link_directories(${PROJECT_BINARY_DIR}/examples/Fortran/arrays)
diff --git a/examples/Fortran/arrays/Makefile.am b/examples/Fortran/arrays/Makefile.am
index 3688588..355e3b4 100644
--- a/examples/Fortran/arrays/Makefile.am
+++ b/examples/Fortran/arrays/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/Fortran/arrays/Makefile.in b/examples/Fortran/arrays/Makefile.in
index a41660e..1995213 100644
--- a/examples/Fortran/arrays/Makefile.in
+++ b/examples/Fortran/arrays/Makefile.in
@@ -310,6 +310,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -367,7 +370,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
arrays_write_SOURCES = arrays_write.F90
arrays_write_LDADD = $(top_builddir)/src/libadiosf.a $(ADIOSLIB_LDADD)
diff --git a/examples/Fortran/global-array-time/CMakeLists.txt b/examples/Fortran/global-array-time/CMakeLists.txt
index badcc2b..a1e4303 100644
--- a/examples/Fortran/global-array-time/CMakeLists.txt
+++ b/examples/Fortran/global-array-time/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/examples/Fortran/global-array-time)
link_directories(${PROJECT_BINARY_DIR}/examples/Fortran/global-array-time)
diff --git a/examples/Fortran/global-array-time/Makefile.am b/examples/Fortran/global-array-time/Makefile.am
index 929a4ac..59247a5 100644
--- a/examples/Fortran/global-array-time/Makefile.am
+++ b/examples/Fortran/global-array-time/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/Fortran/global-array-time/Makefile.in b/examples/Fortran/global-array-time/Makefile.in
index 375defb..066eee9 100644
--- a/examples/Fortran/global-array-time/Makefile.in
+++ b/examples/Fortran/global-array-time/Makefile.in
@@ -303,6 +303,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -360,7 +363,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
adios_globaltime_SOURCES = adios_globaltime.F90
adios_globaltime_LDADD = $(top_builddir)/src/libadiosf.a \
diff --git a/examples/Fortran/global-array/CMakeLists.txt b/examples/Fortran/global-array/CMakeLists.txt
index 87fc05a..b52d4a0 100644
--- a/examples/Fortran/global-array/CMakeLists.txt
+++ b/examples/Fortran/global-array/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/examples/Fortran/global-array)
link_directories(${PROJECT_BINARY_DIR}/examples/Fortran/global-array)
diff --git a/examples/Fortran/global-array/Makefile.am b/examples/Fortran/global-array/Makefile.am
index cb350ed..3abd135 100644
--- a/examples/Fortran/global-array/Makefile.am
+++ b/examples/Fortran/global-array/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/Fortran/global-array/Makefile.in b/examples/Fortran/global-array/Makefile.in
index a0ef697..f233372 100644
--- a/examples/Fortran/global-array/Makefile.in
+++ b/examples/Fortran/global-array/Makefile.in
@@ -320,6 +320,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -377,7 +380,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
adios_global_SOURCES = adios_global.F90
adios_global_LDADD = $(top_builddir)/src/libadiosf.a $(ADIOSLIB_LDADD)
diff --git a/examples/Fortran/global-array/no_xml_write_byid.F90 b/examples/Fortran/global-array/no_xml_write_byid.F90
index 23dcc03..e2bce3b 100644
--- a/examples/Fortran/global-array/no_xml_write_byid.F90
+++ b/examples/Fortran/global-array/no_xml_write_byid.F90
@@ -29,6 +29,11 @@ program no_xml_write_byid
integer*8 :: m_adios_group
integer*8 :: var_id1, var_id2
character(len=32) :: local, global, offset
+ !! attributes (from C variables)
+ integer, dimension(5) :: someints = (/ 5,4,3,2,1 /)
+ real*8, dimension(5) :: somedoubles = (/ 5.55555, 4.4444, 3.333, 2.22, 1.1 /)
+ character(len=5), dimension(3) :: three_strings = (/ "X ", "Yy ", "ZzZ " /)
+
call MPI_Init (ierr)
call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
@@ -65,6 +70,22 @@ program no_xml_write_byid
call adios_set_transform (var_id2, "identity", adios_err)
+
+ !! add some attributes
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "single_string","", 1, "A single string attribute", adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "three_strings","", 3, three_strings, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "single_int", "", 1, someints, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "single_double","", 1, somedoubles, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "five_ints", "", 5, someints, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "five_double", "", 5, somedoubles, adios_err)
+
+
call adios_open (adios_handle, "restart", filename, "w", comm, adios_err)
adios_groupsize = NX * 8 &
diff --git a/examples/Fortran/scalars/CMakeLists.txt b/examples/Fortran/scalars/CMakeLists.txt
index 644adbc..5fed1e9 100644
--- a/examples/Fortran/scalars/CMakeLists.txt
+++ b/examples/Fortran/scalars/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/examples/Fortran/scalars)
link_directories(${PROJECT_BINARY_DIR}/examples/Fortran/scalars)
diff --git a/examples/Fortran/scalars/Makefile.am b/examples/Fortran/scalars/Makefile.am
index 67e1eda..3ac9197 100644
--- a/examples/Fortran/scalars/Makefile.am
+++ b/examples/Fortran/scalars/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/Fortran/scalars/Makefile.in b/examples/Fortran/scalars/Makefile.in
index 5520f84..31b0ad1 100644
--- a/examples/Fortran/scalars/Makefile.in
+++ b/examples/Fortran/scalars/Makefile.in
@@ -310,6 +310,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -367,7 +370,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
scalars_write_SOURCES = scalars_write.F90
scalars_write_LDADD = $(top_builddir)/src/libadiosf.a \
diff --git a/examples/Fortran/schema/CMakeLists.txt b/examples/Fortran/schema/CMakeLists.txt
index d4d8d48..4ceae9b 100644
--- a/examples/Fortran/schema/CMakeLists.txt
+++ b/examples/Fortran/schema/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/examples/Fortran/schema)
link_directories(${PROJECT_BINARY_DIR}/examples/Fortran/schema)
diff --git a/examples/Fortran/schema/Makefile.am b/examples/Fortran/schema/Makefile.am
index 099c3df..2a41c5e 100644
--- a/examples/Fortran/schema/Makefile.am
+++ b/examples/Fortran/schema/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/examples/Fortran/schema/Makefile.in b/examples/Fortran/schema/Makefile.in
index 1e05a74..92e6e1c 100644
--- a/examples/Fortran/schema/Makefile.in
+++ b/examples/Fortran/schema/Makefile.in
@@ -337,6 +337,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -394,7 +397,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
uniform2d_f_noxml_SOURCES = uniform2d_noxml.F90
uniform2d_f_noxml_LDADD = $(top_builddir)/src/libadiosf.a \
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 62c8c58..c955f14 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/examples/coupling/coupling_reader_2D.F90 b/examples/coupling/coupling_reader_2D.F90
index 20f10b9..cdc845d 100644
--- a/examples/coupling/coupling_reader_2D.F90
+++ b/examples/coupling/coupling_reader_2D.F90
@@ -291,12 +291,12 @@ subroutine processArgs()
use adios_read_mod
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, method_str, mode_str, ts_str
diff --git a/examples/coupling/coupling_writer_2D.F90 b/examples/coupling/coupling_writer_2D.F90
index f47b8af..8badded 100644
--- a/examples/coupling/coupling_writer_2D.F90
+++ b/examples/coupling/coupling_writer_2D.F90
@@ -180,12 +180,12 @@ subroutine processArgs()
use coupling_writer_2D_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, npz_str, ldx_str, ldy_str, ldz_str, ts_str
diff --git a/examples/staging/stage_write/genarray_stream.F90 b/examples/staging/stage_write/genarray_stream.F90
index 494ea6f..e4a3fbd 100644
--- a/examples/staging/stage_write/genarray_stream.F90
+++ b/examples/staging/stage_write/genarray_stream.F90
@@ -257,12 +257,12 @@ subroutine processArgs()
use genarray_stream_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, npz_str, ndx_str, ndy_str, ndz_str
diff --git a/examples/staging/stage_write_varyingsize/decompose_block.o b/examples/staging/stage_write_varyingsize/decompose_block.o
new file mode 100644
index 0000000..282b12e
Binary files /dev/null and b/examples/staging/stage_write_varyingsize/decompose_block.o differ
diff --git a/examples/staging/stage_write_varyingsize/genarray_varying b/examples/staging/stage_write_varyingsize/genarray_varying
new file mode 100755
index 0000000..f36de26
Binary files /dev/null and b/examples/staging/stage_write_varyingsize/genarray_varying differ
diff --git a/examples/staging/stage_write_varyingsize/genarray_varying.F90 b/examples/staging/stage_write_varyingsize/genarray_varying.F90
index 021d956..387706c 100644
--- a/examples/staging/stage_write_varyingsize/genarray_varying.F90
+++ b/examples/staging/stage_write_varyingsize/genarray_varying.F90
@@ -271,12 +271,12 @@ subroutine processArgs()
use genarray_varying_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, npz_str, ndx_str, ndy_str, ndz_str
diff --git a/examples/staging/stage_write_varyingsize/genarray_varying.o b/examples/staging/stage_write_varyingsize/genarray_varying.o
new file mode 100644
index 0000000..2b8f39a
Binary files /dev/null and b/examples/staging/stage_write_varyingsize/genarray_varying.o differ
diff --git a/examples/staging/stage_write_varyingsize/genarray_varying_comm.mod b/examples/staging/stage_write_varyingsize/genarray_varying_comm.mod
new file mode 100644
index 0000000..2dac388
--- /dev/null
+++ b/examples/staging/stage_write_varyingsize/genarray_varying_comm.mod
@@ -0,0 +1,122 @@
+V27 0x4 genarray_varying_comm
+20 genarray_varying.F90 S622 0
+07/23/2015 08:59:31
+enduse
+D 56 18 12
+D 58 21 9 3 45 43 0 1 0 0 1
+ 19 23 37 19 23 21
+ 25 29 39 25 29 27
+ 31 35 41 31 35 33
+D 61 21 6 1 0 16 0 0 0 0 0
+ 0 16 0 3 16 0
+D 64 18 46
+S 622 24 0 0 0 8 1 0 5031 5 0 A 0 0 0 0 0 0 0 0 0 0 0 0 59 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 genarray_varying_comm
+S 623 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 624 6 4 0 0 56 625 622 5053 4 0 A 0 0 0 0 0 0 0 0 0 0 0 0 684 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 outputfile
+S 625 6 4 0 0 56 669 622 5064 4 0 A 0 0 0 0 0 256 0 0 0 0 0 0 684 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 inputfile
+S 626 6 4 0 0 6 627 622 5074 4 0 A 0 0 0 0 0 0 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 npx
+S 627 6 4 0 0 6 628 622 5078 4 0 A 0 0 0 0 0 4 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 npy
+S 628 6 4 0 0 6 629 622 5082 4 0 A 0 0 0 0 0 8 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 npz
+S 629 6 4 0 0 6 630 622 5086 4 0 A 0 0 0 0 0 12 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 ndx
+S 630 6 4 0 0 6 631 622 5090 4 0 A 0 0 0 0 0 16 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 ndy
+S 631 6 4 0 0 6 632 622 5094 4 0 A 0 0 0 0 0 20 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 ndz
+S 632 6 4 0 0 6 633 622 5098 4 0 A 0 0 0 0 0 24 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 timesteps
+S 633 6 4 0 0 6 634 622 5108 4 0 A 0 0 0 0 0 28 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 sleeptime
+S 634 6 4 0 0 16 635 622 5118 4 0 A 0 0 0 0 0 32 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 common_size
+S 635 6 4 0 0 6 636 622 5130 4 0 A 0 0 0 0 0 36 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 gndx
+S 636 6 4 0 0 6 637 622 5135 4 0 A 0 0 0 0 0 40 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 gndy
+S 637 6 4 0 0 6 638 622 5140 4 0 A 0 0 0 0 0 44 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 gndz
+S 638 6 4 0 0 6 639 622 5145 4 0 A 0 0 0 0 0 48 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 offx
+S 639 6 4 0 0 6 640 622 5150 4 0 A 0 0 0 0 0 52 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 offy
+S 640 6 4 0 0 6 641 622 5155 4 0 A 0 0 0 0 0 56 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 offz
+S 641 6 4 0 0 6 642 622 5160 40800006 0 A 0 0 0 0 0 60 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 z_b_0
+S 642 6 4 0 0 6 643 622 5166 40800006 0 A 0 0 0 0 0 64 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 z_b_1
+S 643 6 4 0 0 6 661 622 5172 40800006 0 A 0 0 0 0 0 68 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 z_b_2
+S 644 7 6 0 0 58 1 622 5178 10a00004 51 A 0 0 0 0 0 0 647 0 0 0 649 0 0 0 0 0 0 0 0 646 0 0 648 622 0 0 0 0 double_xyz
+S 645 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 646 8 4 0 0 61 626 622 5189 40822004 1020 A 0 0 0 0 0 0 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 double_xyz$sd
+S 647 6 4 0 0 7 648 622 5203 40802001 1020 A 0 0 0 0 0 0 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 double_xyz$p
+S 648 6 4 0 0 7 646 622 5216 40802000 1020 A 0 0 0 0 0 0 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 double_xyz$o
+S 649 22 1 0 0 8 1 622 5229 40000000 1000 A 0 0 0 0 0 0 0 644 0 0 0 0 646 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 double_xyz$arrdsc
+S 650 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 651 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 652 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 653 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 654 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 655 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 656 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 657 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 658 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 659 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 660 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 661 6 4 0 0 6 662 622 5247 4 0 A 0 0 0 0 0 72 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 wrank
+S 662 6 4 0 0 6 663 622 5253 4 0 A 0 0 0 0 0 76 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 wnproc
+S 663 6 4 0 0 6 664 622 5260 4 0 A 0 0 0 0 0 80 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 app_comm
+S 664 6 4 0 0 6 665 622 5269 4 0 A 0 0 0 0 0 84 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 color
+S 665 6 4 0 0 6 666 622 5275 4 0 A 0 0 0 0 0 88 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 rank
+S 666 6 4 0 0 6 667 622 5280 4 0 A 0 0 0 0 0 92 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 nproc
+S 667 6 4 0 0 6 675 622 5286 4 0 A 0 0 0 0 0 96 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 ierr
+S 668 3 0 0 0 6 0 1 0 0 0 A 0 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
+S 669 6 4 0 0 64 670 622 5291 4 0 A 0 0 0 0 0 512 0 0 0 0 0 0 684 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 group
+S 670 6 4 0 0 64 1 622 5297 4 0 A 0 0 0 0 0 712 0 0 0 0 0 0 684 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 filename
+S 671 6 4 0 0 7 672 622 5306 4 0 A 0 0 0 0 0 0 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 handle
+S 672 6 4 0 0 7 673 622 5313 4 0 A 0 0 0 0 0 8 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 total_size
+S 673 6 4 0 0 7 674 622 5324 4 0 A 0 0 0 0 0 16 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 group_size
+S 674 6 4 0 0 7 676 622 5335 4 0 A 0 0 0 0 0 24 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 adios_totalsize
+S 675 6 4 0 0 6 1 622 5351 4 0 A 0 0 0 0 0 100 0 0 0 0 0 0 685 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 err
+S 676 6 4 0 0 9 677 622 5355 4 0 A 0 0 0 0 0 32 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 start_time
+S 677 6 4 0 0 9 678 622 5366 4 0 A 0 0 0 0 0 40 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 end_time
+S 678 6 4 0 0 9 679 622 5375 4 0 A 0 0 0 0 0 48 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 total_time
+S 679 6 4 0 0 9 680 622 5386 4 0 A 0 0 0 0 0 56 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 gbs
+S 680 6 4 0 0 9 681 622 5390 4 0 A 0 0 0 0 0 64 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 sz
+S 681 6 4 0 0 9 682 622 5393 4 0 A 0 0 0 0 0 72 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 io_start_time
+S 682 6 4 0 0 9 683 622 5407 4 0 A 0 0 0 0 0 80 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 io_end_time
+S 683 6 4 0 0 9 1 622 5419 4 0 A 0 0 0 0 0 88 0 0 0 0 0 0 686 0 0 0 0 0 0 0 0 0 0 622 0 0 0 0 io_total_time
+S 684 11 0 0 0 8 1 622 5433 40800000 805000 A 0 0 0 0 0 912 0 0 624 670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _genarray_varying_comm$1
+S 685 11 0 0 0 8 684 622 5458 40800000 805000 A 0 0 0 0 0 240 0 0 647 675 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _genarray_varying_comm$0
+S 686 11 0 0 0 8 685 622 5483 40800000 805000 A 0 0 0 0 0 96 0 0 671 683 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _genarray_varying_comm$2
+A 12 2 0 0 0 6 623 0 0 0 12 0 0 0 0 0 0 0 0 0
+A 16 2 0 0 0 6 645 0 0 0 16 0 0 0 0 0 0 0 0 0
+A 17 2 0 0 0 6 650 0 0 0 17 0 0 0 0 0 0 0 0 0
+A 18 1 0 1 0 61 646 0 0 0 0 0 0 0 0 0 0 0 0 0
+A 19 10 0 0 0 6 18 1 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 17
+A 20 2 0 0 0 6 651 0 0 0 20 0 0 0 0 0 0 0 0 0
+A 21 10 0 0 19 6 18 4 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 20
+A 22 4 0 0 0 6 21 0 3 0 0 0 0 2 0 0 0 0 0 0
+A 23 4 0 0 7 6 19 0 22 0 0 0 0 1 0 0 0 0 0 0
+A 24 2 0 0 0 6 652 0 0 0 24 0 0 0 0 0 0 0 0 0
+A 25 10 0 0 21 6 18 7 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 24
+A 26 2 0 0 0 6 653 0 0 0 26 0 0 0 0 0 0 0 0 0
+A 27 10 0 0 25 6 18 10 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 26
+A 28 4 0 0 0 6 27 0 3 0 0 0 0 2 0 0 0 0 0 0
+A 29 4 0 0 0 6 25 0 28 0 0 0 0 1 0 0 0 0 0 0
+A 30 2 0 0 0 6 654 0 0 0 30 0 0 0 0 0 0 0 0 0
+A 31 10 0 0 27 6 18 13 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 30
+A 32 2 0 0 0 6 655 0 0 0 32 0 0 0 0 0 0 0 0 0
+A 33 10 0 0 31 6 18 16 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 32
+A 34 4 0 0 0 6 33 0 3 0 0 0 0 2 0 0 0 0 0 0
+A 35 4 0 0 0 6 31 0 34 0 0 0 0 1 0 0 0 0 0 0
+A 36 2 0 0 0 6 656 0 0 0 36 0 0 0 0 0 0 0 0 0
+A 37 10 0 0 33 6 18 19 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 36
+A 38 2 0 0 0 6 657 0 0 0 38 0 0 0 0 0 0 0 0 0
+A 39 10 0 0 37 6 18 22 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 38
+A 40 2 0 0 0 6 658 0 0 0 40 0 0 0 0 0 0 0 0 0
+A 41 10 0 0 39 6 18 25 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 40
+A 42 2 0 0 0 6 659 0 0 0 42 0 0 0 0 0 0 0 0 0
+A 43 10 0 0 41 6 18 28 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 42
+A 44 2 0 0 0 6 660 0 0 0 44 0 0 0 0 0 0 0 0 0
+A 45 10 0 0 43 6 18 31 0 0 0 0 0 0 0 0 0 0 0 0
+X 1 44
+A 46 2 0 0 0 6 668 0 0 0 46 0 0 0 0 0 0 0 0 0
+Z
+Z
diff --git a/examples/staging/stage_write_varyingsize/stage_write b/examples/staging/stage_write_varyingsize/stage_write
new file mode 100755
index 0000000..1728864
Binary files /dev/null and b/examples/staging/stage_write_varyingsize/stage_write differ
diff --git a/examples/staging/stage_write_varyingsize/stage_write.o b/examples/staging/stage_write_varyingsize/stage_write.o
new file mode 100644
index 0000000..2875c01
Binary files /dev/null and b/examples/staging/stage_write_varyingsize/stage_write.o differ
diff --git a/examples/staging/stage_write_varyingsize/utils.o b/examples/staging/stage_write_varyingsize/utils.o
new file mode 100644
index 0000000..4132438
Binary files /dev/null and b/examples/staging/stage_write_varyingsize/utils.o differ
diff --git a/runconf b/runconf
index 9ca8d6e..ea41c5a 100755
--- a/runconf
+++ b/runconf
@@ -21,13 +21,13 @@ if [ `hostname | cut -c 1-4` == "sith" ]; then
echo "Configure on SITH for $TARGET env. for user ${USER}"
module unload hdf5
module unload netcdf
+ module unload mxml
+ module unload python
module unload PE-gnu
module unload PE-pgi
module unload PE-intel
module unload PE-pathscale
module unload pgi gcc intel pathscale
- module unload python
- module unload mxml
module load PE-$TARGET
module load mxml/2.9
MXMLDIR=$MXML_DIR
@@ -54,27 +54,36 @@ if [ `hostname | cut -c 1-4` == "sith" ]; then
module unload netcdf
#module load szip
module load bzip2
- #module load dataspaces/1.4.0
+ #module load dataspaces/1.5.0
export MPICC=mpicc
export MPICXX=mpiCC
export MPIFC=mpif90
+ export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK"
+ export CFLAGS="-g -O0 -fPIC"
+ export CXXFLAGS="-g -O0 -fPIC"
+ export FCFLAGS="-g -O0 -fPIC"
WITHFLEX=""
WITHFGR=""
WITHFASTBIT=""
+ unset DATASPACES_DIR
if [ "$TARGET" == "pgi" ]; then
export CC=pgcc
export CXX=pgCC
export FC=pgf90
WITHFLEX="--with-flexpath=/ccs/proj/e2e/chaos/sith/$TARGET"
WITHFGR="--with-fgr=/ccs/proj/e2e/qliu/tap"
- WITHFASTBIT="--with-fastbit=/sw/redhat6/fastbit/svn/rhel6_gnu4.7.2"
- DATASPACES_DIR="/ccs/home/hbui/usr/software/dataspaces-dev"
+ WITHFASTBIT="--with-fastbit=/sw/redhat6/fastbit/svn/rhel6_gnu4.4.7"
+ DATASPACES_DIR="/ccs/proj/e2e/dataspaces/sith-tcp/1.6.pgi"
+ #DATASPACES_DIR="/ccs/home/hbui/usr/software/dataspaces-dev"
elif [ "$TARGET" == "gnu" ]; then
export CC=gcc
export CXX=g++
export FC=gfortran
+ #export CFLAGS="$CFLAGS -gdwarf-3"
+ #export FCFLAGS="$FCFLAGS -gdwarf-3"
WITHFLEX="--with-flexpath=/ccs/proj/e2e/chaos/sith/$TARGET"
- WITHFASTBIT="--with-fastbit=/sw/redhat6/fastbit/svn/rhel6_gnu4.7.2"
+ WITHFASTBIT="--with-fastbit=/sw/redhat6/fastbit/svn/rhel6_gnu4.8.2"
+ DATASPACES_DIR="/ccs/proj/e2e/dataspaces/sith-tcp/1.6.gnu"
elif [ "$TARGET" == "intel" ]; then
export CC=icc
export CXX=icpc
@@ -84,8 +93,6 @@ if [ `hostname | cut -c 1-4` == "sith" ]; then
exit 1
fi
- export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK"
- export CFLAGS="-g -fPIC"
$SRCDIR/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/sith.$TARGET \
--config-cache \
--enable-dependency-tracking \
@@ -98,14 +105,14 @@ if [ `hostname | cut -c 1-4` == "sith" ]; then
--with-netcdf-libs="${SEQ_NC_CLIB}" \
--with-zlib \
--with-bzip2=$BZIP2_DIR \
- --with-dataspaces=$DATASPACES_DIR \
- --with-dimes=$DATASPACES_DIR \
+ --without-infiniband --with-dataspaces=$DATASPACES_DIR \
$WITHFLEX \
- $WITHFGR \
$WITHFASTBIT \
--with-aplod=/ccs/proj/e2e/ncsu/sith.gnu \
--with-isobar=/ccs/proj/e2e/ncsu/sith.gnu \
- --with-glib=/ccs/proj/e2e/qliu/glib
+ #--with-dimes=$DATASPACES_DIR \
+ #--with-glib=/ccs/proj/e2e/qliu/glib
+ #$WITHFGR \
#--with-szip=$SZIP_DIR \
#--with-phdf5=${PAR_HDF5_DIR} \
#--with-phdf5-libs="${PAR_HDF5_CLIB}" \
@@ -380,6 +387,7 @@ elif [ `hostname | cut -c 1-5` == "titan" ]; then
module swap craype-interlagos craype-istanbul
module swap cray-libsci
module load dataspaces/1.4.0
+ unset EXTRA_CFLAGS
unset EXTRA_LIBS
unset LDFLAGS
if [ "$TARGET" == "pgi" ]; then
@@ -398,6 +406,8 @@ elif [ `hostname | cut -c 1-5` == "titan" ]; then
#export EXTRA_LIBS="/opt/gcc/4.8.2/snos/lib64/libstdc++.a"
#module swap gcc gcc/4.4.4
#DATASPACES_DIR="/ccs/proj/e2e/dataspaces/titan/$TARGET"
+ elif [ "$TARGET" == "cray" ]; then
+ export EXTRA_CFLAGS="-h gnu"
fi
# NOTE hdf5-parallel module does not work with C++ compiler
@@ -411,7 +421,7 @@ elif [ `hostname | cut -c 1-5` == "titan" ]; then
#export CC=mpicc
#export FC=mpif90
export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK -DDART_DO_VERSIONING"
- export CFLAGS="-fPIC -g -O0"
+ export CFLAGS="-fPIC -g -O2 ${EXTRA_CFLAGS}"
LIBS="$EXTRA_LIBS" ${SRCDIR}/configure --prefix=/ccs/proj/e2e/${USER}/ADIOS/xk6.$TARGET \
--enable-dependency-tracking \
--disable-maintainer-mode \
@@ -475,13 +485,16 @@ elif [ `hostname | cut -c 1-4` == "eos-" ]; then
unset LDFLAGS
export EXTRA_LIBS="/opt/gcc/4.8.1/snos/lib64/libstdc++.a"
module swap gcc gcc/4.8.1
+ elif [ "$TARGET" == "cray" ]; then
+ export EXTRA_CFLAGS="-h gnu"
else
unset LDFLAGS
unset EXTRA_LIBS
+ unset EXTRA_CFLAGS
fi
module load mxml
module load pmi
- CFLAGS="-g -fPIC" ${SRCDIR}/configure --prefix=/ccs/proj/e2e/pnorbert/ADIOS/eos.$TARGET \
+ CFLAGS="-g -fPIC ${EXTRA_CFLAGS}" ${SRCDIR}/configure --prefix=/ccs/proj/e2e/pnorbert/ADIOS/eos.$TARGET \
--enable-dependency-tracking \
--with-cray-pmi=/opt/cray/pmi/default \
--with-cray-ugni-incdir=/opt/cray/gni-headers/default/include \
@@ -525,9 +538,12 @@ elif [ `hostname | cut -c 1-7` == "chester" ]; then
export EXTRA_LIBS="/opt/gcc/4.7.1/snos/lib64/libstdc++.a"
export FLEXPATH="--with-flexpath=/ccs/proj/e2e/chaos/titan/gnu"
#module swap gcc gcc/4.4.4
+ elif [ "$TARGET" == "cray" ]; then
+ export EXTRA_CFLAGS="-h gnu"
else
unset LDFLAGS
unset EXTRA_LIBS
+ unset EXTRA_CFLAGS
fi
#module load szip
#module load xt-papi
@@ -537,7 +553,7 @@ elif [ `hostname | cut -c 1-7` == "chester" ]; then
# use the two lines below for openmpi
#export CC=mpicc
#export FC=mpif90
- CFLAGS="-g -fPIC" LDFLAGS="$CRAY_RCA_POST_LINK_OPTS" \
+ CFLAGS="-g -fPIC ${EXTRA_CFLAGS}" LDFLAGS="$CRAY_RCA_POST_LINK_OPTS" \
${SRCDIR}/configure --prefix=/ccs/proj/e2e/pnorbert/ADIOS/chester.$TARGET \
--enable-dependency-tracking \
--with-cray-pmi=/opt/cray/pmi/default \
@@ -636,12 +652,20 @@ elif [ `hostname | cut -c 1-6` == "edison" ]; then
export FC=ifort
export LDFLAGS=""
WITHDART=""
+ elif [ "$TARGET" == "cray" ]; then
+ export EXTRA_CFLAGS="-h gnu"
+ export CC=cc
+ export CXX=CC
+ export FC=ftn
+ export LDFLAGS=""
+ WITHDART=""
+ export EXTRA_CFLAGS="-h gnu"
else
echo "TARGET must be pgi or gnu or intel"
exit 1
fi
export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK"
- export CFLAGS="-fPIC"
+ export CFLAGS="-fPIC ${EXTRA_CFLAGS}"
${SRCDIR}/configure --prefix=/global/homes/p/pnorbert/adios/master/edison/$TARGET \
--enable-dependency-tracking \
--with-mxml=$HOME/mxml/mxml.edison \
@@ -692,12 +716,20 @@ elif [ `hostname | cut -c 1-6` == "hopper" ]; then
export FC=ifort
export LDFLAGS=""
WITHDART=""
+ elif [ "$TARGET" == "cray" ]; then
+ export EXTRA_CFLAGS="-h gnu"
+ export CC=cc
+ export CXX=CC
+ export FC=ftn
+ export LDFLAGS=""
+ WITHDART=""
+ export EXTRA_CFLAGS="-h gnu"
else
echo "TARGET must be pgi or gnu or intel"
exit 1
fi
export CPPFLAGS="-DMPICH_IGNORE_CXX_SEEK"
- export CFLAGS="-fPIC"
+ export CFLAGS="-fPIC ${EXTRA_CFLAGS}"
${SRCDIR}/configure --prefix=/project/projectdirs/m499/adios/devel-hopper-$TARGET \
--enable-dependency-tracking \
--with-mxml=$HOME/mxml/mxml.hopper \
@@ -884,7 +916,7 @@ elif [ `hostname | cut -c 1-7` == "adiosVM" ]; then
export FC=gfortran
export CFLAGS="-g -O0 -fPIC -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast"
- ${SRCDIR}/configure --prefix=/opt/adios/1.8 \
+ ${SRCDIR}/configure --prefix=/opt/adios/1.9 \
--disable-maintainer-mode \
--enable-dependency-tracking \
--with-mxml=/opt/mxml \
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3ff9837..727f8ba 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_BINARY_DIR})
include_directories(${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/core ${PROJECT_SOURCE_DIR}/src/core/transforms)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
if(HAVE_NSSI)
@@ -475,6 +475,7 @@ set(include_HEADERS ${include_HEADERS} public/adios.h
public/adios_read_v2_fwd.h
public/adios_selection.h
public/adios_schema.h
+ public/adios_link.h
public/adios_read_ext.h
public/adios_query.h)
@@ -538,6 +539,8 @@ set(libadiosread_a_CPPFLAGS "${libadiosread_a_CPPFLAGS} ${ADIOSLIB_EXTRA_CPPFLAG
#add library adiosread
#include_directories(${include_HEADERS})
install(FILES ${include_HEADERS} DESTINATION ${includedir})
+# install generated header file adios_version.h
+install(FILES ${PROJECT_BINARY_DIR}/src/public/adios_version.h DESTINATION ${includedir})
add_library(adiosread STATIC ${libadiosread_a_SOURCES})
set_target_properties(adiosread PROPERTIES COMPILE_FLAGS "${libadiosread_a_CPPFLAGS} ${libadiosread_a_CFLAGS}")
diff --git a/src/Makefile.am b/src/Makefile.am
index 3132c9f..b310a41 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,4 @@
-AM_CPPFLAGS=-I$(top_srcdir) -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms -I$(top_srcdir)/src/core/query
+AM_CPPFLAGS=-I$(top_builddir)/src/public -I$(top_srcdir) -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms -I$(top_srcdir)/src/core/query
AUTOMAKE_OPTIONS = no-dependencies
METASOURCES=AUTO
@@ -87,7 +87,6 @@ transforms_read_SOURCES = $(transforms_read_HDRS) \
core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
$(transforms_read_method_SOURCES)
transforms_write_SOURCES = $(transforms_write_HDRS) \
@@ -252,17 +251,17 @@ libadiosf_nompi_a_CFLAGS = $(MACRODEFFLAG)_NOMPI $(ADIOSLIB_SEQ_CFLAGS)
if HAVE_DATASPACES
libadios_a_SOURCES += write/adios_dataspaces.c read/read_dataspaces.c
-libadios_nompi_a_SOURCES += write/adios_dataspaces.c read/read_dataspaces.c
+#libadios_nompi_a_SOURCES += write/adios_dataspaces.c read/read_dataspaces.c
if BUILD_FORTRAN
-FortranLibSources += write/adios_dataspaces.c read/read_dataspaces.c
+FortranLibMPISources += write/adios_dataspaces.c read/read_dataspaces.c
endif
endif
if HAVE_DIMES
libadios_a_SOURCES += write/adios_dimes.c read/read_dimes.c
-libadios_nompi_a_SOURCES += write/adios_dimes.c read/read_dimes.c
+#libadios_nompi_a_SOURCES += write/adios_dimes.c read/read_dimes.c
if BUILD_FORTRAN
-FortranLibSources += write/adios_dimes.c read/read_dimes.c
+FortranLibMPISources += write/adios_dimes.c read/read_dimes.c
endif
endif
@@ -410,6 +409,7 @@ endif
endif # BUILD_WRITE
include_HEADERS += public/adios.h \
+ public/adios_version.h \
public/adios_types.h \
public/adios_read.h \
public/adios_error.h \
@@ -421,6 +421,7 @@ include_HEADERS += public/adios.h \
public/adios_read_v2_fwd.h \
public/adios_selection.h \
public/adios_schema.h \
+ public/adios_link.h \
public/adios_read_ext.h \
public/adios_query.h
@@ -565,12 +566,12 @@ libadiosread_nompi_a_SOURCES = core/mpidummy.c\
read/read_bp.c
-if HAVE_DATASPACES
-libadiosread_nompi_a_SOURCES += read/read_dataspaces.c
-endif
-if HAVE_DIMES
-libadiosread_nompi_a_SOURCES += read/read_dimes.c
-endif
+#if HAVE_DATASPACES
+#libadiosread_nompi_a_SOURCES += read/read_dataspaces.c
+#endif
+#if HAVE_DIMES
+#libadiosread_nompi_a_SOURCES += read/read_dimes.c
+#endif
if HAVE_DATATAP
libadiosread_nompi_a_SOURCES += read/read_datatap.c
endif
@@ -613,12 +614,12 @@ FortranReadSeqLibSource = core/mpidummy.c\
core/util.c \
core/qhashtbl.c \
read/read_bp.c
-if HAVE_DATASPACES
-FortranReadSeqLibSource += read/read_dataspaces.c
-endif
-if HAVE_DIMES
-FortranReadSeqLibSource += read/read_dimes.c
-endif
+#if HAVE_DATASPACES
+#FortranReadSeqLibSource += read/read_dataspaces.c
+#endif
+#if HAVE_DIMES
+#FortranReadSeqLibSource += read/read_dimes.c
+#endif
if HAVE_DATATAP
FortranReadSeqLibSource += read/read_datatap.c
endif
@@ -711,6 +712,7 @@ EXTRA_DIST = core/adios_bp_v1.h core/adios_endianness.h \
core/bp_types.h core/bp_utils.h core/buffer.h core/common_adios.h \
core/common_read.h core/adios_infocache.h core/futils.h core/globals.h core/ds_metadata.h \
core/util.h core/flexpath.h core/qhashtbl.h \
+ public/adios_version.h.in \
$(transforms_common_HDRS) $(transforms_read_HDRS) $(transforms_write_HDRS) \
$(query_common_HDRS) $(query_method_HDRS) \
transforms/transform_plugins.h \
diff --git a/src/Makefile.in b/src/Makefile.in
index e19bf66..547aeb2 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -51,32 +51,32 @@ DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__append_7 = libadiosf.a libadiosf_v1.a libadiosf_nompi.a libadiosf_nompi_v1.a
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_BGQ_TRUE at am__append_8 = write/adios_mpi_bgq.c
@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__append_9 = write/adios_dataspaces.c read/read_dataspaces.c
- at BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__append_10 = write/adios_dataspaces.c read/read_dataspaces.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__append_11 = write/adios_dataspaces.c read/read_dataspaces.c
- at BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__append_12 = write/adios_dimes.c read/read_dimes.c
- at BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__append_13 = write/adios_dimes.c read/read_dimes.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__append_14 = write/adios_dimes.c read/read_dimes.c
- at BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__append_15 = write/adios_datatap.c read/read_datatap.c
- at BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__append_16 = write/adios_datatap.c read/read_datatap.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__append_17 = write/adios_datatap.c read/read_datatap.c
- at BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_18 = write/adios_phdf5.c
- at BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_19 = $(MACRODEFFLAG)PHDF5 $(MACRODEFFLAG)H5_USE_16_API
- at BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_20 = $(PHDF5_CPPFLAGS)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_21 = write/adios_phdf5.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_22 = $(PHDF5_CPPFLAGS)
- at BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__append_23 = write/adios_nc4.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__append_24 = write/adios_nc4.c
- at BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__append_25 = write/adios_flexpath.c read/read_flexpath.c
- at BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__append_26 = write/adios_flexpath.c read/read_flexpath.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__append_27 = write/adios_flexpath.c read/read_flexpath.c
- at BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__append_28 = write/adios_icee.c read/read_icee.c
- at BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__append_29 = write/adios_icee.c read/read_icee.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__append_30 = write/adios_icee.c read/read_icee.c
- at BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_31 = nssi/adios_nssi_config.c write/adios_nssi.c nssi/adios_nssi_filter.c read/read_nssi.c
- at BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_32 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_33 = nssi/adios_nssi_config.c write/adios_nssi.c nssi/adios_nssi_filter.c read/read_nssi.c
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_34 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
- at BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_35 = adios_nssi_args.c adios_nssi_args.h
+#libadios_nompi_a_SOURCES += write/adios_dataspaces.c read/read_dataspaces.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__append_10 = write/adios_dataspaces.c read/read_dataspaces.c
+ at BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__append_11 = write/adios_dimes.c read/read_dimes.c
+#libadios_nompi_a_SOURCES += write/adios_dimes.c read/read_dimes.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__append_12 = write/adios_dimes.c read/read_dimes.c
+ at BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__append_13 = write/adios_datatap.c read/read_datatap.c
+ at BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__append_14 = write/adios_datatap.c read/read_datatap.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__append_15 = write/adios_datatap.c read/read_datatap.c
+ at BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_16 = write/adios_phdf5.c
+ at BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_17 = $(MACRODEFFLAG)PHDF5 $(MACRODEFFLAG)H5_USE_16_API
+ at BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_18 = $(PHDF5_CPPFLAGS)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_19 = write/adios_phdf5.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__append_20 = $(PHDF5_CPPFLAGS)
+ at BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__append_21 = write/adios_nc4.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__append_22 = write/adios_nc4.c
+ at BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__append_23 = write/adios_flexpath.c read/read_flexpath.c
+ at BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__append_24 = write/adios_flexpath.c read/read_flexpath.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__append_25 = write/adios_flexpath.c read/read_flexpath.c
+ at BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__append_26 = write/adios_icee.c read/read_icee.c
+ at BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__append_27 = write/adios_icee.c read/read_icee.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__append_28 = write/adios_icee.c read/read_icee.c
+ at BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_29 = nssi/adios_nssi_config.c write/adios_nssi.c nssi/adios_nssi_filter.c read/read_nssi.c
+ at BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_30 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_31 = nssi/adios_nssi_config.c write/adios_nssi.c nssi/adios_nssi_filter.c read/read_nssi.c
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_32 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
+ at BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__append_33 = adios_nssi_args.c adios_nssi_args.h
#libadios_a_SOURCES += write/adios_mpi_stagger.c \
# write/adios_mpi_aggregate.c \
@@ -92,68 +92,77 @@ DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
# write/adios_mpi_stripe.c \
# write/adios_mpi_amr1.c \
# write/adios_adaptive.c
+ at BUILD_WRITE_TRUE@@RESEARCH_TRANSPORTS_FALSE at am__append_34 = $(MACRODEFFLAG)NO_RESEARCH_TRANSPORTS
+ at BUILD_WRITE_TRUE@@RESEARCH_TRANSPORTS_FALSE at am__append_35 = $(MACRODEFFLAG)NO_RESEARCH_TRANSPORTS
@BUILD_WRITE_TRUE@@RESEARCH_TRANSPORTS_FALSE at am__append_36 = $(MACRODEFFLAG)NO_RESEARCH_TRANSPORTS
@BUILD_WRITE_TRUE@@RESEARCH_TRANSPORTS_FALSE at am__append_37 = $(MACRODEFFLAG)NO_RESEARCH_TRANSPORTS
- at BUILD_WRITE_TRUE@@RESEARCH_TRANSPORTS_FALSE at am__append_38 = $(MACRODEFFLAG)NO_RESEARCH_TRANSPORTS
- at BUILD_WRITE_TRUE@@RESEARCH_TRANSPORTS_FALSE at am__append_39 = $(MACRODEFFLAG)NO_RESEARCH_TRANSPORTS
#nodist_libadiosreadf_a_SOURCES += adios_write.mod
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__append_40 = adios_write_mod.mod
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__append_41 = adios_write_mod.mod
- at HAVE_DATASPACES_TRUE@am__append_42 = read/read_dataspaces.c
- at HAVE_DIMES_TRUE@am__append_43 = read/read_dimes.c
- at HAVE_DATATAP_TRUE@am__append_44 = read/read_datatap.c
- at HAVE_FLEXPATH_TRUE@am__append_45 = read/read_flexpath.c
- at HAVE_ICEE_TRUE@am__append_46 = read/read_icee.c
- at HAVE_NSSI_TRUE@am__append_47 = nssi/adios_nssi_config.c read/read_nssi.c
- at HAVE_NSSI_TRUE@am__append_48 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__append_38 = adios_write_mod.mod
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__append_39 = adios_write_mod.mod
+ at HAVE_DATASPACES_TRUE@am__append_40 = read/read_dataspaces.c
+ at HAVE_DIMES_TRUE@am__append_41 = read/read_dimes.c
+ at HAVE_DATATAP_TRUE@am__append_42 = read/read_datatap.c
+ at HAVE_FLEXPATH_TRUE@am__append_43 = read/read_flexpath.c
+ at HAVE_ICEE_TRUE@am__append_44 = read/read_icee.c
+ at HAVE_NSSI_TRUE@am__append_45 = nssi/adios_nssi_config.c read/read_nssi.c
+ at HAVE_NSSI_TRUE@am__append_46 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
#libadiosread_a_CPPFLAGS += $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSLIB_CPPFLAGS) # $(MACRODEFFLAG)USE_TIMERS
- at HAVE_NSSI_TRUE@am__append_49 = $(ADIOSLIB_CFLAGS)
- at BUILD_FORTRAN_TRUE@am__append_50 = libadiosreadf.a libadiosreadf_v1.a
- at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__append_51 = read/read_dataspaces.c
- at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__append_52 = read/read_dimes.c
- at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__append_53 = read/read_datatap.c
- at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__append_54 = read/read_flexpath.c
- at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__append_55 = read/read_icee.c
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_56 = nssi/adios_nssi_config.c read/read_nssi.c
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_57 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_58 = $(ADIOSLIB_CFLAGS)
- at BUILD_FORTRAN_TRUE@am__append_59 = $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_CPPFLAGS)
+ at HAVE_NSSI_TRUE@am__append_47 = $(ADIOSLIB_CFLAGS)
+ at BUILD_FORTRAN_TRUE@am__append_48 = libadiosreadf.a libadiosreadf_v1.a
+ at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__append_49 = read/read_dataspaces.c
+ at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__append_50 = read/read_dimes.c
+ at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__append_51 = read/read_datatap.c
+ at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__append_52 = read/read_flexpath.c
+ at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__append_53 = read/read_icee.c
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_54 = nssi/adios_nssi_config.c read/read_nssi.c
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_55 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_56 = $(ADIOSLIB_CFLAGS)
+ at BUILD_FORTRAN_TRUE@am__append_57 = $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_CPPFLAGS)
#nodist_libadiosreadf_a_SOURCES += adios_read_mod.mod
- at BUILD_FORTRAN_TRUE@am__append_60 = adios_read_mod.mod adios_defs_mod.mod adios_query_mod.mod
- at BUILD_FORTRAN_TRUE@am__append_61 = adios_read_mod.mod adios_defs_mod.mod adios_query_mod.mod
- at HAVE_DATASPACES_TRUE@am__append_62 = read/read_dataspaces.c
- at HAVE_DIMES_TRUE@am__append_63 = read/read_dimes.c
- at HAVE_DATATAP_TRUE@am__append_64 = read/read_datatap.c
- at HAVE_FLEXPATH_TRUE@am__append_65 = read/read_flexpath.c
- at HAVE_ICEE_TRUE@am__append_66 = read/read_icee.c
- at HAVE_NSSI_TRUE@am__append_67 = nssi/adios_nssi_config.c read/read_nssi.c
- at HAVE_NSSI_TRUE@am__append_68 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
- at HAVE_NSSI_TRUE@am__append_69 = $(ADIOSLIB_CFLAGS)
+ at BUILD_FORTRAN_TRUE@am__append_58 = adios_read_mod.mod adios_defs_mod.mod adios_query_mod.mod
+ at BUILD_FORTRAN_TRUE@am__append_59 = adios_read_mod.mod adios_defs_mod.mod adios_query_mod.mod
+
+#if HAVE_DATASPACES
+#libadiosread_nompi_a_SOURCES += read/read_dataspaces.c
+#endif
+#if HAVE_DIMES
+#libadiosread_nompi_a_SOURCES += read/read_dimes.c
+#endif
+ at HAVE_DATATAP_TRUE@am__append_60 = read/read_datatap.c
+ at HAVE_FLEXPATH_TRUE@am__append_61 = read/read_flexpath.c
+ at HAVE_ICEE_TRUE@am__append_62 = read/read_icee.c
+ at HAVE_NSSI_TRUE@am__append_63 = nssi/adios_nssi_config.c read/read_nssi.c
+ at HAVE_NSSI_TRUE@am__append_64 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL
+ at HAVE_NSSI_TRUE@am__append_65 = $(ADIOSLIB_CFLAGS)
# Note: utils/adios_lint needs to link with adios_internals_mxml.o which depends
# on adios_internals.c, buffer.c and adios_transport_hooks.c.
# We put these objects in libadiosread_nompi
# so we do not need to make another _nompi lib just for adios_lint
- at BUILD_FORTRAN_TRUE@am__append_70 = libadiosreadf_nompi.a libadiosreadf_nompi_v1.a
- at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__append_71 = read/read_dataspaces.c
- at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__append_72 = read/read_dimes.c
- at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__append_73 = read/read_datatap.c
- at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__append_74 = read/read_flexpath.c
- at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__append_75 = read/read_icee.c
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_76 = nssi/adios_nssi_config.c read/read_nssi.c
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_77 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL \
+ at BUILD_FORTRAN_TRUE@am__append_66 = libadiosreadf_nompi.a libadiosreadf_nompi_v1.a
+#if HAVE_DATASPACES
+#FortranReadSeqLibSource += read/read_dataspaces.c
+#endif
+#if HAVE_DIMES
+#FortranReadSeqLibSource += read/read_dimes.c
+#endif
+ at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__append_67 = read/read_datatap.c
+ at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__append_68 = read/read_flexpath.c
+ at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__append_69 = read/read_icee.c
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_70 = nssi/adios_nssi_config.c read/read_nssi.c
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_71 = $(MACRODEFFLAG)PTL_IFACE_CLIENT=CRAY_USER_NAL \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ $(MACRODEFFLAG)PTL_IFACE_SERVER=CRAY_USER_NAL \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ $(ADIOSLIB_EXTRA_CPPFLAGS) \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ $(ADIOSLIB_CPPFLAGS) # \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ $(MACRODEFFLAG)USE_TIMERS
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_78 = $(ADIOSLIB_CFLAGS)
- at BUILD_FORTRAN_TRUE@am__append_79 = $(MACRODEFFLAG)_NOMPI $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_CPPFLAGS)
- at BUILD_WRITE_TRUE@am__append_80 = core/adios_internals_mxml.c
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__append_72 = $(ADIOSLIB_CFLAGS)
+ at BUILD_FORTRAN_TRUE@am__append_73 = $(MACRODEFFLAG)_NOMPI $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_CPPFLAGS)
+ at BUILD_WRITE_TRUE@am__append_74 = core/adios_internals_mxml.c
#Note: $(MACRODEFFLAG)NOMPI chokes IBM's bgxlf compiler but it can pass $(MACRODEFFLAG)_NOMPI.
- at HAVE_DMALLOC_TRUE@am__append_81 = $(MACRODEFFLAG)DMALLOC
- at HAVE_DMALLOC_TRUE@am__append_82 = $(MACRODEFFLAG)DMALLOC
+ at HAVE_DMALLOC_TRUE@am__append_75 = $(MACRODEFFLAG)DMALLOC
+ at HAVE_DMALLOC_TRUE@am__append_76 = $(MACRODEFFLAG)DMALLOC
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -317,8 +326,7 @@ am__objects_4 = $(am__objects_1) \
libadios_a-adios_transforms_reqgroup.$(OBJEXT) \
libadios_a-adios_transforms_datablock.$(OBJEXT) \
libadios_a-adios_patchdata.$(OBJEXT) \
- libadios_a-adios_selection_util.$(OBJEXT) \
- libadios_a-adios_read_ext.$(OBJEXT) $(am__objects_3)
+ libadios_a-adios_selection_util.$(OBJEXT) $(am__objects_3)
am__objects_5 = libadios_a-adios_transform_identity_write.$(OBJEXT) \
libadios_a-adios_transform_zlib_write.$(OBJEXT) \
libadios_a-adios_transform_bzip2_write.$(OBJEXT) \
@@ -518,7 +526,6 @@ am__libadios_nompi_a_SOURCES_DIST = core/adios.c core/common_adios.c \
core/transforms/adios_patchdata.c core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
transforms/adios_transform_identity_read.c \
transforms/adios_transform_zlib_read.c \
transforms/adios_transform_bzip2_read.c \
@@ -550,16 +557,14 @@ am__libadios_nompi_a_SOURCES_DIST = core/adios.c core/common_adios.c \
core/adios_bp_v1.c core/adios_endianness.c core/bp_utils.c \
core/futils.c core/adios_error.c core/adios_read.c \
core/adios_read_v1.c core/common_read.c core/adios_infocache.c \
- core/globals.c core/mpidummy.c core/adios_timing.c \
- core/adios_read_hooks.c core/adios_transport_hooks.c \
- core/adios_socket.c core/adios_logger.c core/util.c \
- core/qhashtbl.c read/read_bp.c read/read_bp_staged.c \
- read/read_bp_staged1.c write/adios_posix.c \
- write/adios_posix1.c write/adios_dataspaces.c \
- read/read_dataspaces.c write/adios_dimes.c read/read_dimes.c \
- write/adios_datatap.c read/read_datatap.c \
- write/adios_flexpath.c read/read_flexpath.c write/adios_icee.c \
- read/read_icee.c
+ core/adios_read_ext.c core/globals.c core/mpidummy.c \
+ core/adios_timing.c core/adios_read_hooks.c \
+ core/adios_transport_hooks.c core/adios_socket.c \
+ core/adios_logger.c core/util.c core/qhashtbl.c read/read_bp.c \
+ read/read_bp_staged.c read/read_bp_staged1.c \
+ write/adios_posix.c write/adios_posix1.c write/adios_datatap.c \
+ read/read_datatap.c write/adios_flexpath.c \
+ read/read_flexpath.c write/adios_icee.c read/read_icee.c
am__objects_33 = $(am__objects_1) \
libadios_nompi_a-adios_transforms_common.$(OBJEXT) \
libadios_nompi_a-adios_transforms_hooks.$(OBJEXT) \
@@ -580,7 +585,7 @@ am__objects_35 = $(am__objects_1) \
libadios_nompi_a-adios_transforms_datablock.$(OBJEXT) \
libadios_nompi_a-adios_patchdata.$(OBJEXT) \
libadios_nompi_a-adios_selection_util.$(OBJEXT) \
- libadios_nompi_a-adios_read_ext.$(OBJEXT) $(am__objects_34)
+ $(am__objects_34)
am__objects_36 = \
libadios_nompi_a-adios_transform_identity_write.$(OBJEXT) \
libadios_nompi_a-adios_transform_zlib_write.$(OBJEXT) \
@@ -608,15 +613,11 @@ am__objects_41 = $(am__objects_39) $(am__objects_40) $(am__objects_10)
am__objects_42 = $(am__objects_38) $(am__objects_41)
am__objects_43 = $(am__objects_42) \
libadios_nompi_a-adios_query.$(OBJEXT)
- at BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_44 = libadios_nompi_a-adios_dataspaces.$(OBJEXT) \
- at BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadios_nompi_a-read_dataspaces.$(OBJEXT)
- at BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_45 = libadios_nompi_a-adios_dimes.$(OBJEXT) \
- at BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadios_nompi_a-read_dimes.$(OBJEXT)
- at BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_46 = libadios_nompi_a-adios_datatap.$(OBJEXT) \
+ at BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_44 = libadios_nompi_a-adios_datatap.$(OBJEXT) \
@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE@ libadios_nompi_a-read_datatap.$(OBJEXT)
- at BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_47 = libadios_nompi_a-adios_flexpath.$(OBJEXT) \
+ at BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_45 = libadios_nompi_a-adios_flexpath.$(OBJEXT) \
@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE@ libadios_nompi_a-read_flexpath.$(OBJEXT)
- at BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_48 = libadios_nompi_a-adios_icee.$(OBJEXT) \
+ at BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_46 = libadios_nompi_a-adios_icee.$(OBJEXT) \
@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE@ libadios_nompi_a-read_icee.$(OBJEXT)
@BUILD_WRITE_TRUE at am_libadios_nompi_a_OBJECTS = \
@BUILD_WRITE_TRUE@ libadios_nompi_a-adios.$(OBJEXT) \
@@ -651,8 +652,7 @@ am__objects_43 = $(am__objects_42) \
@BUILD_WRITE_TRUE@ libadios_nompi_a-adios_posix.$(OBJEXT) \
@BUILD_WRITE_TRUE@ libadios_nompi_a-adios_posix1.$(OBJEXT) \
@BUILD_WRITE_TRUE@ $(am__objects_44) $(am__objects_45) \
- at BUILD_WRITE_TRUE@ $(am__objects_46) $(am__objects_47) \
- at BUILD_WRITE_TRUE@ $(am__objects_48)
+ at BUILD_WRITE_TRUE@ $(am__objects_46)
libadios_nompi_a_OBJECTS = $(am_libadios_nompi_a_OBJECTS)
libadiosf_a_AR = $(AR) $(ARFLAGS)
libadiosf_a_LIBADD =
@@ -682,7 +682,6 @@ am__libadiosf_a_SOURCES_DIST = core/adiosf.c core/common_adios.c \
core/transforms/adios_patchdata.c core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
transforms/adios_transform_identity_read.c \
transforms/adios_transform_zlib_read.c \
transforms/adios_transform_bzip2_read.c \
@@ -713,87 +712,83 @@ am__libadiosf_a_SOURCES_DIST = core/adiosf.c core/common_adios.c \
query/fastbit_adios.h query/adiosf_query.c core/buffer.c \
core/adios_bp_v1.c core/adios_endianness.c core/futils.c \
core/adios_error.c core/bp_utils.c core/common_read.c \
- core/adios_infocache.c core/globals.c core/adios_timing.c \
- core/adios_read_hooks.c core/adios_transport_hooks.c \
- core/adios_socket.c core/adios_logger.c core/util.c \
- core/qhashtbl.c read/read_bp.c read/read_bp_staged.c \
- read/read_bp_staged1.c write/adios_posix.c \
- write/adios_posix1.c write/adios_dataspaces.c \
- read/read_dataspaces.c write/adios_dimes.c read/read_dimes.c \
- write/adios_datatap.c read/read_datatap.c \
- write/adios_flexpath.c read/read_flexpath.c write/adios_icee.c \
- read/read_icee.c nssi/adios_nssi_config.c write/adios_nssi.c \
+ core/adios_infocache.c core/adios_read_ext.c core/globals.c \
+ core/adios_timing.c core/adios_read_hooks.c \
+ core/adios_transport_hooks.c core/adios_socket.c \
+ core/adios_logger.c core/util.c core/qhashtbl.c read/read_bp.c \
+ read/read_bp_staged.c read/read_bp_staged1.c \
+ write/adios_posix.c write/adios_posix1.c write/adios_datatap.c \
+ read/read_datatap.c write/adios_flexpath.c \
+ read/read_flexpath.c write/adios_icee.c read/read_icee.c \
+ nssi/adios_nssi_config.c write/adios_nssi.c \
nssi/adios_nssi_filter.c read/read_nssi.c write/adios_mpi.c \
write/adios_mpi_lustre.c write/adios_mpi_amr.c \
write/adios_var_merge.c write/adios_mpi_bgq.c \
- write/adios_phdf5.c write/adios_nc4.c core/adiosf_read.c \
- core/adiosf_defs_mod.f90 core/adiosf_write_mod.f90 \
- core/adiosf_read_mod.f90 query/adios_query_mod.f90
-am__objects_49 = $(am__objects_1) \
+ write/adios_dataspaces.c read/read_dataspaces.c \
+ write/adios_dimes.c read/read_dimes.c write/adios_phdf5.c \
+ write/adios_nc4.c core/adiosf_read.c core/adiosf_defs_mod.f90 \
+ core/adiosf_write_mod.f90 core/adiosf_read_mod.f90 \
+ query/adios_query_mod.f90
+am__objects_47 = $(am__objects_1) \
libadiosf_a-adios_transforms_common.$(OBJEXT) \
libadiosf_a-adios_transforms_hooks.$(OBJEXT) \
libadiosf_a-adios_copyspec.$(OBJEXT) \
libadiosf_a-adios_subvolume.$(OBJEXT)
-am__objects_50 = libadiosf_a-adios_transform_identity_read.$(OBJEXT) \
+am__objects_48 = libadiosf_a-adios_transform_identity_read.$(OBJEXT) \
libadiosf_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosf_a-adios_transform_bzip2_read.$(OBJEXT) \
libadiosf_a-adios_transform_szip_read.$(OBJEXT) \
libadiosf_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosf_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosf_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_51 = $(am__objects_1) \
+am__objects_49 = $(am__objects_1) \
libadiosf_a-adios_transforms_read.$(OBJEXT) \
libadiosf_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosf_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosf_a-adios_transforms_datablock.$(OBJEXT) \
libadiosf_a-adios_patchdata.$(OBJEXT) \
- libadiosf_a-adios_selection_util.$(OBJEXT) \
- libadiosf_a-adios_read_ext.$(OBJEXT) $(am__objects_50)
-am__objects_52 = libadiosf_a-adios_transform_identity_write.$(OBJEXT) \
+ libadiosf_a-adios_selection_util.$(OBJEXT) $(am__objects_48)
+am__objects_50 = libadiosf_a-adios_transform_identity_write.$(OBJEXT) \
libadiosf_a-adios_transform_zlib_write.$(OBJEXT) \
libadiosf_a-adios_transform_bzip2_write.$(OBJEXT) \
libadiosf_a-adios_transform_szip_write.$(OBJEXT) \
libadiosf_a-adios_transform_isobar_write.$(OBJEXT) \
libadiosf_a-adios_transform_aplod_write.$(OBJEXT) \
libadiosf_a-adios_transform_alacrity_write.$(OBJEXT)
-am__objects_53 = $(am__objects_1) \
+am__objects_51 = $(am__objects_1) \
libadiosf_a-adios_transforms_write.$(OBJEXT) \
libadiosf_a-adios_transforms_hooks_write.$(OBJEXT) \
libadiosf_a-adios_transforms_util.$(OBJEXT) \
libadiosf_a-adios_transforms_specparse.$(OBJEXT) \
- $(am__objects_52)
-am__objects_54 = $(am__objects_1) libadiosf_a-common_query.$(OBJEXT) \
+ $(am__objects_50)
+am__objects_52 = $(am__objects_1) libadiosf_a-common_query.$(OBJEXT) \
libadiosf_a-adios_query_hooks.$(OBJEXT) \
libadiosf_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_55 = \
+ at HAVE_FASTBIT_TRUE@am__objects_53 = \
@HAVE_FASTBIT_TRUE@ libadiosf_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosf_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_56 = libadiosf_a-query_alac.$(OBJEXT)
-am__objects_57 = $(am__objects_55) $(am__objects_56) $(am__objects_10)
-am__objects_58 = $(am__objects_54) $(am__objects_57)
-am__objects_59 = $(am__objects_58) libadiosf_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_60 = libadiosf_a-adios_dataspaces.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadiosf_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_61 = libadiosf_a-adios_dimes.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadiosf_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_62 = libadiosf_a-adios_datatap.$(OBJEXT) \
+ at HAVE_ALACRITY_TRUE@am__objects_54 = libadiosf_a-query_alac.$(OBJEXT)
+am__objects_55 = $(am__objects_53) $(am__objects_54) $(am__objects_10)
+am__objects_56 = $(am__objects_52) $(am__objects_55)
+am__objects_57 = $(am__objects_56) libadiosf_a-adiosf_query.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_58 = libadiosf_a-adios_datatap.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE@ libadiosf_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_63 = libadiosf_a-adios_flexpath.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_59 = libadiosf_a-adios_flexpath.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE@ libadiosf_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_64 = libadiosf_a-adios_icee.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_60 = libadiosf_a-adios_icee.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE@ libadiosf_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_65 = libadiosf_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_61 = libadiosf_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_a-adios_nssi.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_a-adios_nssi_filter.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_66 = libadiosf_a-adiosf.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_62 = libadiosf_a-adiosf.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-common_adios.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_internals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_internals_mxml.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_47) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_49) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_51) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_53) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_59) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_57) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-buffer.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_endianness.$(OBJEXT) \
@@ -816,25 +811,29 @@ am__objects_59 = $(am__objects_58) libadiosf_a-adiosf_query.$(OBJEXT)
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-read_bp_staged1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_posix.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_posix1.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_58) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_59) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_60) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_61) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_62) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_63) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_64) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_65)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_BGQ_TRUE at am__objects_67 = libadiosf_a-adios_mpi_bgq.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__objects_68 = libadiosf_a-adios_phdf5.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__objects_69 = libadiosf_a-adios_nc4.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_70 = libadiosf_a-adios_mpi.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_61)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_BGQ_TRUE at am__objects_63 = libadiosf_a-adios_mpi_bgq.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_64 = libadiosf_a-adios_dataspaces.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadiosf_a-read_dataspaces.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_65 = libadiosf_a-adios_dimes.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadiosf_a-read_dimes.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__objects_66 = libadiosf_a-adios_phdf5.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__objects_67 = libadiosf_a-adios_nc4.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_68 = libadiosf_a-adios_mpi.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_mpi_lustre.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_mpi_amr.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adios_var_merge.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_67) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_68) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_69)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_a_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_63) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_64) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_65) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_66) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_70) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_67)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_a_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_62) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_68) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_a-adiosf_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_defs_mod.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_write_mod.$(OBJEXT) \
@@ -873,7 +872,6 @@ am__libadiosf_nompi_a_SOURCES_DIST = core/adiosf.c core/common_adios.c \
core/transforms/adios_patchdata.c core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
transforms/adios_transform_identity_read.c \
transforms/adios_transform_zlib_read.c \
transforms/adios_transform_bzip2_read.c \
@@ -904,26 +902,25 @@ am__libadiosf_nompi_a_SOURCES_DIST = core/adiosf.c core/common_adios.c \
query/fastbit_adios.h query/adiosf_query.c core/buffer.c \
core/adios_bp_v1.c core/adios_endianness.c core/futils.c \
core/adios_error.c core/bp_utils.c core/common_read.c \
- core/adios_infocache.c core/globals.c core/adios_timing.c \
- core/adios_read_hooks.c core/adios_transport_hooks.c \
- core/adios_socket.c core/adios_logger.c core/util.c \
- core/qhashtbl.c read/read_bp.c read/read_bp_staged.c \
- read/read_bp_staged1.c write/adios_posix.c \
- write/adios_posix1.c write/adios_dataspaces.c \
- read/read_dataspaces.c write/adios_dimes.c read/read_dimes.c \
- write/adios_datatap.c read/read_datatap.c \
- write/adios_flexpath.c read/read_flexpath.c write/adios_icee.c \
- read/read_icee.c nssi/adios_nssi_config.c write/adios_nssi.c \
+ core/adios_infocache.c core/adios_read_ext.c core/globals.c \
+ core/adios_timing.c core/adios_read_hooks.c \
+ core/adios_transport_hooks.c core/adios_socket.c \
+ core/adios_logger.c core/util.c core/qhashtbl.c read/read_bp.c \
+ read/read_bp_staged.c read/read_bp_staged1.c \
+ write/adios_posix.c write/adios_posix1.c write/adios_datatap.c \
+ read/read_datatap.c write/adios_flexpath.c \
+ read/read_flexpath.c write/adios_icee.c read/read_icee.c \
+ nssi/adios_nssi_config.c write/adios_nssi.c \
nssi/adios_nssi_filter.c read/read_nssi.c core/mpidummy.c \
core/adiosf_read.c core/adiosf_defs_mod.f90 \
core/adiosf_write_mod.f90 core/adiosf_read_mod.f90 \
query/adios_query_mod.f90
-am__objects_71 = $(am__objects_1) \
+am__objects_69 = $(am__objects_1) \
libadiosf_nompi_a-adios_transforms_common.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_hooks.$(OBJEXT) \
libadiosf_nompi_a-adios_copyspec.$(OBJEXT) \
libadiosf_nompi_a-adios_subvolume.$(OBJEXT)
-am__objects_72 = \
+am__objects_70 = \
libadiosf_nompi_a-adios_transform_identity_read.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -931,15 +928,15 @@ am__objects_72 = \
libadiosf_nompi_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_73 = $(am__objects_1) \
+am__objects_71 = $(am__objects_1) \
libadiosf_nompi_a-adios_transforms_read.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_datablock.$(OBJEXT) \
libadiosf_nompi_a-adios_patchdata.$(OBJEXT) \
libadiosf_nompi_a-adios_selection_util.$(OBJEXT) \
- libadiosf_nompi_a-adios_read_ext.$(OBJEXT) $(am__objects_72)
-am__objects_74 = \
+ $(am__objects_70)
+am__objects_72 = \
libadiosf_nompi_a-adios_transform_identity_write.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_zlib_write.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_bzip2_write.$(OBJEXT) \
@@ -947,47 +944,43 @@ am__objects_74 = \
libadiosf_nompi_a-adios_transform_isobar_write.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_aplod_write.$(OBJEXT) \
libadiosf_nompi_a-adios_transform_alacrity_write.$(OBJEXT)
-am__objects_75 = $(am__objects_1) \
+am__objects_73 = $(am__objects_1) \
libadiosf_nompi_a-adios_transforms_write.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_hooks_write.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_util.$(OBJEXT) \
libadiosf_nompi_a-adios_transforms_specparse.$(OBJEXT) \
- $(am__objects_74)
-am__objects_76 = $(am__objects_1) \
+ $(am__objects_72)
+am__objects_74 = $(am__objects_1) \
libadiosf_nompi_a-common_query.$(OBJEXT) \
libadiosf_nompi_a-adios_query_hooks.$(OBJEXT) \
libadiosf_nompi_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_77 = \
+ at HAVE_FASTBIT_TRUE@am__objects_75 = \
@HAVE_FASTBIT_TRUE@ libadiosf_nompi_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosf_nompi_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_78 = \
+ at HAVE_ALACRITY_TRUE@am__objects_76 = \
@HAVE_ALACRITY_TRUE@ libadiosf_nompi_a-query_alac.$(OBJEXT)
-am__objects_79 = $(am__objects_77) $(am__objects_78) $(am__objects_10)
-am__objects_80 = $(am__objects_76) $(am__objects_79)
-am__objects_81 = $(am__objects_80) \
+am__objects_77 = $(am__objects_75) $(am__objects_76) $(am__objects_10)
+am__objects_78 = $(am__objects_74) $(am__objects_77)
+am__objects_79 = $(am__objects_78) \
libadiosf_nompi_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_82 = libadiosf_nompi_a-adios_dataspaces.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadiosf_nompi_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_83 = libadiosf_nompi_a-adios_dimes.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadiosf_nompi_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_84 = libadiosf_nompi_a-adios_datatap.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_80 = libadiosf_nompi_a-adios_datatap.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE@ libadiosf_nompi_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_85 = libadiosf_nompi_a-adios_flexpath.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_81 = libadiosf_nompi_a-adios_flexpath.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE@ libadiosf_nompi_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_86 = libadiosf_nompi_a-adios_icee.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_82 = libadiosf_nompi_a-adios_icee.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE@ libadiosf_nompi_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_87 = libadiosf_nompi_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_83 = libadiosf_nompi_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_nompi_a-adios_nssi.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_nompi_a-adios_nssi_filter.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_nompi_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_88 = libadiosf_nompi_a-adiosf.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_84 = libadiosf_nompi_a-adiosf.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-common_adios.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adios_internals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adios_internals_mxml.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_69) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_71) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_73) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_75) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_81) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_79) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-buffer.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adios_endianness.$(OBJEXT) \
@@ -1010,16 +1003,14 @@ am__objects_81 = $(am__objects_80) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-read_bp_staged1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adios_posix.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adios_posix1.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_80) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_81) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_82) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_83) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_83)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_85 = libadiosf_nompi_a-mpidummy.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_nompi_a_OBJECTS = \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_84) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_85) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_86) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_87)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_89 = libadiosf_nompi_a-mpidummy.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_nompi_a_OBJECTS = \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_88) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_89) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_a-adiosf_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_defs_mod.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_write_mod.$(OBJEXT) \
@@ -1054,7 +1045,6 @@ am__libadiosf_nompi_v1_a_SOURCES_DIST = core/adiosf.c \
core/transforms/adios_patchdata.c core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
transforms/adios_transform_identity_read.c \
transforms/adios_transform_zlib_read.c \
transforms/adios_transform_bzip2_read.c \
@@ -1085,25 +1075,24 @@ am__libadiosf_nompi_v1_a_SOURCES_DIST = core/adiosf.c \
query/fastbit_adios.h query/adiosf_query.c core/buffer.c \
core/adios_bp_v1.c core/adios_endianness.c core/futils.c \
core/adios_error.c core/bp_utils.c core/common_read.c \
- core/adios_infocache.c core/globals.c core/adios_timing.c \
- core/adios_read_hooks.c core/adios_transport_hooks.c \
- core/adios_socket.c core/adios_logger.c core/util.c \
- core/qhashtbl.c read/read_bp.c read/read_bp_staged.c \
- read/read_bp_staged1.c write/adios_posix.c \
- write/adios_posix1.c write/adios_dataspaces.c \
- read/read_dataspaces.c write/adios_dimes.c read/read_dimes.c \
- write/adios_datatap.c read/read_datatap.c \
- write/adios_flexpath.c read/read_flexpath.c write/adios_icee.c \
- read/read_icee.c nssi/adios_nssi_config.c write/adios_nssi.c \
+ core/adios_infocache.c core/adios_read_ext.c core/globals.c \
+ core/adios_timing.c core/adios_read_hooks.c \
+ core/adios_transport_hooks.c core/adios_socket.c \
+ core/adios_logger.c core/util.c core/qhashtbl.c read/read_bp.c \
+ read/read_bp_staged.c read/read_bp_staged1.c \
+ write/adios_posix.c write/adios_posix1.c write/adios_datatap.c \
+ read/read_datatap.c write/adios_flexpath.c \
+ read/read_flexpath.c write/adios_icee.c read/read_icee.c \
+ nssi/adios_nssi_config.c write/adios_nssi.c \
nssi/adios_nssi_filter.c read/read_nssi.c core/mpidummy.c \
core/adiosf_read_v1.c core/adiosf_defs_mod.f90 \
core/adiosf_write_mod.f90
-am__objects_90 = $(am__objects_1) \
+am__objects_86 = $(am__objects_1) \
libadiosf_nompi_v1_a-adios_transforms_common.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_hooks.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_copyspec.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_subvolume.$(OBJEXT)
-am__objects_91 = \
+am__objects_87 = \
libadiosf_nompi_v1_a-adios_transform_identity_read.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -1111,16 +1100,15 @@ am__objects_91 = \
libadiosf_nompi_v1_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_92 = $(am__objects_1) \
+am__objects_88 = $(am__objects_1) \
libadiosf_nompi_v1_a-adios_transforms_read.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_datablock.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_patchdata.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_selection_util.$(OBJEXT) \
- libadiosf_nompi_v1_a-adios_read_ext.$(OBJEXT) \
- $(am__objects_91)
-am__objects_93 = \
+ $(am__objects_87)
+am__objects_89 = \
libadiosf_nompi_v1_a-adios_transform_identity_write.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_zlib_write.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_bzip2_write.$(OBJEXT) \
@@ -1128,46 +1116,42 @@ am__objects_93 = \
libadiosf_nompi_v1_a-adios_transform_isobar_write.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_aplod_write.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transform_alacrity_write.$(OBJEXT)
-am__objects_94 = $(am__objects_1) \
+am__objects_90 = $(am__objects_1) \
libadiosf_nompi_v1_a-adios_transforms_write.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_hooks_write.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_util.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_transforms_specparse.$(OBJEXT) \
- $(am__objects_93)
-am__objects_95 = $(am__objects_1) \
+ $(am__objects_89)
+am__objects_91 = $(am__objects_1) \
libadiosf_nompi_v1_a-common_query.$(OBJEXT) \
libadiosf_nompi_v1_a-adios_query_hooks.$(OBJEXT) \
libadiosf_nompi_v1_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_96 = libadiosf_nompi_v1_a-query_fastbit.$(OBJEXT) \
+ at HAVE_FASTBIT_TRUE@am__objects_92 = libadiosf_nompi_v1_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosf_nompi_v1_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_97 = \
+ at HAVE_ALACRITY_TRUE@am__objects_93 = \
@HAVE_ALACRITY_TRUE@ libadiosf_nompi_v1_a-query_alac.$(OBJEXT)
-am__objects_98 = $(am__objects_96) $(am__objects_97) $(am__objects_10)
-am__objects_99 = $(am__objects_95) $(am__objects_98)
-am__objects_100 = $(am__objects_99) \
+am__objects_94 = $(am__objects_92) $(am__objects_93) $(am__objects_10)
+am__objects_95 = $(am__objects_91) $(am__objects_94)
+am__objects_96 = $(am__objects_95) \
libadiosf_nompi_v1_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_101 = libadiosf_nompi_v1_a-adios_dataspaces.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadiosf_nompi_v1_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_102 = libadiosf_nompi_v1_a-adios_dimes.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadiosf_nompi_v1_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_103 = libadiosf_nompi_v1_a-adios_datatap.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_97 = libadiosf_nompi_v1_a-adios_datatap.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE@ libadiosf_nompi_v1_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_104 = libadiosf_nompi_v1_a-adios_flexpath.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_98 = libadiosf_nompi_v1_a-adios_flexpath.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE@ libadiosf_nompi_v1_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_105 = libadiosf_nompi_v1_a-adios_icee.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_99 = libadiosf_nompi_v1_a-adios_icee.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE@ libadiosf_nompi_v1_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_106 = libadiosf_nompi_v1_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_100 = libadiosf_nompi_v1_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_nompi_v1_a-adios_nssi.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_nompi_v1_a-adios_nssi_filter.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_nompi_v1_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_107 = libadiosf_nompi_v1_a-adiosf.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_101 = libadiosf_nompi_v1_a-adiosf.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-common_adios.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adios_internals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adios_internals_mxml.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_86) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_88) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_90) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_92) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_94) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_100) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_96) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-buffer.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adios_endianness.$(OBJEXT) \
@@ -1190,16 +1174,14 @@ am__objects_100 = $(am__objects_99) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-read_bp_staged1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adios_posix.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adios_posix1.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_97) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_98) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_99) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_100)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_102 = libadiosf_nompi_v1_a-mpidummy.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_nompi_v1_a_OBJECTS = \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_101) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_102) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_103) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_104) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_105) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_106)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_108 = libadiosf_nompi_v1_a-mpidummy.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_nompi_v1_a_OBJECTS = \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_107) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_108) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_nompi_v1_a-adiosf_read_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_defs_mod.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_write_mod.$(OBJEXT)
@@ -1232,7 +1214,6 @@ am__libadiosf_v1_a_SOURCES_DIST = core/adiosf.c core/common_adios.c \
core/transforms/adios_patchdata.c core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
transforms/adios_transform_identity_read.c \
transforms/adios_transform_zlib_read.c \
transforms/adios_transform_bzip2_read.c \
@@ -1263,27 +1244,28 @@ am__libadiosf_v1_a_SOURCES_DIST = core/adiosf.c core/common_adios.c \
query/fastbit_adios.h query/adiosf_query.c core/buffer.c \
core/adios_bp_v1.c core/adios_endianness.c core/futils.c \
core/adios_error.c core/bp_utils.c core/common_read.c \
- core/adios_infocache.c core/globals.c core/adios_timing.c \
- core/adios_read_hooks.c core/adios_transport_hooks.c \
- core/adios_socket.c core/adios_logger.c core/util.c \
- core/qhashtbl.c read/read_bp.c read/read_bp_staged.c \
- read/read_bp_staged1.c write/adios_posix.c \
- write/adios_posix1.c write/adios_dataspaces.c \
- read/read_dataspaces.c write/adios_dimes.c read/read_dimes.c \
- write/adios_datatap.c read/read_datatap.c \
- write/adios_flexpath.c read/read_flexpath.c write/adios_icee.c \
- read/read_icee.c nssi/adios_nssi_config.c write/adios_nssi.c \
+ core/adios_infocache.c core/adios_read_ext.c core/globals.c \
+ core/adios_timing.c core/adios_read_hooks.c \
+ core/adios_transport_hooks.c core/adios_socket.c \
+ core/adios_logger.c core/util.c core/qhashtbl.c read/read_bp.c \
+ read/read_bp_staged.c read/read_bp_staged1.c \
+ write/adios_posix.c write/adios_posix1.c write/adios_datatap.c \
+ read/read_datatap.c write/adios_flexpath.c \
+ read/read_flexpath.c write/adios_icee.c read/read_icee.c \
+ nssi/adios_nssi_config.c write/adios_nssi.c \
nssi/adios_nssi_filter.c read/read_nssi.c write/adios_mpi.c \
write/adios_mpi_lustre.c write/adios_mpi_amr.c \
write/adios_var_merge.c write/adios_mpi_bgq.c \
- write/adios_phdf5.c write/adios_nc4.c core/adiosf_read_v1.c \
+ write/adios_dataspaces.c read/read_dataspaces.c \
+ write/adios_dimes.c read/read_dimes.c write/adios_phdf5.c \
+ write/adios_nc4.c core/adiosf_read_v1.c \
core/adiosf_defs_mod.f90 core/adiosf_write_mod.f90
-am__objects_109 = $(am__objects_1) \
+am__objects_103 = $(am__objects_1) \
libadiosf_v1_a-adios_transforms_common.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_hooks.$(OBJEXT) \
libadiosf_v1_a-adios_copyspec.$(OBJEXT) \
libadiosf_v1_a-adios_subvolume.$(OBJEXT)
-am__objects_110 = \
+am__objects_104 = \
libadiosf_v1_a-adios_transform_identity_read.$(OBJEXT) \
libadiosf_v1_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosf_v1_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -1291,15 +1273,15 @@ am__objects_110 = \
libadiosf_v1_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosf_v1_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosf_v1_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_111 = $(am__objects_1) \
+am__objects_105 = $(am__objects_1) \
libadiosf_v1_a-adios_transforms_read.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_datablock.$(OBJEXT) \
libadiosf_v1_a-adios_patchdata.$(OBJEXT) \
libadiosf_v1_a-adios_selection_util.$(OBJEXT) \
- libadiosf_v1_a-adios_read_ext.$(OBJEXT) $(am__objects_110)
-am__objects_112 = \
+ $(am__objects_104)
+am__objects_106 = \
libadiosf_v1_a-adios_transform_identity_write.$(OBJEXT) \
libadiosf_v1_a-adios_transform_zlib_write.$(OBJEXT) \
libadiosf_v1_a-adios_transform_bzip2_write.$(OBJEXT) \
@@ -1307,48 +1289,44 @@ am__objects_112 = \
libadiosf_v1_a-adios_transform_isobar_write.$(OBJEXT) \
libadiosf_v1_a-adios_transform_aplod_write.$(OBJEXT) \
libadiosf_v1_a-adios_transform_alacrity_write.$(OBJEXT)
-am__objects_113 = $(am__objects_1) \
+am__objects_107 = $(am__objects_1) \
libadiosf_v1_a-adios_transforms_write.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_hooks_write.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_util.$(OBJEXT) \
libadiosf_v1_a-adios_transforms_specparse.$(OBJEXT) \
- $(am__objects_112)
-am__objects_114 = $(am__objects_1) \
+ $(am__objects_106)
+am__objects_108 = $(am__objects_1) \
libadiosf_v1_a-common_query.$(OBJEXT) \
libadiosf_v1_a-adios_query_hooks.$(OBJEXT) \
libadiosf_v1_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_115 = \
+ at HAVE_FASTBIT_TRUE@am__objects_109 = \
@HAVE_FASTBIT_TRUE@ libadiosf_v1_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosf_v1_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_116 = \
+ at HAVE_ALACRITY_TRUE@am__objects_110 = \
@HAVE_ALACRITY_TRUE@ libadiosf_v1_a-query_alac.$(OBJEXT)
-am__objects_117 = $(am__objects_115) $(am__objects_116) \
+am__objects_111 = $(am__objects_109) $(am__objects_110) \
$(am__objects_10)
-am__objects_118 = $(am__objects_114) $(am__objects_117)
-am__objects_119 = $(am__objects_118) \
+am__objects_112 = $(am__objects_108) $(am__objects_111)
+am__objects_113 = $(am__objects_112) \
libadiosf_v1_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_120 = libadiosf_v1_a-adios_dataspaces.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadiosf_v1_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_121 = libadiosf_v1_a-adios_dimes.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadiosf_v1_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_122 = libadiosf_v1_a-adios_datatap.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE at am__objects_114 = libadiosf_v1_a-adios_datatap.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATATAP_TRUE@ libadiosf_v1_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_123 = libadiosf_v1_a-adios_flexpath.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_115 = libadiosf_v1_a-adios_flexpath.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_FLEXPATH_TRUE@ libadiosf_v1_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_124 = libadiosf_v1_a-adios_icee.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE at am__objects_116 = libadiosf_v1_a-adios_icee.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_ICEE_TRUE@ libadiosf_v1_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_125 = libadiosf_v1_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at am__objects_117 = libadiosf_v1_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_v1_a-adios_nssi.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_v1_a-adios_nssi_filter.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE@ libadiosf_v1_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_126 = libadiosf_v1_a-adiosf.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_118 = libadiosf_v1_a-adiosf.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-common_adios.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_internals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_internals_mxml.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_109) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_111) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_103) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_105) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_107) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_113) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_119) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-buffer.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_endianness.$(OBJEXT) \
@@ -1371,25 +1349,29 @@ am__objects_119 = $(am__objects_118) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-read_bp_staged1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_posix.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_posix1.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_120) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_121) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_122) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_123) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_124) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_125)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_BGQ_TRUE at am__objects_127 = libadiosf_v1_a-adios_mpi_bgq.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__objects_128 = libadiosf_v1_a-adios_phdf5.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__objects_129 = libadiosf_v1_a-adios_nc4.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_130 = libadiosf_v1_a-adios_mpi.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_114) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_115) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_116) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_117)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_BGQ_TRUE at am__objects_119 = libadiosf_v1_a-adios_mpi_bgq.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE at am__objects_120 = libadiosf_v1_a-adios_dataspaces.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DATASPACES_TRUE@ libadiosf_v1_a-read_dataspaces.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE at am__objects_121 = libadiosf_v1_a-adios_dimes.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_DIMES_TRUE@ libadiosf_v1_a-read_dimes.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_PHDF5_TRUE at am__objects_122 = libadiosf_v1_a-adios_phdf5.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@@HAVE_NC4PAR_TRUE at am__objects_123 = libadiosf_v1_a-adios_nc4.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am__objects_124 = libadiosf_v1_a-adios_mpi.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_mpi_lustre.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_mpi_amr.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adios_var_merge.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_127) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_128) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_129)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_119) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_120) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_121) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_122) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_123)
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at am_libadiosf_v1_a_OBJECTS = \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_126) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_130) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_118) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__objects_124) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ libadiosf_v1_a-adiosf_read_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_defs_mod.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ adiosf_write_mod.$(OBJEXT)
@@ -1441,12 +1423,12 @@ am__libadiosread_a_SOURCES_DIST = core/adios_bp_v1.c \
read/read_bp_staged1.c read/read_dataspaces.c \
read/read_dimes.c read/read_datatap.c read/read_flexpath.c \
read/read_icee.c nssi/adios_nssi_config.c read/read_nssi.c
-am__objects_131 = $(am__objects_1) \
+am__objects_125 = $(am__objects_1) \
libadiosread_a-adios_transforms_common.$(OBJEXT) \
libadiosread_a-adios_transforms_hooks.$(OBJEXT) \
libadiosread_a-adios_copyspec.$(OBJEXT) \
libadiosread_a-adios_subvolume.$(OBJEXT)
-am__objects_132 = \
+am__objects_126 = \
libadiosread_a-adios_transform_identity_read.$(OBJEXT) \
libadiosread_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosread_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -1454,37 +1436,37 @@ am__objects_132 = \
libadiosread_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosread_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosread_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_133 = $(am__objects_1) \
+am__objects_127 = $(am__objects_1) \
libadiosread_a-adios_transforms_read.$(OBJEXT) \
libadiosread_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosread_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosread_a-adios_transforms_datablock.$(OBJEXT) \
libadiosread_a-adios_patchdata.$(OBJEXT) \
libadiosread_a-adios_selection_util.$(OBJEXT) \
- libadiosread_a-adios_read_ext.$(OBJEXT) $(am__objects_132)
-am__objects_134 = $(am__objects_1) \
+ $(am__objects_126)
+am__objects_128 = $(am__objects_1) \
libadiosread_a-common_query.$(OBJEXT) \
libadiosread_a-adios_query_hooks.$(OBJEXT) \
libadiosread_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_135 = \
+ at HAVE_FASTBIT_TRUE@am__objects_129 = \
@HAVE_FASTBIT_TRUE@ libadiosread_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosread_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_136 = \
+ at HAVE_ALACRITY_TRUE@am__objects_130 = \
@HAVE_ALACRITY_TRUE@ libadiosread_a-query_alac.$(OBJEXT)
-am__objects_137 = $(am__objects_135) $(am__objects_136) \
+am__objects_131 = $(am__objects_129) $(am__objects_130) \
$(am__objects_10)
-am__objects_138 = $(am__objects_134) $(am__objects_137)
-am__objects_139 = $(am__objects_138) \
+am__objects_132 = $(am__objects_128) $(am__objects_131)
+am__objects_133 = $(am__objects_132) \
libadiosread_a-adios_query.$(OBJEXT)
- at HAVE_DATASPACES_TRUE@am__objects_140 = libadiosread_a-read_dataspaces.$(OBJEXT)
- at HAVE_DIMES_TRUE@am__objects_141 = \
+ at HAVE_DATASPACES_TRUE@am__objects_134 = libadiosread_a-read_dataspaces.$(OBJEXT)
+ at HAVE_DIMES_TRUE@am__objects_135 = \
@HAVE_DIMES_TRUE@ libadiosread_a-read_dimes.$(OBJEXT)
- at HAVE_DATATAP_TRUE@am__objects_142 = \
+ at HAVE_DATATAP_TRUE@am__objects_136 = \
@HAVE_DATATAP_TRUE@ libadiosread_a-read_datatap.$(OBJEXT)
- at HAVE_FLEXPATH_TRUE@am__objects_143 = \
+ at HAVE_FLEXPATH_TRUE@am__objects_137 = \
@HAVE_FLEXPATH_TRUE@ libadiosread_a-read_flexpath.$(OBJEXT)
- at HAVE_ICEE_TRUE@am__objects_144 = libadiosread_a-read_icee.$(OBJEXT)
- at HAVE_NSSI_TRUE@am__objects_145 = \
+ at HAVE_ICEE_TRUE@am__objects_138 = libadiosread_a-read_icee.$(OBJEXT)
+ at HAVE_NSSI_TRUE@am__objects_139 = \
@HAVE_NSSI_TRUE@ libadiosread_a-adios_nssi_config.$(OBJEXT) \
@HAVE_NSSI_TRUE@ libadiosread_a-read_nssi.$(OBJEXT)
am_libadiosread_a_OBJECTS = libadiosread_a-adios_bp_v1.$(OBJEXT) \
@@ -1496,8 +1478,8 @@ am_libadiosread_a_OBJECTS = libadiosread_a-adios_bp_v1.$(OBJEXT) \
libadiosread_a-adios_read_v1.$(OBJEXT) \
libadiosread_a-common_read.$(OBJEXT) \
libadiosread_a-adios_infocache.$(OBJEXT) \
- libadiosread_a-adios_read_ext.$(OBJEXT) $(am__objects_131) \
- $(am__objects_133) $(am__objects_139) \
+ libadiosread_a-adios_read_ext.$(OBJEXT) $(am__objects_125) \
+ $(am__objects_127) $(am__objects_133) \
libadiosread_a-globals.$(OBJEXT) \
libadiosread_a-adios_read_hooks.$(OBJEXT) \
libadiosread_a-adios_logger.$(OBJEXT) \
@@ -1505,9 +1487,9 @@ am_libadiosread_a_OBJECTS = libadiosread_a-adios_bp_v1.$(OBJEXT) \
libadiosread_a-qhashtbl.$(OBJEXT) \
libadiosread_a-read_bp.$(OBJEXT) \
libadiosread_a-read_bp_staged.$(OBJEXT) \
- libadiosread_a-read_bp_staged1.$(OBJEXT) $(am__objects_140) \
- $(am__objects_141) $(am__objects_142) $(am__objects_143) \
- $(am__objects_144) $(am__objects_145)
+ libadiosread_a-read_bp_staged1.$(OBJEXT) $(am__objects_134) \
+ $(am__objects_135) $(am__objects_136) $(am__objects_137) \
+ $(am__objects_138) $(am__objects_139)
am__dist_libadiosread_a_SOURCES_DIST = nssi/adios_nssi_args.x
dist_libadiosread_a_OBJECTS =
@HAVE_NSSI_TRUE at nodist_libadiosread_a_OBJECTS = \
@@ -1558,16 +1540,15 @@ am__libadiosread_nompi_a_SOURCES_DIST = core/mpidummy.c \
query/query_fastbit.c query/fastbit_adios.c query/query_alac.c \
query/fastbit_adios.h query/adios_query.c core/adios_logger.c \
core/buffer.c core/globals.c core/adios_read_hooks.c \
- core/util.c core/qhashtbl.c read/read_bp.c \
- read/read_dataspaces.c read/read_dimes.c read/read_datatap.c \
+ core/util.c core/qhashtbl.c read/read_bp.c read/read_datatap.c \
read/read_flexpath.c read/read_icee.c nssi/adios_nssi_config.c \
read/read_nssi.c
-am__objects_146 = $(am__objects_1) \
+am__objects_140 = $(am__objects_1) \
libadiosread_nompi_a-adios_transforms_common.$(OBJEXT) \
libadiosread_nompi_a-adios_transforms_hooks.$(OBJEXT) \
libadiosread_nompi_a-adios_copyspec.$(OBJEXT) \
libadiosread_nompi_a-adios_subvolume.$(OBJEXT)
-am__objects_147 = \
+am__objects_141 = \
libadiosread_nompi_a-adios_transform_identity_read.$(OBJEXT) \
libadiosread_nompi_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosread_nompi_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -1575,36 +1556,32 @@ am__objects_147 = \
libadiosread_nompi_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosread_nompi_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosread_nompi_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_148 = $(am__objects_1) \
+am__objects_142 = $(am__objects_1) \
libadiosread_nompi_a-adios_transforms_read.$(OBJEXT) \
libadiosread_nompi_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosread_nompi_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosread_nompi_a-adios_transforms_datablock.$(OBJEXT) \
libadiosread_nompi_a-adios_patchdata.$(OBJEXT) \
libadiosread_nompi_a-adios_selection_util.$(OBJEXT) \
- libadiosread_nompi_a-adios_read_ext.$(OBJEXT) \
- $(am__objects_147)
-am__objects_149 = $(am__objects_1) \
+ $(am__objects_141)
+am__objects_143 = $(am__objects_1) \
libadiosread_nompi_a-common_query.$(OBJEXT) \
libadiosread_nompi_a-adios_query_hooks.$(OBJEXT) \
libadiosread_nompi_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_150 = libadiosread_nompi_a-query_fastbit.$(OBJEXT) \
+ at HAVE_FASTBIT_TRUE@am__objects_144 = libadiosread_nompi_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosread_nompi_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_151 = \
+ at HAVE_ALACRITY_TRUE@am__objects_145 = \
@HAVE_ALACRITY_TRUE@ libadiosread_nompi_a-query_alac.$(OBJEXT)
-am__objects_152 = $(am__objects_150) $(am__objects_151) \
+am__objects_146 = $(am__objects_144) $(am__objects_145) \
$(am__objects_10)
-am__objects_153 = $(am__objects_149) $(am__objects_152)
-am__objects_154 = $(am__objects_153) \
+am__objects_147 = $(am__objects_143) $(am__objects_146)
+am__objects_148 = $(am__objects_147) \
libadiosread_nompi_a-adios_query.$(OBJEXT)
- at HAVE_DATASPACES_TRUE@am__objects_155 = libadiosread_nompi_a-read_dataspaces.$(OBJEXT)
- at HAVE_DIMES_TRUE@am__objects_156 = \
- at HAVE_DIMES_TRUE@ libadiosread_nompi_a-read_dimes.$(OBJEXT)
- at HAVE_DATATAP_TRUE@am__objects_157 = libadiosread_nompi_a-read_datatap.$(OBJEXT)
- at HAVE_FLEXPATH_TRUE@am__objects_158 = libadiosread_nompi_a-read_flexpath.$(OBJEXT)
- at HAVE_ICEE_TRUE@am__objects_159 = \
+ at HAVE_DATATAP_TRUE@am__objects_149 = libadiosread_nompi_a-read_datatap.$(OBJEXT)
+ at HAVE_FLEXPATH_TRUE@am__objects_150 = libadiosread_nompi_a-read_flexpath.$(OBJEXT)
+ at HAVE_ICEE_TRUE@am__objects_151 = \
@HAVE_ICEE_TRUE@ libadiosread_nompi_a-read_icee.$(OBJEXT)
- at HAVE_NSSI_TRUE@am__objects_160 = libadiosread_nompi_a-adios_nssi_config.$(OBJEXT) \
+ at HAVE_NSSI_TRUE@am__objects_152 = libadiosread_nompi_a-adios_nssi_config.$(OBJEXT) \
@HAVE_NSSI_TRUE@ libadiosread_nompi_a-read_nssi.$(OBJEXT)
am_libadiosread_nompi_a_OBJECTS = \
libadiosread_nompi_a-mpidummy.$(OBJEXT) \
@@ -1618,16 +1595,15 @@ am_libadiosread_nompi_a_OBJECTS = \
libadiosread_nompi_a-common_read.$(OBJEXT) \
libadiosread_nompi_a-adios_infocache.$(OBJEXT) \
libadiosread_nompi_a-adios_read_ext.$(OBJEXT) \
- $(am__objects_146) $(am__objects_148) $(am__objects_154) \
+ $(am__objects_140) $(am__objects_142) $(am__objects_148) \
libadiosread_nompi_a-adios_logger.$(OBJEXT) \
libadiosread_nompi_a-buffer.$(OBJEXT) \
libadiosread_nompi_a-globals.$(OBJEXT) \
libadiosread_nompi_a-adios_read_hooks.$(OBJEXT) \
libadiosread_nompi_a-util.$(OBJEXT) \
libadiosread_nompi_a-qhashtbl.$(OBJEXT) \
- libadiosread_nompi_a-read_bp.$(OBJEXT) $(am__objects_155) \
- $(am__objects_156) $(am__objects_157) $(am__objects_158) \
- $(am__objects_159) $(am__objects_160)
+ libadiosread_nompi_a-read_bp.$(OBJEXT) $(am__objects_149) \
+ $(am__objects_150) $(am__objects_151) $(am__objects_152)
am__dist_libadiosread_nompi_a_SOURCES_DIST = nssi/adios_nssi_args.x
dist_libadiosread_nompi_a_OBJECTS =
@HAVE_NSSI_TRUE at nodist_libadiosread_nompi_a_OBJECTS = libadiosread_nompi_a-adios_nssi_args.$(OBJEXT)
@@ -1682,12 +1658,12 @@ am__libadiosreadf_a_SOURCES_DIST = core/adios_bp_v1.c \
read/read_icee.c nssi/adios_nssi_config.c read/read_nssi.c \
core/adiosf_read.c core/adiosf_defs_mod.f90 \
core/adiosf_read_mod.f90 query/adios_query_mod.f90
-am__objects_161 = $(am__objects_1) \
+am__objects_153 = $(am__objects_1) \
libadiosreadf_a-adios_transforms_common.$(OBJEXT) \
libadiosreadf_a-adios_transforms_hooks.$(OBJEXT) \
libadiosreadf_a-adios_copyspec.$(OBJEXT) \
libadiosreadf_a-adios_subvolume.$(OBJEXT)
-am__objects_162 = \
+am__objects_154 = \
libadiosreadf_a-adios_transform_identity_read.$(OBJEXT) \
libadiosreadf_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosreadf_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -1695,36 +1671,36 @@ am__objects_162 = \
libadiosreadf_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosreadf_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosreadf_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_163 = $(am__objects_1) \
+am__objects_155 = $(am__objects_1) \
libadiosreadf_a-adios_transforms_read.$(OBJEXT) \
libadiosreadf_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosreadf_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosreadf_a-adios_transforms_datablock.$(OBJEXT) \
libadiosreadf_a-adios_patchdata.$(OBJEXT) \
libadiosreadf_a-adios_selection_util.$(OBJEXT) \
- libadiosreadf_a-adios_read_ext.$(OBJEXT) $(am__objects_162)
-am__objects_164 = $(am__objects_1) \
+ $(am__objects_154)
+am__objects_156 = $(am__objects_1) \
libadiosreadf_a-common_query.$(OBJEXT) \
libadiosreadf_a-adios_query_hooks.$(OBJEXT) \
libadiosreadf_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_165 = \
+ at HAVE_FASTBIT_TRUE@am__objects_157 = \
@HAVE_FASTBIT_TRUE@ libadiosreadf_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosreadf_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_166 = \
+ at HAVE_ALACRITY_TRUE@am__objects_158 = \
@HAVE_ALACRITY_TRUE@ libadiosreadf_a-query_alac.$(OBJEXT)
-am__objects_167 = $(am__objects_165) $(am__objects_166) \
+am__objects_159 = $(am__objects_157) $(am__objects_158) \
$(am__objects_10)
-am__objects_168 = $(am__objects_164) $(am__objects_167)
-am__objects_169 = $(am__objects_168) \
+am__objects_160 = $(am__objects_156) $(am__objects_159)
+am__objects_161 = $(am__objects_160) \
libadiosreadf_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__objects_170 = libadiosreadf_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__objects_171 = libadiosreadf_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_172 = libadiosreadf_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_173 = libadiosreadf_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_174 = libadiosreadf_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_175 = libadiosreadf_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__objects_162 = libadiosreadf_a-read_dataspaces.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__objects_163 = libadiosreadf_a-read_dimes.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_164 = libadiosreadf_a-read_datatap.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_165 = libadiosreadf_a-read_flexpath.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_166 = libadiosreadf_a-read_icee.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_167 = libadiosreadf_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ libadiosreadf_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@am__objects_176 = \
+ at BUILD_FORTRAN_TRUE@am__objects_168 = \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adios_endianness.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-bp_utils.$(OBJEXT) \
@@ -1733,8 +1709,8 @@ am__objects_169 = $(am__objects_168) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-common_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adios_infocache.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adios_read_ext.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_161) $(am__objects_163) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_169) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_153) $(am__objects_155) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_161) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-globals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adios_read_hooks.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adios_logger.$(OBJEXT) \
@@ -1743,10 +1719,10 @@ am__objects_169 = $(am__objects_168) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-read_bp.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-read_bp_staged.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-read_bp_staged1.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_170) $(am__objects_171) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_172) $(am__objects_173) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_174) $(am__objects_175)
- at BUILD_FORTRAN_TRUE@am_libadiosreadf_a_OBJECTS = $(am__objects_176) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_162) $(am__objects_163) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_164) $(am__objects_165) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_166) $(am__objects_167)
+ at BUILD_FORTRAN_TRUE@am_libadiosreadf_a_OBJECTS = $(am__objects_168) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_a-adiosf_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ adiosf_defs_mod.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ adiosf_read_mod.$(OBJEXT) \
@@ -1800,15 +1776,15 @@ am__libadiosreadf_nompi_a_SOURCES_DIST = core/mpidummy.c \
query/query_fastbit.c query/fastbit_adios.c query/query_alac.c \
query/fastbit_adios.h query/adiosf_query.c core/globals.c \
core/adios_read_hooks.c core/util.c core/qhashtbl.c \
- read/read_bp.c read/read_dataspaces.c read/read_dimes.c \
- read/read_datatap.c read/read_flexpath.c read/read_icee.c \
- nssi/adios_nssi_config.c read/read_nssi.c core/adiosf_read.c
-am__objects_177 = $(am__objects_1) \
+ read/read_bp.c read/read_datatap.c read/read_flexpath.c \
+ read/read_icee.c nssi/adios_nssi_config.c read/read_nssi.c \
+ core/adiosf_read.c
+am__objects_169 = $(am__objects_1) \
libadiosreadf_nompi_a-adios_transforms_common.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transforms_hooks.$(OBJEXT) \
libadiosreadf_nompi_a-adios_copyspec.$(OBJEXT) \
libadiosreadf_nompi_a-adios_subvolume.$(OBJEXT)
-am__objects_178 = \
+am__objects_170 = \
libadiosreadf_nompi_a-adios_transform_identity_read.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -1816,35 +1792,32 @@ am__objects_178 = \
libadiosreadf_nompi_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_179 = $(am__objects_1) \
+am__objects_171 = $(am__objects_1) \
libadiosreadf_nompi_a-adios_transforms_read.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosreadf_nompi_a-adios_transforms_datablock.$(OBJEXT) \
libadiosreadf_nompi_a-adios_patchdata.$(OBJEXT) \
libadiosreadf_nompi_a-adios_selection_util.$(OBJEXT) \
- libadiosreadf_nompi_a-adios_read_ext.$(OBJEXT) \
- $(am__objects_178)
-am__objects_180 = $(am__objects_1) \
+ $(am__objects_170)
+am__objects_172 = $(am__objects_1) \
libadiosreadf_nompi_a-common_query.$(OBJEXT) \
libadiosreadf_nompi_a-adios_query_hooks.$(OBJEXT) \
libadiosreadf_nompi_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_181 = libadiosreadf_nompi_a-query_fastbit.$(OBJEXT) \
+ at HAVE_FASTBIT_TRUE@am__objects_173 = libadiosreadf_nompi_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosreadf_nompi_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_182 = libadiosreadf_nompi_a-query_alac.$(OBJEXT)
-am__objects_183 = $(am__objects_181) $(am__objects_182) \
+ at HAVE_ALACRITY_TRUE@am__objects_174 = libadiosreadf_nompi_a-query_alac.$(OBJEXT)
+am__objects_175 = $(am__objects_173) $(am__objects_174) \
$(am__objects_10)
-am__objects_184 = $(am__objects_180) $(am__objects_183)
-am__objects_185 = $(am__objects_184) \
+am__objects_176 = $(am__objects_172) $(am__objects_175)
+am__objects_177 = $(am__objects_176) \
libadiosreadf_nompi_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__objects_186 = libadiosreadf_nompi_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__objects_187 = libadiosreadf_nompi_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_188 = libadiosreadf_nompi_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_189 = libadiosreadf_nompi_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_190 = libadiosreadf_nompi_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_191 = libadiosreadf_nompi_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_178 = libadiosreadf_nompi_a-read_datatap.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_179 = libadiosreadf_nompi_a-read_flexpath.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_180 = libadiosreadf_nompi_a-read_icee.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_181 = libadiosreadf_nompi_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ libadiosreadf_nompi_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@am__objects_192 = \
+ at BUILD_FORTRAN_TRUE@am__objects_182 = \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-mpidummy.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-adios_endianness.$(OBJEXT) \
@@ -1855,18 +1828,17 @@ am__objects_185 = $(am__objects_184) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-common_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-adios_infocache.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-adios_read_ext.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_177) $(am__objects_179) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_185) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_169) $(am__objects_171) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_177) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-globals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-adios_read_hooks.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-util.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-qhashtbl.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-read_bp.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_186) $(am__objects_187) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_188) $(am__objects_189) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_190) $(am__objects_191)
+ at BUILD_FORTRAN_TRUE@ $(am__objects_178) $(am__objects_179) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_180) $(am__objects_181)
@BUILD_FORTRAN_TRUE at am_libadiosreadf_nompi_a_OBJECTS = \
- at BUILD_FORTRAN_TRUE@ $(am__objects_192) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_182) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_a-adiosf_read.$(OBJEXT)
am__dist_libadiosreadf_nompi_a_SOURCES_DIST = nssi/adios_nssi_args.x
dist_libadiosreadf_nompi_a_OBJECTS =
@@ -1917,51 +1889,47 @@ am__libadiosreadf_nompi_v1_a_SOURCES_DIST = core/mpidummy.c \
query/query_fastbit.c query/fastbit_adios.c query/query_alac.c \
query/fastbit_adios.h query/adiosf_query.c core/globals.c \
core/adios_read_hooks.c core/util.c core/qhashtbl.c \
- read/read_bp.c read/read_dataspaces.c read/read_dimes.c \
- read/read_datatap.c read/read_flexpath.c read/read_icee.c \
- nssi/adios_nssi_config.c read/read_nssi.c \
+ read/read_bp.c read/read_datatap.c read/read_flexpath.c \
+ read/read_icee.c nssi/adios_nssi_config.c read/read_nssi.c \
core/adiosf_read_v1.c
-am__objects_193 = $(am__objects_1) \
+am__objects_183 = $(am__objects_1) \
libadiosreadf_nompi_v1_a-adios_transforms_common.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transforms_hooks.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_copyspec.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_subvolume.$(OBJEXT)
-am__objects_194 = libadiosreadf_nompi_v1_a-adios_transform_identity_read.$(OBJEXT) \
+am__objects_184 = libadiosreadf_nompi_v1_a-adios_transform_identity_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transform_bzip2_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transform_szip_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_195 = $(am__objects_1) \
+am__objects_185 = $(am__objects_1) \
libadiosreadf_nompi_v1_a-adios_transforms_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_transforms_datablock.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_patchdata.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_selection_util.$(OBJEXT) \
- libadiosreadf_nompi_v1_a-adios_read_ext.$(OBJEXT) \
- $(am__objects_194)
-am__objects_196 = $(am__objects_1) \
+ $(am__objects_184)
+am__objects_186 = $(am__objects_1) \
libadiosreadf_nompi_v1_a-common_query.$(OBJEXT) \
libadiosreadf_nompi_v1_a-adios_query_hooks.$(OBJEXT) \
libadiosreadf_nompi_v1_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_197 = libadiosreadf_nompi_v1_a-query_fastbit.$(OBJEXT) \
+ at HAVE_FASTBIT_TRUE@am__objects_187 = libadiosreadf_nompi_v1_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosreadf_nompi_v1_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_198 = libadiosreadf_nompi_v1_a-query_alac.$(OBJEXT)
-am__objects_199 = $(am__objects_197) $(am__objects_198) \
+ at HAVE_ALACRITY_TRUE@am__objects_188 = libadiosreadf_nompi_v1_a-query_alac.$(OBJEXT)
+am__objects_189 = $(am__objects_187) $(am__objects_188) \
$(am__objects_10)
-am__objects_200 = $(am__objects_196) $(am__objects_199)
-am__objects_201 = $(am__objects_200) \
+am__objects_190 = $(am__objects_186) $(am__objects_189)
+am__objects_191 = $(am__objects_190) \
libadiosreadf_nompi_v1_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__objects_202 = libadiosreadf_nompi_v1_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__objects_203 = libadiosreadf_nompi_v1_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_204 = libadiosreadf_nompi_v1_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_205 = libadiosreadf_nompi_v1_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_206 = libadiosreadf_nompi_v1_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_207 = libadiosreadf_nompi_v1_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_192 = libadiosreadf_nompi_v1_a-read_datatap.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_193 = libadiosreadf_nompi_v1_a-read_flexpath.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_194 = libadiosreadf_nompi_v1_a-read_icee.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_195 = libadiosreadf_nompi_v1_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ libadiosreadf_nompi_v1_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@am__objects_208 = libadiosreadf_nompi_v1_a-mpidummy.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@am__objects_196 = libadiosreadf_nompi_v1_a-mpidummy.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-adios_endianness.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-bp_utils.$(OBJEXT) \
@@ -1971,18 +1939,17 @@ am__objects_201 = $(am__objects_200) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-common_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-adios_infocache.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-adios_read_ext.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_193) $(am__objects_195) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_201) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_183) $(am__objects_185) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_191) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-globals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-adios_read_hooks.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-util.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-qhashtbl.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-read_bp.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_202) $(am__objects_203) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_204) $(am__objects_205) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_206) $(am__objects_207)
+ at BUILD_FORTRAN_TRUE@ $(am__objects_192) $(am__objects_193) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_194) $(am__objects_195)
@BUILD_FORTRAN_TRUE at am_libadiosreadf_nompi_v1_a_OBJECTS = \
- at BUILD_FORTRAN_TRUE@ $(am__objects_208) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_196) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_nompi_v1_a-adiosf_read_v1.$(OBJEXT)
libadiosreadf_nompi_v1_a_OBJECTS = \
$(am_libadiosreadf_nompi_v1_a_OBJECTS)
@@ -2033,12 +2000,12 @@ am__libadiosreadf_v1_a_SOURCES_DIST = core/adios_bp_v1.c \
read/read_dimes.c read/read_datatap.c read/read_flexpath.c \
read/read_icee.c nssi/adios_nssi_config.c read/read_nssi.c \
core/adiosf_read_v1.c
-am__objects_209 = $(am__objects_1) \
+am__objects_197 = $(am__objects_1) \
libadiosreadf_v1_a-adios_transforms_common.$(OBJEXT) \
libadiosreadf_v1_a-adios_transforms_hooks.$(OBJEXT) \
libadiosreadf_v1_a-adios_copyspec.$(OBJEXT) \
libadiosreadf_v1_a-adios_subvolume.$(OBJEXT)
-am__objects_210 = \
+am__objects_198 = \
libadiosreadf_v1_a-adios_transform_identity_read.$(OBJEXT) \
libadiosreadf_v1_a-adios_transform_zlib_read.$(OBJEXT) \
libadiosreadf_v1_a-adios_transform_bzip2_read.$(OBJEXT) \
@@ -2046,36 +2013,36 @@ am__objects_210 = \
libadiosreadf_v1_a-adios_transform_isobar_read.$(OBJEXT) \
libadiosreadf_v1_a-adios_transform_aplod_read.$(OBJEXT) \
libadiosreadf_v1_a-adios_transform_alacrity_read.$(OBJEXT)
-am__objects_211 = $(am__objects_1) \
+am__objects_199 = $(am__objects_1) \
libadiosreadf_v1_a-adios_transforms_read.$(OBJEXT) \
libadiosreadf_v1_a-adios_transforms_hooks_read.$(OBJEXT) \
libadiosreadf_v1_a-adios_transforms_reqgroup.$(OBJEXT) \
libadiosreadf_v1_a-adios_transforms_datablock.$(OBJEXT) \
libadiosreadf_v1_a-adios_patchdata.$(OBJEXT) \
libadiosreadf_v1_a-adios_selection_util.$(OBJEXT) \
- libadiosreadf_v1_a-adios_read_ext.$(OBJEXT) $(am__objects_210)
-am__objects_212 = $(am__objects_1) \
+ $(am__objects_198)
+am__objects_200 = $(am__objects_1) \
libadiosreadf_v1_a-common_query.$(OBJEXT) \
libadiosreadf_v1_a-adios_query_hooks.$(OBJEXT) \
libadiosreadf_v1_a-query_utils.$(OBJEXT)
- at HAVE_FASTBIT_TRUE@am__objects_213 = \
+ at HAVE_FASTBIT_TRUE@am__objects_201 = \
@HAVE_FASTBIT_TRUE@ libadiosreadf_v1_a-query_fastbit.$(OBJEXT) \
@HAVE_FASTBIT_TRUE@ libadiosreadf_v1_a-fastbit_adios.$(OBJEXT)
- at HAVE_ALACRITY_TRUE@am__objects_214 = \
+ at HAVE_ALACRITY_TRUE@am__objects_202 = \
@HAVE_ALACRITY_TRUE@ libadiosreadf_v1_a-query_alac.$(OBJEXT)
-am__objects_215 = $(am__objects_213) $(am__objects_214) \
+am__objects_203 = $(am__objects_201) $(am__objects_202) \
$(am__objects_10)
-am__objects_216 = $(am__objects_212) $(am__objects_215)
-am__objects_217 = $(am__objects_216) \
+am__objects_204 = $(am__objects_200) $(am__objects_203)
+am__objects_205 = $(am__objects_204) \
libadiosreadf_v1_a-adiosf_query.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__objects_218 = libadiosreadf_v1_a-read_dataspaces.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__objects_219 = libadiosreadf_v1_a-read_dimes.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_220 = libadiosreadf_v1_a-read_datatap.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_221 = libadiosreadf_v1_a-read_flexpath.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_222 = libadiosreadf_v1_a-read_icee.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_223 = libadiosreadf_v1_a-adios_nssi_config.$(OBJEXT) \
+ at BUILD_FORTRAN_TRUE@@HAVE_DATASPACES_TRUE at am__objects_206 = libadiosreadf_v1_a-read_dataspaces.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_DIMES_TRUE at am__objects_207 = libadiosreadf_v1_a-read_dimes.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_DATATAP_TRUE at am__objects_208 = libadiosreadf_v1_a-read_datatap.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_FLEXPATH_TRUE at am__objects_209 = libadiosreadf_v1_a-read_flexpath.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_ICEE_TRUE at am__objects_210 = libadiosreadf_v1_a-read_icee.$(OBJEXT)
+ at BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at am__objects_211 = libadiosreadf_v1_a-adios_nssi_config.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE@ libadiosreadf_v1_a-read_nssi.$(OBJEXT)
- at BUILD_FORTRAN_TRUE@am__objects_224 = \
+ at BUILD_FORTRAN_TRUE@am__objects_212 = \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adios_bp_v1.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adios_endianness.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-bp_utils.$(OBJEXT) \
@@ -2084,8 +2051,8 @@ am__objects_217 = $(am__objects_216) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-common_read.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adios_infocache.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adios_read_ext.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_209) $(am__objects_211) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_217) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_197) $(am__objects_199) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_205) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-globals.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adios_read_hooks.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adios_logger.$(OBJEXT) \
@@ -2094,11 +2061,11 @@ am__objects_217 = $(am__objects_216) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-read_bp.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-read_bp_staged.$(OBJEXT) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-read_bp_staged1.$(OBJEXT) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_218) $(am__objects_219) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_220) $(am__objects_221) \
- at BUILD_FORTRAN_TRUE@ $(am__objects_222) $(am__objects_223)
+ at BUILD_FORTRAN_TRUE@ $(am__objects_206) $(am__objects_207) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_208) $(am__objects_209) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_210) $(am__objects_211)
@BUILD_FORTRAN_TRUE at am_libadiosreadf_v1_a_OBJECTS = \
- at BUILD_FORTRAN_TRUE@ $(am__objects_224) \
+ at BUILD_FORTRAN_TRUE@ $(am__objects_212) \
@BUILD_FORTRAN_TRUE@ libadiosreadf_v1_a-adiosf_read_v1.$(OBJEXT)
libadiosreadf_v1_a_OBJECTS = $(am_libadiosreadf_v1_a_OBJECTS)
@HAVE_NSSI_TRUE at am__EXEEXT_1 = nssi-staging-server$(EXEEXT) \
@@ -2371,7 +2338,7 @@ PAMI_LDFLAGS = @PAMI_LDFLAGS@
PAMI_LIBS = @PAMI_LIBS@
PATHPROG = @PATHPROG@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PHDF5_CPPFLAGS = @PHDF5_CPPFLAGS@ $(am__append_19)
+PHDF5_CPPFLAGS = @PHDF5_CPPFLAGS@ $(am__append_17)
PHDF5_LDFLAGS = @PHDF5_LDFLAGS@
PHDF5_LIBS = @PHDF5_LIBS@
PORTALS_CFLAGS = @PORTALS_CFLAGS@
@@ -2400,6 +2367,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -2457,7 +2427,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms -I$(top_srcdir)/src/core/query
+AM_CPPFLAGS = -I$(top_builddir)/src/public -I$(top_srcdir) -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms -I$(top_srcdir)/src/core/query
AUTOMAKE_OPTIONS = no-dependencies
METASOURCES = AUTO
@HAVE_NSSI_TRUE at nssi_staging_server_SOURCES = nssi/nssi_staging_server.cpp nssi/aggregation.cpp
@@ -2474,31 +2444,31 @@ METASOURCES = AUTO
@HAVE_NSSI_TRUE at nssi_coupling_server_LDADD = \
@HAVE_NSSI_TRUE@ $(top_builddir)/src/libadios.a \
@HAVE_NSSI_TRUE@ $(ADIOSLIB_LDADD) $(NSSI_SERVER_LIBS)
-CLEANFILES = $(am__append_35) $(am__append_41) $(am__append_61)
-include_HEADERS = public/adios.h public/adios_types.h \
- public/adios_read.h public/adios_error.h public/adios_mpi.h \
- public/mpidummy.h public/adios_read_v1.h \
+CLEANFILES = $(am__append_33) $(am__append_39) $(am__append_59)
+include_HEADERS = public/adios.h public/adios_version.h \
+ public/adios_types.h public/adios_read.h public/adios_error.h \
+ public/adios_mpi.h public/mpidummy.h public/adios_read_v1.h \
public/adios_read_v1_defs.h public/adios_read_v2.h \
public/adios_read_v2_fwd.h public/adios_selection.h \
- public/adios_schema.h public/adios_read_ext.h \
- public/adios_query.h
-nodist_include_HEADERS = $(am__append_40) $(am__append_60)
+ public/adios_schema.h public/adios_link.h \
+ public/adios_read_ext.h public/adios_query.h
+nodist_include_HEADERS = $(am__append_38) $(am__append_58)
lib_LIBRARIES = $(am__append_5) $(am__append_7) libadiosread.a \
- $(am__append_50) libadiosread_nompi.a $(am__append_70)
-libadiosread_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_48) \
+ $(am__append_48) libadiosread_nompi.a $(am__append_66)
+libadiosread_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_46) \
$(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_CPPFLAGS) \
- $(am__append_81)
-libadiosreadf_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_57) \
- $(am__append_59)
-libadiosread_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_68) \
+ $(am__append_75)
+libadiosreadf_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_55) \
+ $(am__append_57)
+libadiosread_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_64) \
$(MACRODEFFLAG)_NOMPI $(ADIOSLIB_EXTRA_CPPFLAGS) \
- $(ADIOSREADLIB_CPPFLAGS) $(am__append_82)
-libadiosreadf_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_77) \
- $(am__append_79)
-libadiosread_a_CFLAGS = $(am__append_49)
-libadiosreadf_a_CFLAGS = $(am__append_58)
-libadiosread_nompi_a_CFLAGS = $(am__append_69)
-libadiosreadf_nompi_a_CFLAGS = $(am__append_78)
+ $(ADIOSREADLIB_CPPFLAGS) $(am__append_76)
+libadiosreadf_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_71) \
+ $(am__append_73)
+libadiosread_a_CFLAGS = $(am__append_47)
+libadiosreadf_a_CFLAGS = $(am__append_56)
+libadiosread_nompi_a_CFLAGS = $(am__append_65)
+libadiosreadf_nompi_a_CFLAGS = $(am__append_72)
# Identity plugin:
@@ -2565,7 +2535,6 @@ transforms_read_SOURCES = $(transforms_read_HDRS) \
core/adios_selection_util.c \
core/transforms/plugindetect/detect_plugin_read_hook_decls.h \
core/transforms/plugindetect/detect_plugin_read_hook_reg.h \
- core/adios_read_ext.c \
$(transforms_read_method_SOURCES)
transforms_write_SOURCES = $(transforms_write_HDRS) \
@@ -2617,10 +2586,10 @@ query_F_SOURCES = $(query_SOURCES) query/adiosf_query.c
@BUILD_WRITE_TRUE@ write/adios_mpi_amr.c write/adios_posix.c \
@BUILD_WRITE_TRUE@ write/adios_posix1.c write/adios_var_merge.c \
@BUILD_WRITE_TRUE@ $(am__append_6) $(am__append_9) \
- at BUILD_WRITE_TRUE@ $(am__append_12) $(am__append_15) \
- at BUILD_WRITE_TRUE@ $(am__append_18) $(am__append_23) \
- at BUILD_WRITE_TRUE@ $(am__append_25) $(am__append_28) \
- at BUILD_WRITE_TRUE@ $(am__append_31)
+ at BUILD_WRITE_TRUE@ $(am__append_11) $(am__append_13) \
+ at BUILD_WRITE_TRUE@ $(am__append_16) $(am__append_21) \
+ at BUILD_WRITE_TRUE@ $(am__append_23) $(am__append_26) \
+ at BUILD_WRITE_TRUE@ $(am__append_29)
@BUILD_WRITE_TRUE at libadios_nompi_a_SOURCES = core/adios.c \
@BUILD_WRITE_TRUE@ core/common_adios.c core/adios_internals.c \
@BUILD_WRITE_TRUE@ core/adios_internals_mxml.c \
@@ -2640,9 +2609,8 @@ query_F_SOURCES = $(query_SOURCES) query/adiosf_query.c
@BUILD_WRITE_TRUE@ core/util.c core/qhashtbl.c read/read_bp.c \
@BUILD_WRITE_TRUE@ read/read_bp_staged.c read/read_bp_staged1.c \
@BUILD_WRITE_TRUE@ write/adios_posix.c write/adios_posix1.c \
- at BUILD_WRITE_TRUE@ $(am__append_10) $(am__append_13) \
- at BUILD_WRITE_TRUE@ $(am__append_16) $(am__append_26) \
- at BUILD_WRITE_TRUE@ $(am__append_29)
+ at BUILD_WRITE_TRUE@ $(am__append_14) $(am__append_24) \
+ at BUILD_WRITE_TRUE@ $(am__append_27)
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at FortranLibSources = \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ core/adiosf.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ core/common_adios.c \
@@ -2674,40 +2642,40 @@ query_F_SOURCES = $(query_SOURCES) query/adiosf_query.c
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ read/read_bp_staged1.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ write/adios_posix.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ write/adios_posix1.c \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_11) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_14) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_17) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_27) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_30) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_33)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_15) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_25) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_28) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_31)
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at FortranLibMPISources = \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ write/adios_mpi.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ write/adios_mpi_lustre.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ write/adios_mpi_amr.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ write/adios_var_merge.c \
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_8) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_21) \
- at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_24)
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_10) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_12) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_19) \
+ at BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE@ $(am__append_22)
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at FortranLibSEQSources = core/mpidummy.c
@BUILD_WRITE_TRUE at libadios_a_CPPFLAGS = $(AM_CPPFLAGS) \
@BUILD_WRITE_TRUE@ $(ADIOSLIB_EXTRA_CPPFLAGS) \
- at BUILD_WRITE_TRUE@ $(ADIOSLIB_CPPFLAGS) $(am__append_20) \
- at BUILD_WRITE_TRUE@ $(am__append_32) $(am__append_36)
+ at BUILD_WRITE_TRUE@ $(ADIOSLIB_CPPFLAGS) $(am__append_18) \
+ at BUILD_WRITE_TRUE@ $(am__append_30) $(am__append_34)
@BUILD_WRITE_TRUE at libadios_a_CFLAGS = $(ADIOSLIB_CFLAGS)
@BUILD_WRITE_TRUE at libadios_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) \
@BUILD_WRITE_TRUE@ $(MACRODEFFLAG)_NOMPI \
@BUILD_WRITE_TRUE@ $(ADIOSLIB_EXTRA_CPPFLAGS) \
- at BUILD_WRITE_TRUE@ $(ADIOSLIB_SEQ_CPPFLAGS) $(am__append_37)
+ at BUILD_WRITE_TRUE@ $(ADIOSLIB_SEQ_CPPFLAGS) $(am__append_35)
@BUILD_WRITE_TRUE at libadios_nompi_a_CFLAGS = $(MACRODEFFLAG)_NOMPI $(ADIOSLIB_SEQ_CFLAGS)
@BUILD_WRITE_TRUE at libadiosf_a_CPPFLAGS = $(AM_CPPFLAGS) \
@BUILD_WRITE_TRUE@ $(ADIOSLIB_EXTRA_CPPFLAGS) \
- at BUILD_WRITE_TRUE@ $(ADIOSLIB_CPPFLAGS) $(am__append_22) \
- at BUILD_WRITE_TRUE@ $(am__append_34) $(am__append_38)
+ at BUILD_WRITE_TRUE@ $(ADIOSLIB_CPPFLAGS) $(am__append_20) \
+ at BUILD_WRITE_TRUE@ $(am__append_32) $(am__append_36)
@BUILD_WRITE_TRUE at libadiosf_a_CFLAGS = $(ADIOSLIB_CFLAGS)
@BUILD_WRITE_TRUE at libadiosf_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) \
@BUILD_WRITE_TRUE@ $(MACRODEFFLAG)_NOMPI \
@BUILD_WRITE_TRUE@ $(ADIOSLIB_EXTRA_CPPFLAGS) \
- at BUILD_WRITE_TRUE@ $(ADIOSLIB_SEQ_CPPFLAGS) $(am__append_39)
+ at BUILD_WRITE_TRUE@ $(ADIOSLIB_SEQ_CPPFLAGS) $(am__append_37)
@BUILD_WRITE_TRUE at libadiosf_nompi_a_CFLAGS = $(MACRODEFFLAG)_NOMPI $(ADIOSLIB_SEQ_CFLAGS)
@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at dist_libadios_a_SOURCES = nssi/adios_nssi_args.x
@BUILD_WRITE_TRUE@@HAVE_NSSI_TRUE at nodist_libadios_a_SOURCES = adios_nssi_args.c adios_nssi_args.h
@@ -2755,9 +2723,9 @@ libadiosread_a_SOURCES = core/adios_bp_v1.c core/adios_endianness.c \
$(transforms_common_SOURCES) $(transforms_read_SOURCES) \
$(query_C_SOURCES) core/globals.c core/adios_read_hooks.c \
core/adios_logger.c core/util.c core/qhashtbl.c read/read_bp.c \
- read/read_bp_staged.c read/read_bp_staged1.c $(am__append_42) \
- $(am__append_43) $(am__append_44) $(am__append_45) \
- $(am__append_46) $(am__append_47)
+ read/read_bp_staged.c read/read_bp_staged1.c $(am__append_40) \
+ $(am__append_41) $(am__append_42) $(am__append_43) \
+ $(am__append_44) $(am__append_45)
@HAVE_NSSI_TRUE at dist_libadiosread_a_SOURCES = nssi/adios_nssi_args.x
@HAVE_NSSI_TRUE at nodist_libadiosread_a_SOURCES = adios_nssi_args.c adios_nssi_args.h
@BUILD_FORTRAN_TRUE at FortranReadLibSource = core/adios_bp_v1.c \
@@ -2772,10 +2740,10 @@ libadiosread_a_SOURCES = core/adios_bp_v1.c core/adios_endianness.c \
@BUILD_FORTRAN_TRUE@ core/adios_logger.c core/util.c \
@BUILD_FORTRAN_TRUE@ core/qhashtbl.c read/read_bp.c \
@BUILD_FORTRAN_TRUE@ read/read_bp_staged.c \
- at BUILD_FORTRAN_TRUE@ read/read_bp_staged1.c $(am__append_51) \
+ at BUILD_FORTRAN_TRUE@ read/read_bp_staged1.c $(am__append_49) \
+ at BUILD_FORTRAN_TRUE@ $(am__append_50) $(am__append_51) \
@BUILD_FORTRAN_TRUE@ $(am__append_52) $(am__append_53) \
- at BUILD_FORTRAN_TRUE@ $(am__append_54) $(am__append_55) \
- at BUILD_FORTRAN_TRUE@ $(am__append_56)
+ at BUILD_FORTRAN_TRUE@ $(am__append_54)
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at dist_libadiosreadf_a_SOURCES = nssi/adios_nssi_args.x
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at nodist_libadiosreadf_a_SOURCES = adios_nssi_args.c adios_nssi_args.h
@BUILD_FORTRAN_TRUE at libadiosreadf_a_SOURCES = $(FortranReadLibSource) \
@@ -2794,9 +2762,8 @@ libadiosread_nompi_a_SOURCES = core/mpidummy.c core/adios_bp_v1.c \
$(transforms_read_SOURCES) $(query_C_SOURCES) \
core/adios_logger.c core/buffer.c core/globals.c \
core/adios_read_hooks.c core/util.c core/qhashtbl.c \
- read/read_bp.c $(am__append_62) $(am__append_63) \
- $(am__append_64) $(am__append_65) $(am__append_66) \
- $(am__append_67)
+ read/read_bp.c $(am__append_60) $(am__append_61) \
+ $(am__append_62) $(am__append_63)
@HAVE_NSSI_TRUE at dist_libadiosread_nompi_a_SOURCES = nssi/adios_nssi_args.x
@HAVE_NSSI_TRUE at nodist_libadiosread_nompi_a_SOURCES = adios_nssi_args.c adios_nssi_args.h
@BUILD_FORTRAN_TRUE at FortranReadSeqLibSource = core/mpidummy.c \
@@ -2810,9 +2777,8 @@ libadiosread_nompi_a_SOURCES = core/mpidummy.c core/adios_bp_v1.c \
@BUILD_FORTRAN_TRUE@ $(query_F_SOURCES) core/globals.c \
@BUILD_FORTRAN_TRUE@ core/adios_read_hooks.c core/util.c \
@BUILD_FORTRAN_TRUE@ core/qhashtbl.c read/read_bp.c \
- at BUILD_FORTRAN_TRUE@ $(am__append_71) $(am__append_72) \
- at BUILD_FORTRAN_TRUE@ $(am__append_73) $(am__append_74) \
- at BUILD_FORTRAN_TRUE@ $(am__append_75) $(am__append_76)
+ at BUILD_FORTRAN_TRUE@ $(am__append_67) $(am__append_68) \
+ at BUILD_FORTRAN_TRUE@ $(am__append_69) $(am__append_70)
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at dist_libadiosreadf_nompi_a_SOURCES = nssi/adios_nssi_args.x
@BUILD_FORTRAN_TRUE@@HAVE_NSSI_TRUE at nodist_libadiosreadf_nompi_a_SOURCES = adios_nssi_args.c adios_nssi_args.h
@BUILD_FORTRAN_TRUE at libadiosreadf_nompi_a_SOURCES = $(FortranReadSeqLibSource) core/adiosf_read.c
@@ -2826,7 +2792,7 @@ libadios_internal_nompi_a_SOURCES = core/mpidummy.c core/adios_bp_v1.c \
$(query_C_SOURCES) core/buffer.c core/adios_error.c \
core/adios_logger.c core/adios_timing.c core/util.c \
core/qhashtbl.c core/futils.c core/adios_transport_hooks.c \
- $(am__append_80)
+ $(am__append_74)
libadios_internal_nompi_a_CPPFLAGS = $(AM_CPPFLAGS) $(MACRODEFFLAG)_INTERNAL $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSLIB_INT_CPPFLAGS) $(ADIOSLIB_CPPFLAGS)
#bin_PROGRAMS+=adios_flags
@@ -2855,6 +2821,7 @@ EXTRA_DIST = core/adios_bp_v1.h core/adios_endianness.h \
core/bp_types.h core/bp_utils.h core/buffer.h core/common_adios.h \
core/common_read.h core/adios_infocache.h core/futils.h core/globals.h core/ds_metadata.h \
core/util.h core/flexpath.h core/qhashtbl.h \
+ public/adios_version.h.in \
$(transforms_common_HDRS) $(transforms_read_HDRS) $(transforms_write_HDRS) \
$(query_common_HDRS) $(query_method_HDRS) \
transforms/transform_plugins.h \
@@ -3862,12 +3829,6 @@ libadios_nompi_a-adios_selection_util.o: core/adios_selection_util.c
libadios_nompi_a-adios_selection_util.obj: core/adios_selection_util.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_selection_util.obj `if test -f 'core/adios_selection_util.c'; then $(CYGPATH_W) 'core/adios_selection_util.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_selection_util.c'; fi`
-libadios_nompi_a-adios_read_ext.o: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
-
-libadios_nompi_a-adios_read_ext.obj: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
-
libadios_nompi_a-adios_transform_identity_read.o: transforms/adios_transform_identity_read.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_transform_identity_read.o `test -f 'transforms/adios_transform_identity_read.c' || echo '$(srcdir)/'`transforms/adios_transform_identity_read.c
@@ -4078,6 +4039,12 @@ libadios_nompi_a-adios_infocache.o: core/adios_infocache.c
libadios_nompi_a-adios_infocache.obj: core/adios_infocache.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_infocache.obj `if test -f 'core/adios_infocache.c'; then $(CYGPATH_W) 'core/adios_infocache.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_infocache.c'; fi`
+libadios_nompi_a-adios_read_ext.o: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
+
+libadios_nompi_a-adios_read_ext.obj: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
+
libadios_nompi_a-globals.o: core/globals.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-globals.o `test -f 'core/globals.c' || echo '$(srcdir)/'`core/globals.c
@@ -4162,30 +4129,6 @@ libadios_nompi_a-adios_posix1.o: write/adios_posix1.c
libadios_nompi_a-adios_posix1.obj: write/adios_posix1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_posix1.obj `if test -f 'write/adios_posix1.c'; then $(CYGPATH_W) 'write/adios_posix1.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_posix1.c'; fi`
-libadios_nompi_a-adios_dataspaces.o: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
-
-libadios_nompi_a-adios_dataspaces.obj: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
-
-libadios_nompi_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadios_nompi_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadios_nompi_a-adios_dimes.o: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
-
-libadios_nompi_a-adios_dimes.obj: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
-
-libadios_nompi_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadios_nompi_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadios_nompi_a-adios_datatap.o: write/adios_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadios_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadios_nompi_a_CFLAGS) $(CFLAGS) -c -o libadios_nompi_a-adios_datatap.o `test -f 'write/adios_datatap.c' || echo '$(srcdir)/'`write/adios_datatap.c
@@ -4306,12 +4249,6 @@ libadiosf_a-adios_selection_util.o: core/adios_selection_util.c
libadiosf_a-adios_selection_util.obj: core/adios_selection_util.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_selection_util.obj `if test -f 'core/adios_selection_util.c'; then $(CYGPATH_W) 'core/adios_selection_util.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_selection_util.c'; fi`
-libadiosf_a-adios_read_ext.o: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
-
-libadiosf_a-adios_read_ext.obj: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
-
libadiosf_a-adios_transform_identity_read.o: transforms/adios_transform_identity_read.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_transform_identity_read.o `test -f 'transforms/adios_transform_identity_read.c' || echo '$(srcdir)/'`transforms/adios_transform_identity_read.c
@@ -4510,6 +4447,12 @@ libadiosf_a-adios_infocache.o: core/adios_infocache.c
libadiosf_a-adios_infocache.obj: core/adios_infocache.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_infocache.obj `if test -f 'core/adios_infocache.c'; then $(CYGPATH_W) 'core/adios_infocache.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_infocache.c'; fi`
+libadiosf_a-adios_read_ext.o: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
+
+libadiosf_a-adios_read_ext.obj: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
+
libadiosf_a-globals.o: core/globals.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-globals.o `test -f 'core/globals.c' || echo '$(srcdir)/'`core/globals.c
@@ -4588,30 +4531,6 @@ libadiosf_a-adios_posix1.o: write/adios_posix1.c
libadiosf_a-adios_posix1.obj: write/adios_posix1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_posix1.obj `if test -f 'write/adios_posix1.c'; then $(CYGPATH_W) 'write/adios_posix1.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_posix1.c'; fi`
-libadiosf_a-adios_dataspaces.o: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
-
-libadiosf_a-adios_dataspaces.obj: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
-
-libadiosf_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosf_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosf_a-adios_dimes.o: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
-
-libadiosf_a-adios_dimes.obj: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
-
-libadiosf_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosf_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosf_a-adios_datatap.o: write/adios_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_datatap.o `test -f 'write/adios_datatap.c' || echo '$(srcdir)/'`write/adios_datatap.c
@@ -4702,6 +4621,30 @@ libadiosf_a-adios_mpi_bgq.o: write/adios_mpi_bgq.c
libadiosf_a-adios_mpi_bgq.obj: write/adios_mpi_bgq.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_mpi_bgq.obj `if test -f 'write/adios_mpi_bgq.c'; then $(CYGPATH_W) 'write/adios_mpi_bgq.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_mpi_bgq.c'; fi`
+libadiosf_a-adios_dataspaces.o: write/adios_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
+
+libadiosf_a-adios_dataspaces.obj: write/adios_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
+
+libadiosf_a-read_dataspaces.o: read/read_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
+
+libadiosf_a-read_dataspaces.obj: read/read_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
+
+libadiosf_a-adios_dimes.o: write/adios_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
+
+libadiosf_a-adios_dimes.obj: write/adios_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
+
+libadiosf_a-read_dimes.o: read/read_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
+
+libadiosf_a-read_dimes.obj: read/read_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
+
libadiosf_a-adios_phdf5.o: write/adios_phdf5.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_a_CFLAGS) $(CFLAGS) -c -o libadiosf_a-adios_phdf5.o `test -f 'write/adios_phdf5.c' || echo '$(srcdir)/'`write/adios_phdf5.c
@@ -4810,12 +4753,6 @@ libadiosf_nompi_a-adios_selection_util.o: core/adios_selection_util.c
libadiosf_nompi_a-adios_selection_util.obj: core/adios_selection_util.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_selection_util.obj `if test -f 'core/adios_selection_util.c'; then $(CYGPATH_W) 'core/adios_selection_util.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_selection_util.c'; fi`
-libadiosf_nompi_a-adios_read_ext.o: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
-
-libadiosf_nompi_a-adios_read_ext.obj: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
-
libadiosf_nompi_a-adios_transform_identity_read.o: transforms/adios_transform_identity_read.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_transform_identity_read.o `test -f 'transforms/adios_transform_identity_read.c' || echo '$(srcdir)/'`transforms/adios_transform_identity_read.c
@@ -5014,6 +4951,12 @@ libadiosf_nompi_a-adios_infocache.o: core/adios_infocache.c
libadiosf_nompi_a-adios_infocache.obj: core/adios_infocache.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_infocache.obj `if test -f 'core/adios_infocache.c'; then $(CYGPATH_W) 'core/adios_infocache.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_infocache.c'; fi`
+libadiosf_nompi_a-adios_read_ext.o: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
+
+libadiosf_nompi_a-adios_read_ext.obj: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
+
libadiosf_nompi_a-globals.o: core/globals.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-globals.o `test -f 'core/globals.c' || echo '$(srcdir)/'`core/globals.c
@@ -5092,30 +5035,6 @@ libadiosf_nompi_a-adios_posix1.o: write/adios_posix1.c
libadiosf_nompi_a-adios_posix1.obj: write/adios_posix1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_posix1.obj `if test -f 'write/adios_posix1.c'; then $(CYGPATH_W) 'write/adios_posix1.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_posix1.c'; fi`
-libadiosf_nompi_a-adios_dataspaces.o: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
-
-libadiosf_nompi_a-adios_dataspaces.obj: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
-
-libadiosf_nompi_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosf_nompi_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosf_nompi_a-adios_dimes.o: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
-
-libadiosf_nompi_a-adios_dimes.obj: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
-
-libadiosf_nompi_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosf_nompi_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosf_nompi_a-adios_datatap.o: write/adios_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_a-adios_datatap.o `test -f 'write/adios_datatap.c' || echo '$(srcdir)/'`write/adios_datatap.c
@@ -5272,12 +5191,6 @@ libadiosf_nompi_v1_a-adios_selection_util.o: core/adios_selection_util.c
libadiosf_nompi_v1_a-adios_selection_util.obj: core/adios_selection_util.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_selection_util.obj `if test -f 'core/adios_selection_util.c'; then $(CYGPATH_W) 'core/adios_selection_util.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_selection_util.c'; fi`
-libadiosf_nompi_v1_a-adios_read_ext.o: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
-
-libadiosf_nompi_v1_a-adios_read_ext.obj: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
-
libadiosf_nompi_v1_a-adios_transform_identity_read.o: transforms/adios_transform_identity_read.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_transform_identity_read.o `test -f 'transforms/adios_transform_identity_read.c' || echo '$(srcdir)/'`transforms/adios_transform_identity_read.c
@@ -5476,6 +5389,12 @@ libadiosf_nompi_v1_a-adios_infocache.o: core/adios_infocache.c
libadiosf_nompi_v1_a-adios_infocache.obj: core/adios_infocache.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_infocache.obj `if test -f 'core/adios_infocache.c'; then $(CYGPATH_W) 'core/adios_infocache.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_infocache.c'; fi`
+libadiosf_nompi_v1_a-adios_read_ext.o: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
+
+libadiosf_nompi_v1_a-adios_read_ext.obj: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
+
libadiosf_nompi_v1_a-globals.o: core/globals.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-globals.o `test -f 'core/globals.c' || echo '$(srcdir)/'`core/globals.c
@@ -5554,30 +5473,6 @@ libadiosf_nompi_v1_a-adios_posix1.o: write/adios_posix1.c
libadiosf_nompi_v1_a-adios_posix1.obj: write/adios_posix1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_posix1.obj `if test -f 'write/adios_posix1.c'; then $(CYGPATH_W) 'write/adios_posix1.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_posix1.c'; fi`
-libadiosf_nompi_v1_a-adios_dataspaces.o: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
-
-libadiosf_nompi_v1_a-adios_dataspaces.obj: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
-
-libadiosf_nompi_v1_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosf_nompi_v1_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosf_nompi_v1_a-adios_dimes.o: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
-
-libadiosf_nompi_v1_a-adios_dimes.obj: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
-
-libadiosf_nompi_v1_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosf_nompi_v1_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosf_nompi_v1_a-adios_datatap.o: write/adios_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_nompi_v1_a-adios_datatap.o `test -f 'write/adios_datatap.c' || echo '$(srcdir)/'`write/adios_datatap.c
@@ -5734,12 +5629,6 @@ libadiosf_v1_a-adios_selection_util.o: core/adios_selection_util.c
libadiosf_v1_a-adios_selection_util.obj: core/adios_selection_util.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_selection_util.obj `if test -f 'core/adios_selection_util.c'; then $(CYGPATH_W) 'core/adios_selection_util.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_selection_util.c'; fi`
-libadiosf_v1_a-adios_read_ext.o: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
-
-libadiosf_v1_a-adios_read_ext.obj: core/adios_read_ext.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
-
libadiosf_v1_a-adios_transform_identity_read.o: transforms/adios_transform_identity_read.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_transform_identity_read.o `test -f 'transforms/adios_transform_identity_read.c' || echo '$(srcdir)/'`transforms/adios_transform_identity_read.c
@@ -5938,6 +5827,12 @@ libadiosf_v1_a-adios_infocache.o: core/adios_infocache.c
libadiosf_v1_a-adios_infocache.obj: core/adios_infocache.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_infocache.obj `if test -f 'core/adios_infocache.c'; then $(CYGPATH_W) 'core/adios_infocache.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_infocache.c'; fi`
+libadiosf_v1_a-adios_read_ext.o: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_read_ext.o `test -f 'core/adios_read_ext.c' || echo '$(srcdir)/'`core/adios_read_ext.c
+
+libadiosf_v1_a-adios_read_ext.obj: core/adios_read_ext.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_read_ext.obj `if test -f 'core/adios_read_ext.c'; then $(CYGPATH_W) 'core/adios_read_ext.c'; else $(CYGPATH_W) '$(srcdir)/core/adios_read_ext.c'; fi`
+
libadiosf_v1_a-globals.o: core/globals.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-globals.o `test -f 'core/globals.c' || echo '$(srcdir)/'`core/globals.c
@@ -6016,30 +5911,6 @@ libadiosf_v1_a-adios_posix1.o: write/adios_posix1.c
libadiosf_v1_a-adios_posix1.obj: write/adios_posix1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_posix1.obj `if test -f 'write/adios_posix1.c'; then $(CYGPATH_W) 'write/adios_posix1.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_posix1.c'; fi`
-libadiosf_v1_a-adios_dataspaces.o: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
-
-libadiosf_v1_a-adios_dataspaces.obj: write/adios_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
-
-libadiosf_v1_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosf_v1_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosf_v1_a-adios_dimes.o: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
-
-libadiosf_v1_a-adios_dimes.obj: write/adios_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
-
-libadiosf_v1_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosf_v1_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosf_v1_a-adios_datatap.o: write/adios_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_datatap.o `test -f 'write/adios_datatap.c' || echo '$(srcdir)/'`write/adios_datatap.c
@@ -6130,6 +6001,30 @@ libadiosf_v1_a-adios_mpi_bgq.o: write/adios_mpi_bgq.c
libadiosf_v1_a-adios_mpi_bgq.obj: write/adios_mpi_bgq.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_mpi_bgq.obj `if test -f 'write/adios_mpi_bgq.c'; then $(CYGPATH_W) 'write/adios_mpi_bgq.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_mpi_bgq.c'; fi`
+libadiosf_v1_a-adios_dataspaces.o: write/adios_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dataspaces.o `test -f 'write/adios_dataspaces.c' || echo '$(srcdir)/'`write/adios_dataspaces.c
+
+libadiosf_v1_a-adios_dataspaces.obj: write/adios_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dataspaces.obj `if test -f 'write/adios_dataspaces.c'; then $(CYGPATH_W) 'write/adios_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dataspaces.c'; fi`
+
+libadiosf_v1_a-read_dataspaces.o: read/read_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
+
+libadiosf_v1_a-read_dataspaces.obj: read/read_dataspaces.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
+
+libadiosf_v1_a-adios_dimes.o: write/adios_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dimes.o `test -f 'write/adios_dimes.c' || echo '$(srcdir)/'`write/adios_dimes.c
+
+libadiosf_v1_a-adios_dimes.obj: write/adios_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_dimes.obj `if test -f 'write/adios_dimes.c'; then $(CYGPATH_W) 'write/adios_dimes.c'; else $(CYGPATH_W) '$(srcdir)/write/adios_dimes.c'; fi`
+
+libadiosf_v1_a-read_dimes.o: read/read_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
+
+libadiosf_v1_a-read_dimes.obj: read/read_dimes.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
+
libadiosf_v1_a-adios_phdf5.o: write/adios_phdf5.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosf_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosf_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosf_v1_a-adios_phdf5.o `test -f 'write/adios_phdf5.c' || echo '$(srcdir)/'`write/adios_phdf5.c
@@ -6700,18 +6595,6 @@ libadiosread_nompi_a-read_bp.o: read/read_bp.c
libadiosread_nompi_a-read_bp.obj: read/read_bp.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosread_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosread_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosread_nompi_a-read_bp.obj `if test -f 'read/read_bp.c'; then $(CYGPATH_W) 'read/read_bp.c'; else $(CYGPATH_W) '$(srcdir)/read/read_bp.c'; fi`
-libadiosread_nompi_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosread_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosread_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosread_nompi_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosread_nompi_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosread_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosread_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosread_nompi_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosread_nompi_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosread_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosread_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosread_nompi_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosread_nompi_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosread_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosread_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosread_nompi_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosread_nompi_a-read_datatap.o: read/read_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosread_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosread_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosread_nompi_a-read_datatap.o `test -f 'read/read_datatap.c' || echo '$(srcdir)/'`read/read_datatap.c
@@ -7276,18 +7159,6 @@ libadiosreadf_nompi_a-read_bp.o: read/read_bp.c
libadiosreadf_nompi_a-read_bp.obj: read/read_bp.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_a-read_bp.obj `if test -f 'read/read_bp.c'; then $(CYGPATH_W) 'read/read_bp.c'; else $(CYGPATH_W) '$(srcdir)/read/read_bp.c'; fi`
-libadiosreadf_nompi_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosreadf_nompi_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosreadf_nompi_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosreadf_nompi_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosreadf_nompi_a-read_datatap.o: read/read_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_a-read_datatap.o `test -f 'read/read_datatap.c' || echo '$(srcdir)/'`read/read_datatap.c
@@ -7564,18 +7435,6 @@ libadiosreadf_nompi_v1_a-read_bp.o: read/read_bp.c
libadiosreadf_nompi_v1_a-read_bp.obj: read/read_bp.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_v1_a-read_bp.obj `if test -f 'read/read_bp.c'; then $(CYGPATH_W) 'read/read_bp.c'; else $(CYGPATH_W) '$(srcdir)/read/read_bp.c'; fi`
-libadiosreadf_nompi_v1_a-read_dataspaces.o: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_v1_a-read_dataspaces.o `test -f 'read/read_dataspaces.c' || echo '$(srcdir)/'`read/read_dataspaces.c
-
-libadiosreadf_nompi_v1_a-read_dataspaces.obj: read/read_dataspaces.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_v1_a-read_dataspaces.obj `if test -f 'read/read_dataspaces.c'; then $(CYGPATH_W) 'read/read_dataspaces.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dataspaces.c'; fi`
-
-libadiosreadf_nompi_v1_a-read_dimes.o: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_v1_a-read_dimes.o `test -f 'read/read_dimes.c' || echo '$(srcdir)/'`read/read_dimes.c
-
-libadiosreadf_nompi_v1_a-read_dimes.obj: read/read_dimes.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_v1_a-read_dimes.obj `if test -f 'read/read_dimes.c'; then $(CYGPATH_W) 'read/read_dimes.c'; else $(CYGPATH_W) '$(srcdir)/read/read_dimes.c'; fi`
-
libadiosreadf_nompi_v1_a-read_datatap.o: read/read_datatap.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadiosreadf_nompi_v1_a_CPPFLAGS) $(CPPFLAGS) $(libadiosreadf_nompi_v1_a_CFLAGS) $(CFLAGS) -c -o libadiosreadf_nompi_v1_a-read_datatap.o `test -f 'read/read_datatap.c' || echo '$(srcdir)/'`read/read_datatap.c
diff --git a/src/core/adios.c b/src/core/adios.c
index dbd00be..bef175f 100644
--- a/src/core/adios.c
+++ b/src/core/adios.c
@@ -87,7 +87,7 @@ int adios_group_size (int64_t fd_p, uint64_t data_size
* passing variable names, user is expected to pass variable id, which is returned
* from adios_define_var call. Therefore, this function is only used in the no-xml way.
*/
-int adios_write_byid (int64_t fd_p, int64_t id, void * var)
+int adios_write_byid (int64_t fd_p, int64_t id, const void * var)
{
return common_adios_write_byid ((struct adios_file_struct *) fd_p, (struct adios_var_struct *) id, var);
}
@@ -96,7 +96,7 @@ int adios_write_byid (int64_t fd_p, int64_t id, void * var)
/* This C api function is a bit different from the Fortran api funcion, but
* they call the same common_adios_write()
*/
-int adios_write (int64_t fd_p, const char * name, void * var)
+int adios_write (int64_t fd_p, const char * name, const void * var)
{
int retval;
struct adios_file_struct * fd = (struct adios_file_struct *) fd_p;
@@ -273,6 +273,11 @@ int adios_close (int64_t fd_p)
{
int retval;
struct adios_file_struct * fd = (struct adios_file_struct *) fd_p;
+ if (!fd)
+ {
+ adios_error (err_invalid_file_pointer, "Invalid handle passed to adios_close\n");
+ return adios_errno;
+ }
struct adios_var_struct * v = fd->group->vars;
retval = common_adios_close (fd_p);
@@ -433,6 +438,16 @@ int adios_delete_attrdefs (int64_t id)
return adios_errno;
}
+int adios_define_attribute_byvalue (int64_t group,
+ const char * name, const char * path,
+ enum ADIOS_DATATYPES type, int nelems, void * values
+ )
+{
+ adios_errno = err_no_error;
+ adios_common_define_attribute_byvalue (group, name, path, type, nelems, values);
+ return adios_errno;
+}
+
///////////////////////////////////////////////////////////////////////////////
// adios_common_select_method is in adios_internals_mxml.c
diff --git a/src/core/adios_bp_v1.c b/src/core/adios_bp_v1.c
index 332eed2..8d6dc97 100644
--- a/src/core/adios_bp_v1.c
+++ b/src/core/adios_bp_v1.c
@@ -185,7 +185,8 @@ int adios_parse_index_offsets_v1 (struct adios_bp_buffer_struct_v1 * b)
}
int adios_parse_process_group_index_v1 (struct adios_bp_buffer_struct_v1 * b,
- struct adios_index_process_group_struct_v1 ** pg_root
+ struct adios_index_process_group_struct_v1 ** pg_root,
+ struct adios_index_process_group_struct_v1 ** pg_tail
)
{
struct adios_index_process_group_struct_v1 ** root;
@@ -279,6 +280,10 @@ int adios_parse_process_group_index_v1 (struct adios_bp_buffer_struct_v1 * b,
}
b->offset += 8;
+ // record this as the tail
+ if (pg_tail)
+ *pg_tail = (*root);
+
root = &(*root)->next;
}
@@ -825,6 +830,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
malloc (sizeof (struct adios_index_attribute_struct_v1));
(*root)->next = 0;
}
+ (*root)->nelems = 1; // initialize to 1 in case there will be no dimension characteristic
uint8_t flag;
uint32_t attr_entry_length;
uint16_t len;
@@ -885,7 +891,6 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
(*root)->characteristics_allocated = characteristics_sets_count;
b->offset += 8;
- // validate remaining length: offsets_count * (8 + 2 * (size of type))
uint64_t j;
(*root)->characteristics = malloc (characteristics_sets_count
* sizeof (struct adios_index_characteristic_struct_v1)
@@ -924,27 +929,34 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
uint16_t data_size;
void * data = 0;
- if ((*root)->type == adios_string)
+ if ((*root)->type == adios_string_array)
+ {
+ // there is no length info at this point
+ data_size = 0;
+ data = malloc ((*root)->nelems*sizeof(char*));
+ }
+ else if ((*root)->type == adios_string)
{
data_size = *(uint16_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_16(data_size);
}
b->offset += 2;
+ data = malloc (data_size + 1);
+ ((char *) data) [data_size] = '\0';
}
else
{
data_size = adios_get_type_size ((*root)->type, "");
+ data = malloc ((*root)->nelems*data_size);
}
- data = malloc (data_size + 1);
- ((char *) data) [data_size] = '\0';
if (!data)
{
adios_error(err_no_memory, "cannot allocate"
"%d bytes to copy scalar %s\n",
- data_size, (*root)->attr_name);
+ (*root)->nelems*data_size, (*root)->attr_name);
return 1;
}
@@ -964,9 +976,9 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
case adios_long_double:
case adios_complex:
case adios_double_complex:
- memcpy (data, (b->buff + b->offset), data_size);
+ memcpy (data, (b->buff + b->offset), (*root)->nelems*data_size);
- if(b->change_endianness == adios_flag_yes) {
+ if(b->change_endianness == adios_flag_yes && data_size>1) {
if((*root)->type == adios_complex) {
// TODO
}
@@ -974,31 +986,56 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
// TODO
}
else {
- switch(data_size)
+ int k;
+ char *p = (char *)data;
+ for (k=0; k<(*root)->nelems; k++)
{
- case 2:
- swap_16_ptr(data);
- break;
- case 4:
- swap_32_ptr(data);
- break;
- case 8:
- swap_64_ptr(data);
- break;
- case 16:
- swap_128_ptr(data);
- break;
+ switch(data_size)
+ {
+ case 2:
+ swap_16_ptr(p);
+ break;
+ case 4:
+ swap_32_ptr(p);
+ break;
+ case 8:
+ swap_64_ptr(p);
+ break;
+ case 16:
+ swap_128_ptr(p);
+ break;
+ }
+ p += data_size;
}
}
}
- b->offset += data_size;
+ b->offset += (*root)->nelems*data_size;
break;
+
case adios_string:
memcpy (data, (b->buff + b->offset), data_size);
b->offset += data_size;
break;
+ case adios_string_array:
+ {
+ char ** p = (char**)data;
+ int k;
+ for (k=0; k < (*root)->nelems; k++) {
+ data_size = *(uint16_t *) (b->buff + b->offset);
+ if(b->change_endianness == adios_flag_yes) {
+ swap_16(data_size);
+ }
+ b->offset += 2;
+ p[k] = malloc (data_size + 1);
+ p[k] [data_size] = '\0';
+ memcpy (p[k], (b->buff + b->offset), data_size);
+ b->offset += data_size;
+ }
+ }
+ break;
+
default:
free (data);
data = 0;
@@ -1013,7 +1050,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
case adios_characteristic_offset:
{
(*root)->characteristics [j].offset =
- *(uint64_t *) (b->buff + b->offset);
+ *(uint64_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_64((*root)->characteristics [j].offset);
}
@@ -1025,7 +1062,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
case adios_characteristic_bitmap:
{
(*root)->characteristics [j].offset =
- *(uint32_t *) (b->buff + b->offset);
+ *(uint32_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_32((*root)->characteristics [j].offset);
}
@@ -1037,7 +1074,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
case adios_characteristic_payload_offset:
{
(*root)->characteristics [j].payload_offset =
- *(uint64_t *) (b->buff + b->offset);
+ *(uint64_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_64((*root)->characteristics [j].payload_offset);
}
@@ -1049,7 +1086,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
case adios_characteristic_file_index:
{
(*root)->characteristics [j].file_index =
- *(uint32_t *) (b->buff + b->offset);
+ *(uint32_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_32((*root)->characteristics [j].file_index);
}
@@ -1061,7 +1098,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
case adios_characteristic_time_index:
{
(*root)->characteristics [j].time_index =
- *(uint32_t *) (b->buff + b->offset);
+ *(uint32_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_32((*root)->characteristics [j].time_index);
}
@@ -1074,7 +1111,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
{
/* BP Format v1: varid/attrid was 16bit, now it's 32 bit */
(*root)->characteristics [j].var_id =
- *(uint32_t *) (b->buff + b->offset);
+ *(uint32_t *) (b->buff + b->offset);
if(b->change_endianness == adios_flag_yes) {
swap_32((*root)->characteristics [j].var_id);
}
@@ -1088,15 +1125,43 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
{
adios_transform_deserialize_transform_characteristic(&(*root)->characteristics[j].transform, b);
/*
- (*root)->characteristics [j].transform_type =
- *(uint8_t *) (b->buff + b->offset);
+ (*root)->characteristics [j].transform_type =
+ *(uint8_t *) (b->buff + b->offset);
+ b->offset += 1;
+ */
+ break;
+ }
+
+ case adios_characteristic_dimensions:
+ {
+ uint16_t dims_length;
+
+ (*root)->characteristics [j].dims.count = *(uint8_t *) (b->buff + b->offset);
b->offset += 1;
- */
+
+ dims_length = *(uint16_t *) (b->buff + b->offset);
+ if(b->change_endianness == adios_flag_yes) {
+ swap_16(dims_length);
+ }
+ b->offset += 2;
+
+ (*root)->characteristics [j].dims.dims = (uint64_t *) malloc (dims_length);
+ memcpy ((*root)->characteristics [j].dims.dims,
+ (b->buff + b->offset), dims_length);
+ if(b->change_endianness == adios_flag_yes) {
+ int di = 0;
+ int dims_num = dims_length / 8;
+ for (di = 0; di < dims_num; di ++) {
+ swap_64(((*root)->characteristics [j].dims.dims)[di]);
+ }
+ }
+ b->offset += dims_length;
+ (*root)->nelems = (*root)->characteristics [j].dims.dims[0];
break;
}
-
+
default:
- break;
+ break;
}
item++;
}
@@ -1109,7 +1174,7 @@ int adios_parse_attributes_index_v1 (struct adios_bp_buffer_struct_v1 * b
}
int adios_parse_process_group_header_v1 (struct adios_bp_buffer_struct_v1 * b
- ,struct adios_process_group_header_struct_v1 * pg_header
+ ,struct adios_process_group_header_struct_v1 * pg_header
)
{
if (b->length - b->offset < 24)
@@ -1334,15 +1399,15 @@ int adios_parse_var_data_header_v1 (struct adios_bp_buffer_struct_v1 * b
(*root)->dimension.rank = 0;
(*root)->dimension.var_id = 0;
- (*root)->dimension.time_index = adios_flag_no;
+ (*root)->dimension.is_time_index = adios_flag_no;
(*root)->global_dimension.rank = 0;
(*root)->global_dimension.var_id = 0;
- (*root)->global_dimension.time_index = adios_flag_no;
+ (*root)->global_dimension.is_time_index = adios_flag_no;
(*root)->local_offset.rank = 0;
(*root)->local_offset.var_id = 0;
- (*root)->local_offset.time_index = adios_flag_no;
+ (*root)->local_offset.is_time_index = adios_flag_no;
flag = *(b->buff + b->offset);
b->offset += 1;
@@ -1354,7 +1419,7 @@ int adios_parse_var_data_header_v1 (struct adios_bp_buffer_struct_v1 * b
swap_32((*root)->dimension.var_id);
}
if ((*root)->dimension.var_id == 0)
- (*root)->dimension.time_index = adios_flag_yes;
+ (*root)->dimension.is_time_index = adios_flag_yes;
b->offset += 4;
}
else
@@ -1378,7 +1443,7 @@ int adios_parse_var_data_header_v1 (struct adios_bp_buffer_struct_v1 * b
swap_32((*root)->global_dimension.var_id);
}
if ((*root)->global_dimension.var_id == 0)
- (*root)->global_dimension.time_index = adios_flag_yes;
+ (*root)->global_dimension.is_time_index = adios_flag_yes;
b->offset += 4;
}
else
@@ -1402,7 +1467,7 @@ int adios_parse_var_data_header_v1 (struct adios_bp_buffer_struct_v1 * b
swap_32((*root)->local_offset.var_id);
}
if ((*root)->local_offset.var_id == 0)
- (*root)->local_offset.time_index = adios_flag_yes;
+ (*root)->local_offset.is_time_index = adios_flag_yes;
b->offset += 4;
}
else
@@ -1681,6 +1746,17 @@ int adios_parse_var_data_header_v1 (struct adios_bp_buffer_struct_v1 * b
var_header->payload_size = length_of_var - (b->offset - initial_offset);
+ /* At this point we are at the payload, processed all metadata.
+ If offset and payload_offset was not read in, let's calculate them here
+ b->offset was 0 when reading in the whole PG and start processing with
+ parsing the process group.
+ initial_offset points to the beginning of this variable's metadata.
+ b->offset points to the beginning of this variable's payload.
+ */
+ if (var_header->characteristics.offset == 0)
+ var_header->characteristics.offset = b->read_pg_offset + initial_offset;
+ if (var_header->characteristics.payload_offset == 0)
+ var_header->characteristics.payload_offset = b->read_pg_offset + b->offset;
return 0;
}
@@ -1887,6 +1963,9 @@ int adios_parse_attributes_header_v1 (struct adios_bp_buffer_struct_v1 * b
return 0;
}
+/** Read/parse an attribute from the PG into adios_attribute_struct_v1.
+ Used by bpdump to print out the actual attributes stored in each PG
+*/
int adios_parse_attribute_v1 (struct adios_bp_buffer_struct_v1 * b
,struct adios_attribute_struct_v1 * attribute
)
@@ -1956,21 +2035,76 @@ int adios_parse_attribute_v1 (struct adios_bp_buffer_struct_v1 * b
flag = *(b->buff + b->offset);
attribute->type = (enum ADIOS_DATATYPES) flag;
b->offset += 1;
- attribute->length = *(uint32_t *) (b->buff + b->offset);
- if(b->change_endianness == adios_flag_yes) {
- swap_32(attribute->length);
+ if (attribute->type == adios_string_array)
+ {
+ attribute->length = 0;
+ attribute->nelems = *(uint32_t *) (b->buff + b->offset);
+ if(b->change_endianness == adios_flag_yes) {
+ swap_32(attribute->nelems);
+ }
+ b->offset += 4;
+
+ // 4 bytes nelems then nelems times: 4 bytes length + string
+ char ** p = malloc (attribute->nelems*sizeof(char*));
+ int k;
+ uint32_t len;
+ for (k=0; k < attribute->nelems; k++) {
+ // length of one string without terminating 0
+ len = *(uint32_t *) (b->buff + b->offset);
+ if(b->change_endianness == adios_flag_yes) {
+ swap_32(len);
+ }
+ b->offset += 4;
+ p[k] = malloc (len*sizeof(char)+1);
+ if (p[k]) {
+ p[k][len] = '\0';
+ memcpy (p[k], (b->buff + b->offset), len);
+ }
+ b->offset += len;
+ attribute->length += len;
+ }
+ attribute->value = p;
+
}
- b->offset += 4;
+ else if (attribute->type == adios_string)
+ {
+ attribute->length = *(uint32_t *) (b->buff + b->offset);
+ if(b->change_endianness == adios_flag_yes) {
+ swap_32(attribute->length);
+ }
+ b->offset += 4;
- attribute->value = malloc (attribute->length + 1);
- ((char *) attribute->value) [attribute->length] = '\0';
- memcpy (attribute->value, (b->buff + b->offset), attribute->length);
+ // terminating 0 is NOT included in the file
+ attribute->value = malloc (attribute->length + 1);
+ ((char *) attribute->value) [attribute->length] = '\0';
+ memcpy (attribute->value, (b->buff + b->offset), attribute->length);
+ attribute->nelems = 1;
+ b->offset += attribute->length;
+ }
+ else
+ {
+ attribute->length = *(uint32_t *) (b->buff + b->offset);
+ if(b->change_endianness == adios_flag_yes) {
+ swap_32(attribute->length);
+ }
+ b->offset += 4;
- // TODO: do we need byte-swap here?
- if(b->change_endianness == adios_flag_yes) {
- swap_adios_type(attribute->value, attribute->type);
+ int elemsize = adios_get_type_size (attribute->type, NULL);
+ attribute->nelems = attribute->length / elemsize;
+ attribute->value = malloc (attribute->length);
+ memcpy (attribute->value, (b->buff + b->offset), attribute->length);
+
+ // byte-swap here element by element
+ if(b->change_endianness == adios_flag_yes) {
+ int i;
+ char * p = (char *)attribute->value;
+ for (i=0; i<attribute->nelems; i++) {
+ swap_adios_type(p, attribute->type);
+ p = p + elemsize;
+ }
+ }
+ b->offset += attribute->length;
}
- b->offset += attribute->length;
}
return 0;
@@ -1995,7 +2129,10 @@ int adios_clear_attribute_v1 (struct adios_attribute_struct_v1 * attribute)
attribute->length = 0;
if (attribute->value)
{
- free (attribute->value);
+ if (attribute->type == adios_string_array)
+ free_string_array (attribute->value, attribute->nelems);
+ else
+ free (attribute->value);
attribute->value = 0;
}
return 0;
@@ -2222,7 +2359,7 @@ void adios_posix_close_internal (struct adios_bp_buffer_struct_v1 * b)
adios_buffer_struct_clear (b);
}
-uint64_t adios_get_type_size (enum ADIOS_DATATYPES type, void * var)
+uint64_t adios_get_type_size (enum ADIOS_DATATYPES type, const void * var)
{
switch (type)
{
@@ -2234,7 +2371,10 @@ uint64_t adios_get_type_size (enum ADIOS_DATATYPES type, void * var)
if (!var)
return 0;
else
- return strlen ((char *) var);
+ return strlen ((const char *) var);
+
+ case adios_string_array:
+ return sizeof (char*);
case adios_short:
case adios_unsigned_short:
diff --git a/src/core/adios_bp_v1.h b/src/core/adios_bp_v1.h
index 06d5f6d..2ed623e 100644
--- a/src/core/adios_bp_v1.h
+++ b/src/core/adios_bp_v1.h
@@ -13,7 +13,8 @@
#include "core/adios_transport_hooks.h"
#include "core/qhashtbl.h"
-#define ADIOS_VERSION_BP_FORMAT 2
+#include "public/adios_version.h" // ADIOS_VERSION_BP_FORMAT
+
#define ADIOS_VERSION_NUM_MASK 0x000000FF
#define ADIOS_VERSION_HAVE_SUBFILE 0x00000100
#define ADIOS_VERSION_HAVE_TIME_INDEX_CHARACTERISTIC 0x00000200
@@ -169,6 +170,7 @@ struct adios_index_attribute_struct_v1
char * attr_name;
char * attr_path;
enum ADIOS_DATATYPES type;
+ int nelems; // number of elements of type 'type'
uint64_t characteristics_count;
uint64_t characteristics_allocated;
@@ -184,6 +186,7 @@ struct adios_index_attribute_struct_v1
struct adios_index_struct_v1
{
struct adios_index_process_group_struct_v1 * pg_root;
+ struct adios_index_process_group_struct_v1 * pg_tail;
struct adios_index_var_struct_v1 * vars_root;
struct adios_index_var_struct_v1 * vars_tail;
struct adios_index_attribute_struct_v1 * attrs_root;
@@ -204,7 +207,7 @@ struct adios_dimension_item_struct_v1
{
uint64_t rank;
uint32_t var_id;
- enum ADIOS_FLAG time_index;
+ enum ADIOS_FLAG is_time_index;
};
struct adios_dimension_struct_v1
@@ -266,7 +269,10 @@ struct adios_attribute_struct_v1
uint32_t var_id;
enum ADIOS_DATATYPES type;
- uint32_t length;
+ int nelems; // number of elements of type 'type'
+ uint32_t length; // length of attribute value = nelems*sizeof(type)
+ // does not include '\0' in a string attribute (so memory
+ // used by a string attribute is length+1)
void * value;
};
@@ -284,8 +290,9 @@ int adios_parse_version (struct adios_bp_buffer_struct_v1 * b
// buff must be 16 bytes
int adios_parse_index_offsets_v1 (struct adios_bp_buffer_struct_v1 * b);
-int adios_parse_process_group_index_v1 (struct adios_bp_buffer_struct_v1 * b
- ,struct adios_index_process_group_struct_v1 ** pg_root
+int adios_parse_process_group_index_v1 (struct adios_bp_buffer_struct_v1 * b,
+ struct adios_index_process_group_struct_v1 ** pg_root,
+ struct adios_index_process_group_struct_v1 ** pg_tail
);
int adios_parse_vars_index_v1 (struct adios_bp_buffer_struct_v1 * b
diff --git a/src/core/adios_internals.c b/src/core/adios_internals.c
index 9c75359..6e897c1 100644
--- a/src/core/adios_internals.c
+++ b/src/core/adios_internals.c
@@ -248,13 +248,13 @@ int adios_parse_dimension (const char * dimension
dim->dimension.var = NULL;
dim->dimension.attr = NULL;
- dim->dimension.time_index = adios_flag_no;
+ dim->dimension.is_time_index = adios_flag_no;
if ( g->time_index_name &&
!strcasecmp (g->time_index_name, dimension)
)
{
/* this is time dimension */
- dim->dimension.time_index = adios_flag_yes;
+ dim->dimension.is_time_index = adios_flag_yes;
}
else if (adios_int_is_var (dimension))
{
@@ -283,6 +283,7 @@ int adios_parse_dimension (const char * dimension
switch (attr->var->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -307,6 +308,7 @@ int adios_parse_dimension (const char * dimension
switch (attr->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -333,6 +335,7 @@ int adios_parse_dimension (const char * dimension
switch (var->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -389,7 +392,7 @@ int adios_parse_dimension (const char * dimension
&& !strcasecmp (g->time_index_name, global_dimension)
)
{
- dim->global_dimension.time_index = adios_flag_yes;
+ dim->global_dimension.is_time_index = adios_flag_yes;
}
else
{
@@ -407,6 +410,7 @@ int adios_parse_dimension (const char * dimension
switch (attr->var->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -431,6 +435,7 @@ int adios_parse_dimension (const char * dimension
switch (attr->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -457,6 +462,7 @@ int adios_parse_dimension (const char * dimension
switch (var->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -512,7 +518,7 @@ int adios_parse_dimension (const char * dimension
&& !strcasecmp (g->time_index_name, local_offset)
)
{
- dim->local_offset.time_index = adios_flag_yes;
+ dim->local_offset.is_time_index = adios_flag_yes;
}
else
{
@@ -530,6 +536,7 @@ int adios_parse_dimension (const char * dimension
switch (attr->var->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -554,6 +561,7 @@ int adios_parse_dimension (const char * dimension
switch (attr->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -580,6 +588,7 @@ int adios_parse_dimension (const char * dimension
switch (var->type)
{
case adios_string:
+ case adios_string_array:
case adios_real:
case adios_double:
case adios_long_double:
@@ -892,6 +901,13 @@ int adios_parse_scalar_string (enum ADIOS_DATATYPES type, char * value, void **
return 1;
}
+ case adios_string_array:
+ {
+ adios_error (err_unspecified,
+ "adios_parse_scalar_string: string arrays cannot be processed yet\n");
+ return 1;
+ }
+
case adios_unknown:
default:
adios_error (err_unspecified,
@@ -935,6 +951,7 @@ int adios_common_define_attribute (int64_t group, const char * name
return 0;
}
attr->type = type;
+ attr->data_size = adios_get_type_size (type, (void *)value);
if (adios_parse_scalar_string (type, (void *) value, &attr->value))
{
attr->var = 0;
@@ -957,6 +974,7 @@ int adios_common_define_attribute (int64_t group, const char * name
else
{
attr->value = 0;
+ attr->data_size = 0;
attr->type = adios_unknown;
attr->var = adios_find_var_by_name (g, var);
@@ -975,6 +993,7 @@ int adios_common_define_attribute (int64_t group, const char * name
}
}
+ attr->nelems = 1;
attr->next = 0;
attr->write_offset = 0;
@@ -984,11 +1003,12 @@ int adios_common_define_attribute (int64_t group, const char * name
}
-/* define an attribute by passing the value directly, not by a string */
+/* define an attribute by passing the values directly, not by a string */
int adios_common_define_attribute_byvalue (int64_t group, const char * name
,const char * path
,enum ADIOS_DATATYPES type
- ,void * value
+ ,int nelems
+ ,void * values
)
{
struct adios_group_struct * g = (struct adios_group_struct *) group;
@@ -996,9 +1016,7 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
malloc (sizeof (struct adios_attribute_struct));
uint64_t size;
- attr->name = strdup (name);
- attr->path = strdup (path);
- if (value)
+ if (values)
{
if (type == adios_unknown)
{
@@ -1006,19 +1024,32 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
"config.xml: attribute element %s has invalid "
"type attribute\n",
name);
-
- free (attr->name);
- free (attr->path);
free (attr);
-
return 0;
}
attr->type = type;
- size = adios_get_type_size (attr->type, value);
+ attr->nelems = nelems;
+ size = adios_get_type_size (attr->type, values);
if (size > 0)
{
- attr->value = malloc (size);
- memcpy (attr->value, value, size);
+ if (type == adios_string_array) {
+ // need to copy strings from a char** array
+ int total_length;
+ attr->value = dup_string_array ((char**)values, nelems, &total_length);
+ if (!attr->value) {
+ adios_error (err_no_memory,
+ "Not enough memory to copy string array attribute %s/%s\n",
+ path, name);
+ free (attr);
+ return 0;
+ }
+ attr->data_size = total_length;
+
+ } else {
+ attr->value = malloc (nelems*size);
+ memcpy (attr->value, values, nelems*size);
+ attr->data_size = nelems*size;
+ }
attr->var = 0;
}
else
@@ -1026,25 +1057,19 @@ int adios_common_define_attribute_byvalue (int64_t group, const char * name
adios_error (err_invalid_value_attr,
"Attribute element %s has invalid "
"value attribute\n", name);
-
free (attr->value);
- free (attr->name);
- free (attr->path);
free (attr);
-
return 0;
}
+ attr->name = strdup (name);
+ attr->path = strdup (path);
}
else
{
adios_error (err_invalid_value_attr,
"Attribute element %s has invalid "
"value attribute\n", name);
-
- free (attr->name);
- free (attr->path);
free (attr);
-
return 0;
}
@@ -1330,11 +1355,15 @@ int adios_common_delete_attrdefs (struct adios_group_struct * g)
{
struct adios_attribute_struct * attr = g->attributes;
g->attributes = g->attributes->next;
- free (attr->value);
+ if (attr->type == adios_string_array)
+ free_string_array (attr->value, attr->nelems);
+ else
+ free (attr->value);
free (attr->name);
free (attr->path);
free (attr);
}
+ return 0;
}
// Delete all variable (definitions) from a group
@@ -1397,8 +1426,8 @@ int adios_common_delete_vardefs (struct adios_group_struct * g)
// NCSU ALACRITY-ADIOS - Clean transform metadata
adios_transform_clear_transform_var(var);
- if (var->data)
- free (var->data);
+ if (var->adata)
+ free (var->adata);
free (var);
}
@@ -1720,6 +1749,7 @@ int64_t adios_common_define_var (int64_t group_id, const char * name
v->parent_var = NULL;
v->data = 0;
+ v->adata = 0;
v->write_offset = 0;
v->data_size = 0;
@@ -1969,6 +1999,9 @@ static uint16_t adios_calc_var_characteristics_overhead(struct adios_var_struct
//overhead += 2; // size
break;
+ case adios_string_array: // not supported for variables
+ break;
+
default: // the 12 numeric types
if (v->dimensions)
{
@@ -2013,7 +2046,7 @@ uint16_t adios_calc_var_overhead_v1 (struct adios_var_struct * v)
overhead += 1; // var flag
if ( d->dimension.var == NULL
&& d->dimension.attr == NULL
- && d->dimension.time_index == adios_flag_no
+ && d->dimension.is_time_index == adios_flag_no
)
{
overhead += 8; // value
@@ -2026,7 +2059,7 @@ uint16_t adios_calc_var_overhead_v1 (struct adios_var_struct * v)
overhead += 1; // var flag
if ( d->global_dimension.var == NULL
&& d->global_dimension.attr == NULL
- && d->global_dimension.time_index == adios_flag_no
+ && d->global_dimension.is_time_index == adios_flag_no
)
{
overhead += 8; // value
@@ -2039,7 +2072,7 @@ uint16_t adios_calc_var_overhead_v1 (struct adios_var_struct * v)
overhead += 1; // var flag
if ( d->local_offset.var == NULL
&& d->local_offset.attr == NULL
- && d->local_offset.time_index == adios_flag_no
+ && d->local_offset.is_time_index == adios_flag_no
)
{
overhead += 8; // value
@@ -2072,8 +2105,12 @@ uint32_t adios_calc_attribute_overhead_v1 (struct adios_attribute_struct * a)
else
{
overhead += 1; // datatype
- overhead += 4; // length of value
- overhead += adios_get_type_size (a->type, a->value); // value
+ overhead += 4; // length of value (or nelems for string array)
+ if (a->type == adios_string_array)
+ // strings + terminating 0s + individual lengths in 32bit
+ overhead += a->data_size + a->nelems + a->nelems*4;
+ else
+ overhead += a->nelems * adios_get_type_size (a->type, a->value); // value
}
return overhead;
@@ -2216,28 +2253,30 @@ int adios_write_process_group_header_v1 (struct adios_file_struct * fd
return 0;
}
-static void index_append_process_group_v1 (
- struct adios_index_process_group_struct_v1 ** root
- ,struct adios_index_process_group_struct_v1 * item
+void index_append_process_group_v1 (
+ struct adios_index_struct_v1 * index,
+ struct adios_index_process_group_struct_v1 * item
)
{
- while (root)
- {
- if (!*root)
- {
- *root = item;
- root = 0;
- }
- else
- {
- root = &(*root)->next;
- }
+ /* PG's are not merged, simply add to the end of the list */
+ if (index->pg_root) {
+ index->pg_tail->next = item;
+ } else {
+ // first element
+ index->pg_root = item;
}
+ index->pg_tail = item;
+ /* item may be head of a long list of PGs
+ (e.g. during global index aggregation in MPI_AGGREGATE)
+ So don't do this:
+ item->next = 0;
+ */
}
-static void index_append_var_v1 (
+void index_append_var_v1 (
struct adios_index_struct_v1 *index
,struct adios_index_var_struct_v1 * item
+ ,int do_sort
)
{
struct adios_index_var_struct_v1 * olditem;
@@ -2291,39 +2330,110 @@ static void index_append_var_v1 (
return;
}
- if ( olditem->characteristics_count
- + item->characteristics_count
- > olditem->characteristics_allocated
- )
+ if (do_sort && item->characteristics_count > 0)
{
- int new_items = (item->characteristics_count == 1)
- ? 100 : item->characteristics_count;
- olditem->characteristics_allocated =
- olditem->characteristics_count + new_items;
- void * ptr = realloc (
- olditem->characteristics,
- olditem->characteristics_allocated *
- sizeof (struct adios_index_characteristic_struct_v1)
- );
-
- if (ptr)
- {
- olditem->characteristics = ptr;
- }
- else
+ log_debug (" ----------- Append index with merging --------------\n");
+ struct adios_index_characteristic_struct_v1 * c;
+ int count = olditem->characteristics_count + item->characteristics_count;
+ c = malloc ( count * sizeof (struct adios_index_characteristic_struct_v1));
+ if (!c)
{
adios_error (err_no_memory, "error allocating memory to build "
"var index. Index aborted\n");
return;
}
- }
- memcpy (&olditem->characteristics [olditem->characteristics_count],
- item->characteristics,
- item->characteristics_count *
+ /* Merge the characteristics sorted with time_index */
+ struct adios_index_characteristic_struct_v1 * c1 = olditem->characteristics;
+ struct adios_index_characteristic_struct_v1 * c2 = item->characteristics;
+ uint64_t k1 = 0;
+ uint64_t k2 = 0;
+ struct adios_index_characteristic_struct_v1 * cend = c;
+ log_debug (" old count=%llu item count=%llu\n", olditem->characteristics_count, item->characteristics_count);
+ while (k1 < olditem->characteristics_count || k2 < item->characteristics_count)
+ {
+ log_debug (" k1=%llu k2=%llu", k1, k2);
+ /*
+ if (k2 >= item->characteristics_count || c1->time_index <= c2->time_index) {
+ memcpy (cend, c1, sizeof(struct adios_index_characteristic_struct_v1));
+ log_debug_cont (" -> choose c1, time_index=%u", c1->time_index);
+ c1++;
+ k1++;
+ }
+ else if (k1 >= olditem->characteristics_count || c1->time_index > c2->time_index) {
+ memcpy (cend, c2, sizeof(struct adios_index_characteristic_struct_v1));
+ log_debug_cont (" -> choose c2, time_index=%u", c2->time_index);
+ c2++;
+ k2++;
+ }*/
+ if (k2 >= item->characteristics_count) {
+ memcpy (cend, c1, sizeof(struct adios_index_characteristic_struct_v1));
+ log_debug_cont (" -> only c1, time_index=%u", c1->time_index);
+ c1++;
+ k1++;
+ }
+ else if (k1 >= olditem->characteristics_count) {
+ memcpy (cend, c2, sizeof(struct adios_index_characteristic_struct_v1));
+ log_debug_cont (" -> only c2, time_index=%u", c2->time_index);
+ c2++;
+ k2++;
+ }
+ else if (c1->time_index <= c2->time_index) {
+ memcpy (cend, c1, sizeof(struct adios_index_characteristic_struct_v1));
+ log_debug_cont (" -> choose c1, time_index=%u", c1->time_index);
+ c1++;
+ k1++;
+ }
+ else {
+ memcpy (cend, c2, sizeof(struct adios_index_characteristic_struct_v1));
+ log_debug_cont (" -> choose c2, time_index=%u", c2->time_index);
+ c2++;
+ k2++;
+ }
+ cend++;
+ log_debug_cont ("\n");
+ }
+ free (olditem->characteristics);
+ olditem->characteristics = c;
+ olditem->characteristics_allocated = count;
+ olditem->characteristics_count = count;
+
+ }
+ else
+ {
+ if ( olditem->characteristics_count
+ + item->characteristics_count
+ > olditem->characteristics_allocated
+ )
+ {
+ int new_items = (item->characteristics_count == 1)
+ ? 100 : item->characteristics_count;
+ olditem->characteristics_allocated =
+ olditem->characteristics_count + new_items;
+ void * ptr = realloc (
+ olditem->characteristics,
+ olditem->characteristics_allocated *
+ sizeof (struct adios_index_characteristic_struct_v1)
+ );
+
+ if (ptr)
+ {
+ olditem->characteristics = ptr;
+ }
+ else
+ {
+ adios_error (err_no_memory, "error allocating memory to build "
+ "var index. Index aborted\n");
+ return;
+ }
+ }
+ memcpy (&olditem->characteristics [olditem->characteristics_count],
+ item->characteristics,
+ item->characteristics_count *
sizeof (struct adios_index_characteristic_struct_v1)
- );
+ );
- olditem->characteristics_count += item->characteristics_count;
+ olditem->characteristics_count += item->characteristics_count;
+ }
free (item->characteristics);
free (item->group_name);
@@ -2404,15 +2514,18 @@ static void index_append_attribute_v1
}
// lists in new_index will be destroyed as part of the merge operation...
+// needs_sorting: use 1 if the the inserted new list has multiple timesteps
+// it will merge sort the characteristics to keep the time in order
void adios_merge_index_v1 (
struct adios_index_struct_v1 * main_index
,struct adios_index_process_group_struct_v1 * new_pg_root
,struct adios_index_var_struct_v1 * new_vars_root
,struct adios_index_attribute_struct_v1 * new_attrs_root
+ ,int needs_sorting
)
{
// this will just add it on to the end and all should work fine
- index_append_process_group_v1 (&main_index->pg_root, new_pg_root);
+ index_append_process_group_v1 (main_index, new_pg_root);
// need to do vars attrs one at a time to merge them properly
struct adios_index_var_struct_v1 * v = new_vars_root;
@@ -2425,7 +2538,7 @@ void adios_merge_index_v1 (
v_temp = v->next;
v->next = 0;
log_debug ("merge index var %s/%s\n", v->var_path, v->var_name);
- index_append_var_v1 (main_index, v);
+ index_append_var_v1 (main_index, v, needs_sorting);
v = v_temp;
}
@@ -2438,6 +2551,8 @@ void adios_merge_index_v1 (
}
}
+#if 0
+// obsolete, merge the index with sorting
// sort pg/var indexes by time index
void adios_sort_index_v1 (struct adios_index_process_group_struct_v1 ** p1
,struct adios_index_var_struct_v1 ** v1
@@ -2554,6 +2669,7 @@ void adios_sort_index_v1 (struct adios_index_process_group_struct_v1 ** p1
// no need to sort attributes
}
+#endif
static void adios_clear_process_groups_index_v1 (
struct adios_index_process_group_struct_v1 * root
@@ -2689,8 +2805,12 @@ static void adios_clear_vars_index_v1 (struct adios_index_var_struct_v1 * root)
// NCSU ALACRITY-ADIOS - Clear the transform metadata
adios_transform_clear_transform_characteristic(&root->characteristics[i].transform);
- if (root->characteristics [i].value)
- free (root->characteristics [i].value);
+ /*if (root->characteristics [i].value) {
+ if (root->type == adios_string_array)
+ free_string_array (root->characteristics [i].value, root->nelems);
+ else
+ free (root->characteristics [i].value);
+ }*/
}
if (root->characteristics)
@@ -2708,6 +2828,7 @@ struct adios_index_struct_v1 * adios_alloc_index_v1 (int alloc_hashtables)
malloc (sizeof(struct adios_index_struct_v1));
assert (index);
index->pg_root = NULL;
+ index->pg_tail = NULL;
index->vars_root = NULL;
index->vars_tail = NULL;
index->attrs_root = NULL;
@@ -2746,6 +2867,7 @@ void adios_clear_index_v1 (struct adios_index_struct_v1 * index)
adios_clear_vars_index_v1 (index->vars_root);
adios_clear_attributes_index_v1 (index->attrs_root);
index->pg_root = NULL;
+ index->pg_tail = NULL;
index->vars_root = NULL;
index->vars_tail = NULL;
index->attrs_root = NULL;
@@ -2818,6 +2940,7 @@ static uint64_t cast_var_data_as_uint64 (const char * parent_name
return (uint64_t) *(long double *) data;
case adios_string:
+ case adios_string_array:
case adios_complex:
case adios_double_complex:
default:
@@ -2836,9 +2959,9 @@ uint64_t adios_get_dim_value (struct adios_dimension_item_struct * dimension)
if (dimension->var != 0)
{
struct adios_var_struct * var = dimension->var;
- if (var->data)
+ if (var->adata)
{
- dim = cast_var_data_as_uint64 (var->name, var->type, var->data);
+ dim = cast_var_data_as_uint64 (var->name, var->type, var->adata);
}
else
{
@@ -2850,9 +2973,9 @@ uint64_t adios_get_dim_value (struct adios_dimension_item_struct * dimension)
struct adios_attribute_struct * attr = dimension->attr;
if (attr->var)
{
- if (attr->var->data)
+ if (attr->var->adata)
{
- dim = cast_var_data_as_uint64 (attr->var->name,attr->var->type,attr->var->data);
+ dim = cast_var_data_as_uint64 (attr->var->name,attr->var->type,attr->var->adata);
}
else
{
@@ -2866,7 +2989,7 @@ uint64_t adios_get_dim_value (struct adios_dimension_item_struct * dimension)
}
else
{
- if (dimension->time_index == adios_flag_yes)
+ if (dimension->is_time_index == adios_flag_yes)
dim = 1;
else
dim = dimension->rank;
@@ -2894,6 +3017,7 @@ void adios_copy_var_written (struct adios_group_struct * g, struct adios_var_str
var_new->stats = 0;
var_new->free_data = var->free_data;
var_new->data = 0;
+ var_new->adata = 0;
var_new->data_size = var->data_size;
var_new->write_count = var->write_count;
var_new->next = 0;
@@ -2988,15 +3112,15 @@ void adios_copy_var_written (struct adios_group_struct * g, struct adios_var_str
d_new->dimension.var = NULL;
d_new->dimension.attr = NULL;
d_new->dimension.rank = adios_get_dim_value (&d->dimension);
- d_new->dimension.time_index = d->dimension.time_index;
+ d_new->dimension.is_time_index = d->dimension.is_time_index;
d_new->global_dimension.var = NULL;
d_new->global_dimension.attr = NULL;
d_new->global_dimension.rank = adios_get_dim_value (&d->global_dimension);
- d_new->global_dimension.time_index = d->global_dimension.time_index;
+ d_new->global_dimension.is_time_index = d->global_dimension.is_time_index;
d_new->local_offset.var = NULL;
d_new->local_offset.attr = NULL;
d_new->local_offset.rank = adios_get_dim_value (&d->local_offset);
- d_new->local_offset.time_index = d->local_offset.time_index;
+ d_new->local_offset.is_time_index = d->local_offset.is_time_index;
d_new->next = 0;
adios_append_dimension (&var_new->dimensions, d_new);
@@ -3008,8 +3132,9 @@ void adios_copy_var_written (struct adios_group_struct * g, struct adios_var_str
{
adios_transform_init_transform_var(var_new);
var_new->stats = 0;
- var_new->data = malloc (size);
- memcpy (var_new->data, var->data, size);
+ var_new->adata = malloc (size);
+ memcpy (var_new->adata, var->data, size);
+ var_new->data = var_new->adata;
}
break;
@@ -3017,12 +3142,18 @@ void adios_copy_var_written (struct adios_group_struct * g, struct adios_var_str
case adios_string:
{
adios_transform_init_transform_var(var_new);
- var_new->data = malloc (size + 1);
- memcpy (var_new->data, var->data, size);
- ((char *) (var_new->data)) [size] = 0;
+ var_new->adata = malloc (size + 1);
+ memcpy (var_new->adata, var->data, size);
+ ((char *) (var_new->adata)) [size] = 0;
+ var_new->data = var_new->adata;
break;
}
+ case adios_string_array:
+ {
+ adios_error (err_unspecified, "String arrays are not supported for variables %s:%s:%d\n",
+ __FILE__,__func__, __LINE__);
+ }
default:
{
adios_error (err_unspecified, "Reached unexpected branch in %s:%s:%d\n",
@@ -3175,15 +3306,15 @@ void adios_copy_var_written (struct adios_var_struct ** root
d_new->dimension.var = NULL;
d_new->dimension.attr = NULL;
d_new->dimension.rank = adios_get_dim_value (&d->dimension);
- d_new->dimension.time_index = d->dimension.time_index;
+ d_new->dimension.is_time_index = d->dimension.is_time_index;
d_new->global_dimension.var = NULL;
d_new->global_dimension.attr = NULL;
d_new->global_dimension.rank = adios_get_dim_value (&d->global_dimension);
- d_new->global_dimension.time_index = d->global_dimension.time_index;
+ d_new->global_dimension.is_time_index = d->global_dimension.is_time_index;
d_new->local_offset.var = NULL;
d_new->local_offset.attr = NULL;
d_new->local_offset.rank = adios_get_dim_value (&d->local_offset);
- d_new->local_offset.time_index = d->local_offset.time_index;
+ d_new->local_offset.is_time_index = d->local_offset.is_time_index;
d_new->next = 0;
adios_append_dimension (&var_new->dimensions, d_new);
@@ -3240,7 +3371,7 @@ void adios_build_index_v1 (struct adios_file_struct * fd,
g_item->next = 0;
// build the groups and vars index
- index_append_process_group_v1 (&index->pg_root, g_item);
+ index_append_process_group_v1 (index, g_item);
while (v)
{
@@ -3407,6 +3538,11 @@ void adios_build_index_v1 (struct adios_file_struct * fd,
break;
}
+ case adios_string_array:
+ {
+ adios_error (err_unspecified, "String arrays are not supported for variables %s:%s:%d\n",
+ __FILE__,__func__, __LINE__);
+ }
default:
{
adios_error (err_unspecified, "Reached unexpected branch in %s:%s:%d\n",
@@ -3417,7 +3553,7 @@ void adios_build_index_v1 (struct adios_file_struct * fd,
// this fn will either take ownership for free
log_debug ("build index var %s/%s\n", v_index->var_path, v_index->var_name);
- index_append_var_v1 (index, v_index);
+ index_append_var_v1 (index, v_index, 0);
}
v = v->next;
@@ -3439,11 +3575,15 @@ void adios_build_index_v1 (struct adios_file_struct * fd,
a_index->attr_name = (a->name ? strdup (a->name) : 0L);
a_index->attr_path = (a->path ? strdup (a->path) : 0L);
a_index->type = a->type;
+ a_index->nelems = a->nelems;
a_index->characteristics_count = 1;
a_index->characteristics_allocated = 1;
- uint64_t size = adios_get_type_size (a->type, a->value);
+ uint64_t size = a_index->nelems * adios_get_type_size (a->type, a->value);
a_index->characteristics [0].offset = a->write_offset;
+ /*FIXME: this below cannot be correct, calc includes the data size
+ itself and the payload offset should point to the beginning
+ of the actual data. ADIOS never accesses this data though */
a_index->characteristics [0].payload_offset = a->write_offset + adios_calc_attribute_overhead_v1 (a);
a_index->characteristics [0].file_index = fd->subfile_index;
a_index->characteristics [0].time_index = 0;
@@ -3455,18 +3595,38 @@ void adios_build_index_v1 (struct adios_file_struct * fd,
adios_transform_init_transform_characteristic(&a_index->characteristics[0].transform);
//a_index->characteristics[0].transform_type = adios_transform_none;
+ a_index->characteristics [0].value = a->value;
+ /* Do not copy the attributes to index, since they don't change */
+ /*
if (a->value)
{
- a_index->characteristics [0].value = malloc (size + 1);
- ((char *) (a_index->characteristics [0].value)) [size] = 0;
+ if (a->type == adios_string)
+ size++;
+ a_index->characteristics [0].value = malloc (size);
+ if (a->type == adios_string)
+ ((char *) (a_index->characteristics [0].value)) [size] = 0;
memcpy (a_index->characteristics [0].value, a->value, size);
+
}
else
{
a_index->characteristics [0].value = 0;
}
- a_index->characteristics [0].dims.count = 0;
- a_index->characteristics [0].dims.dims = 0;
+ */
+
+ if (a_index->nelems > 1) {
+ // for array attributes, save nelems as a dimension characteristic
+ a_index->characteristics [0].dims.count = 1; // 1D array allowed only
+ a_index->characteristics [0].dims.dims = malloc (3*sizeof(uint64_t));
+ a_index->characteristics [0].dims.dims[0] = a_index->nelems; // "local dim"
+ a_index->characteristics [0].dims.dims[1] = a_index->nelems; // "global dim"
+ a_index->characteristics [0].dims.dims[2] = 0; // "offset"
+ } else {
+ // old attributes up to version 1.8 never had dimensions
+ a_index->characteristics [0].dims.count = 0;
+ a_index->characteristics [0].dims.dims = 0;
+ }
+
if (a->var)
a_index->characteristics [0].var_id = a->var->id;
else
@@ -4106,9 +4266,33 @@ int adios_write_index_v1 (char ** buffer
attr_size += 4;
characteristic_set_length += 4;
- size = adios_get_type_size (attrs_root->type
- ,attrs_root->characteristics [i].value
- );
+ if (attrs_root->characteristics [i].dims.count)
+ {
+ // add a dimensions characteristic
+ characteristic_set_count++;
+ flag = (uint8_t) adios_characteristic_dimensions;
+ buffer_write (buffer, buffer_size, buffer_offset, &flag, 1);
+ index_size += 1;
+ attr_size += 1;
+ characteristic_set_length += 1;
+
+ buffer_write (buffer, buffer_size, buffer_offset,
+ &attrs_root->characteristics [i].dims.count, 1);
+ index_size += 1;
+ attr_size += 1;
+ characteristic_set_length += 1;
+
+ len = 3 * sizeof(uint64_t) * attrs_root->characteristics [i].dims.count;
+ buffer_write (buffer, buffer_size, buffer_offset, &len, 2);
+ index_size += 2;
+ attr_size += 2;
+ characteristic_set_length += 2;
+ buffer_write (buffer, buffer_size, buffer_offset,
+ attrs_root->characteristics [i].dims.dims, len);
+ index_size += len;
+ attr_size += len;
+ characteristic_set_length += len;
+ }
if (attrs_root->characteristics [i].value != 0)
{
@@ -4121,19 +4305,44 @@ int adios_write_index_v1 (char ** buffer
index_size += 1;
attr_size += 1;
characteristic_set_length += 1;
- if (attrs_root->type == adios_string)
+
+ if (attrs_root->type == adios_string_array)
+ {
+
+ // need to copy each string one by one
+ // 16bit length + the strings without 0 in a continuous byte array
+ char **v = attrs_root->characteristics [i].value;
+ uint16_t len;
+ int k;
+ for (k=0; k < attrs_root->nelems; k++) {
+ len = strlen (v[k]);
+ buffer_write (buffer, buffer_size, buffer_offset, &len, 2);
+ buffer_write (buffer, buffer_size, buffer_offset, v[k], len);
+ index_size += len+2;
+ attr_size += len+2;
+ characteristic_set_length += len+2;
+ }
+
+ }
+ else
{
- uint16_t len = (uint16_t) size;
+ size = attrs_root->nelems * adios_get_type_size (
+ attrs_root->type, attrs_root->characteristics [i].value);
+
+ if (attrs_root->type == adios_string)
+ {
+ uint16_t len = (uint16_t) size;
+ buffer_write (buffer, buffer_size, buffer_offset
+ ,&len, 2
+ );
+ index_size += 2;
+ attr_size += 2;
+ characteristic_set_length += 2;
+ }
buffer_write (buffer, buffer_size, buffer_offset
- ,&len, 2
+ ,attrs_root->characteristics [i].value, size
);
- index_size += 2;
- attr_size += 2;
- characteristic_set_length += 2;
}
- buffer_write (buffer, buffer_size, buffer_offset
- ,attrs_root->characteristics [i].value, size
- );
index_size += size;
attr_size += size;
characteristic_set_length += size;
@@ -4189,11 +4398,11 @@ int adios_write_index_v1 (char ** buffer
unsigned char ver;
snprintf (verstr, 25, "ADIOS-BP v%-14.14s", VERSION);
buffer_write (buffer, buffer_size, buffer_offset, verstr, 24);
- ver = VERSION_MAJOR;
+ ver = ADIOS_VERSION_MAJOR;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
- ver = VERSION_MINOR;
+ ver = ADIOS_VERSION_MINOR;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
- ver = VERSION_MICRO;
+ ver = ADIOS_VERSION_PATCH;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
ver = 0;
buffer_write (buffer, buffer_size, buffer_offset, &ver, 1);
@@ -4268,7 +4477,7 @@ static uint16_t calc_dimension_size (struct adios_dimension_struct * dimension)
if ( dimension->dimension.var == NULL
&& dimension->dimension.attr == NULL
- && dimension->dimension.time_index == adios_flag_no
+ && dimension->dimension.is_time_index == adios_flag_no
) // it is a number
{
size += 8; // size of value
@@ -4282,7 +4491,7 @@ static uint16_t calc_dimension_size (struct adios_dimension_struct * dimension)
if ( dimension->global_dimension.var == NULL
&& dimension->global_dimension.attr == NULL
- && dimension->global_dimension.time_index == adios_flag_no
+ && dimension->global_dimension.is_time_index == adios_flag_no
) // it is a number
{
size += 8; // default to a rank
@@ -4296,7 +4505,7 @@ static uint16_t calc_dimension_size (struct adios_dimension_struct * dimension)
if ( dimension->local_offset.var == NULL
&& dimension->local_offset.var == NULL
- && dimension->local_offset.time_index == adios_flag_no
+ && dimension->local_offset.is_time_index == adios_flag_no
) // it is a number
{
size += 8; // default to a rank
@@ -4334,7 +4543,7 @@ uint64_t adios_write_dimension_v1 (struct adios_file_struct * fd
if ( dimension->dimension.var == NULL
&& dimension->dimension.attr == NULL
- && dimension->dimension.time_index == adios_flag_no
+ && dimension->dimension.is_time_index == adios_flag_no
)
{
var = 'n';
@@ -4362,7 +4571,7 @@ uint64_t adios_write_dimension_v1 (struct adios_file_struct * fd
if ( dimension->global_dimension.var == NULL
&& dimension->global_dimension.attr == NULL
- && dimension->global_dimension.time_index == adios_flag_no
+ && dimension->global_dimension.is_time_index == adios_flag_no
)
{
var = 'n';
@@ -4390,7 +4599,7 @@ uint64_t adios_write_dimension_v1 (struct adios_file_struct * fd
if ( dimension->local_offset.var == NULL
&& dimension->local_offset.attr == NULL
- && dimension->local_offset.time_index == adios_flag_no
+ && dimension->local_offset.is_time_index == adios_flag_no
)
{
var = 'n';
@@ -4842,7 +5051,7 @@ int adios_generate_var_characteristics_v1 (struct adios_file_struct * fd, struct
{
int i, j, c, count = 3;
struct adios_stat_struct ** stats = var->stats;
- float * data = var->data;
+ const float * data = var->data;
i = j = 0;
while (var->bitmap >> j) {
@@ -4971,7 +5180,7 @@ int adios_generate_var_characteristics_v1 (struct adios_file_struct * fd, struct
{
int i, j, c, count = 3;
struct adios_stat_struct ** stats = var->stats;
- double * data = var->data;
+ const double * data = var->data;
i = j = 0;
while (var->bitmap >> j) {
@@ -5234,14 +5443,36 @@ int adios_write_attribute_v1 (struct adios_file_struct * fd
buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, &flag, 1);
size += 1;
- uint32_t t = adios_get_type_size (a->type, a->value);
- buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, &t, 4);
- size += 4;
+ if (a->type == adios_string_array)
+ {
+ buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, &a->nelems, 4);
+ size += 4;
+ uint32_t t = a->data_size + 5*a->nelems;
+ /* t = for all strings, sum of
+ length of string + terminating 0 + 16bit length info */
+ char ** v = (char**) a->value;
+ int k;
+ uint32_t len;
+ for (k=0; k<a->nelems; k++) {
+ len = strlen (v[k])+1; // include the terminating 0
+ buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, &len, 4);
+ buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, v[k], len);
+ size += len+4;
+ }
- buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset
- ,a->value, t
- );
- size += t;
+ }
+ else
+ {
+ uint32_t t = a->nelems * adios_get_type_size (a->type, a->value);
+ buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, &t, 4);
+ size += 4;
+
+ // terminating 0 of a string is not written here!
+ buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset
+ ,a->value, t
+ );
+ size += t;
+ }
}
// put in the size we have put in for this attribute
@@ -5309,41 +5540,41 @@ int adios_write_close_attributes_v1 (struct adios_file_struct * fd)
int adios_multiply_dimensions (uint64_t * size
,struct adios_var_struct * var
,enum ADIOS_DATATYPES type
- ,void * data
+ ,const void * data
)
{
switch (type)
{
case adios_unsigned_byte:
- *size *= (*(uint8_t *) data);
+ *size *= (*(const uint8_t *) data);
return 1;
case adios_byte:
- *size *= (*(int8_t *) data);
+ *size *= (*(const int8_t *) data);
return 1;
case adios_unsigned_short:
- *size *= (*(uint16_t *) data);
+ *size *= (*(const uint16_t *) data);
return 1;
case adios_short:
- *size *= (*(int16_t *) data);
+ *size *= (*(const int16_t *) data);
return 1;
case adios_unsigned_integer:
- *size *= (*(uint32_t *) data);
+ *size *= (*(const uint32_t *) data);
return 1;
case adios_integer:
- *size *= (*(int32_t *) data);
+ *size *= (*(const int32_t *) data);
return 1;
case adios_unsigned_long:
- *size *= (*(uint64_t *) data);
+ *size *= (*(const uint64_t *) data);
return 1;
case adios_long:
- *size *= (*(int64_t *) data);
+ *size *= (*(const int64_t *) data);
return 1;
default:
@@ -5432,7 +5663,7 @@ uint64_t adios_get_dimension_space_size (struct adios_var_struct *var
}
else
{
- if (d->dimension.time_index == adios_flag_no)
+ if (d->dimension.is_time_index == adios_flag_no)
{
size *= d->dimension.rank;
}
@@ -5446,7 +5677,7 @@ uint64_t adios_get_dimension_space_size (struct adios_var_struct *var
}
// NCSU ALACRITY-ADIOS: Refactored to call the above dimension space compute code
-uint64_t adios_get_var_size (struct adios_var_struct * var, void * data)
+uint64_t adios_get_var_size (struct adios_var_struct * var, const void * data)
{
uint64_t size = adios_get_type_size (var->type, data);
if (var->dimensions)
@@ -5474,6 +5705,7 @@ const char * adios_type_to_string_int (int type)
case adios_long_double: return "long double";
case adios_string: return "string";
+ case adios_string_array: return "string array";
case adios_complex: return "complex";
case adios_double_complex: return "double complex";
@@ -6299,12 +6531,9 @@ void adios_conca_mesh_att_nam(char ** returnstr, const char * meshname, char * a
}
// concat link attribute name strings
-void adios_conca_link_att_nam(char ** returnstr, const char * name, char * att_nam) {
+void adios_conca_link_att_nam(char ** returnstr, const char * name, char * att_nam, char counterstr[5]) {
int slength = 0;
- slength = strlen("adios_link/")+1;
- slength = slength + strlen(name);
- slength = slength + 1;
- slength = slength + strlen(att_nam);
+ slength = strlen("adios_link/") + strlen(name) + strlen(att_nam) + strlen(counterstr) + 2;
*returnstr = malloc (slength);
@@ -6312,6 +6541,7 @@ void adios_conca_link_att_nam(char ** returnstr, const char * name, char * att_n
strcat(*returnstr,name);
strcat(*returnstr,"/");
strcat(*returnstr,att_nam);
+ strcat(*returnstr,counterstr);
}
// concat var attribute name strings
diff --git a/src/core/adios_internals.h b/src/core/adios_internals.h
index b15bf30..e38faad 100644
--- a/src/core/adios_internals.h
+++ b/src/core/adios_internals.h
@@ -63,7 +63,8 @@ struct adios_var_struct
uint64_t write_offset; // offset this var was written at [for writes]
enum ADIOS_FLAG free_data; // primarily used for writing
- void * data; // primarily used for reading
+ const void * data; // user data pointer
+ void * adata; // data field if allocated inside adios (then, data->adata)
uint64_t data_size; // primarily used for reading
uint32_t write_count; // added to support multiple writes for transform layer.
// Might needed for other things in the future.
@@ -100,10 +101,13 @@ struct adios_attribute_struct
char * name;
char * path;
enum ADIOS_DATATYPES type;
+ int nelems; // number of elements of 'type' in the attribute
void * value;
struct adios_var_struct * var;
uint64_t write_offset; // offset this var was written at [for writes]
+ uint32_t data_size; // data size for an array of strings (type==adios_string_array)
+
struct adios_attribute_struct * next;
};
@@ -204,7 +208,7 @@ struct adios_dimension_item_struct
uint64_t rank; // for numerical value
struct adios_var_struct * var; // for value stored in variable
struct adios_attribute_struct * attr; // for value stored in attribute
- enum ADIOS_FLAG time_index;
+ enum ADIOS_FLAG is_time_index;
};
struct adios_dimension_struct
@@ -323,7 +327,7 @@ typedef enum ADIOS_FLAG (* ADIOS_SHOULD_BUFFER_FN)
);
typedef void (* ADIOS_WRITE_FN) (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
);
typedef void (* ADIOS_GET_WRITE_BUFFER_FN) (struct adios_file_struct * fd
@@ -435,7 +439,8 @@ int adios_common_define_attribute (int64_t group, const char * name
int adios_common_define_attribute_byvalue (int64_t group, const char * name
,const char * path
,enum ADIOS_DATATYPES type
- ,void * value
+ ,int nelems
+ ,void * values
);
void adios_append_method (struct adios_method_struct * method);
@@ -461,7 +466,7 @@ int adios_common_declare_group (int64_t * id, const char * name
,enum ADIOS_FLAG host_language_fortran
,const char * coordination_comm
,const char * coordination_var
- ,const char * time_index
+ ,const char * time_index_name
,enum ADIOS_FLAG stats
);
@@ -550,26 +555,40 @@ void adios_merge_index_v1 (
,struct adios_index_process_group_struct_v1 * new_pg_root
,struct adios_index_var_struct_v1 * new_vars_root
,struct adios_index_attribute_struct_v1 * new_attrs_root
+ ,int needs_sorting // merge-sort the characteristics to keep the time in order
);
+/* obsolete, merge the index with sorting
void adios_sort_index_v1 (struct adios_index_process_group_struct_v1 ** p1
,struct adios_index_var_struct_v1 ** v1
,struct adios_index_attribute_struct_v1 ** a1
);
+*/
void adios_clear_index_v1 (struct adios_index_struct_v1 * index); // in each adios_<method>_close()
void adios_free_index_v1 (struct adios_index_struct_v1 * index); // in adios_<method>_finalize()
+/* Other index operations made visible for the recovery tool */
+void index_append_process_group_v1 (
+ struct adios_index_struct_v1 * index,
+ struct adios_index_process_group_struct_v1 * item
+ );
+void index_append_var_v1 (
+ struct adios_index_struct_v1 *index,
+ struct adios_index_var_struct_v1 * item,
+ int do_sort
+ );
+
int adios_parse_scalar_string (enum ADIOS_DATATYPES type, char * value, void ** out);
// NCSU ALACRITY-ADIOS - This function was static, but is now needed in adios_transforms_*.c
uint8_t count_dimensions (const struct adios_dimension_struct * dimensions);
-uint64_t adios_get_type_size (enum ADIOS_DATATYPES type, void * var);
+uint64_t adios_get_type_size (enum ADIOS_DATATYPES type, const void * var);
// NCSU ALACRITY-ADIOS - added this for use in the transform layer
uint64_t adios_get_dimension_space_size (struct adios_var_struct * var
,struct adios_dimension_struct * d);
-uint64_t adios_get_var_size (struct adios_var_struct * var, void * data);
+uint64_t adios_get_var_size (struct adios_var_struct * var, const void * data);
uint64_t adios_get_dim_value (struct adios_dimension_item_struct * dimension);
uint64_t adios_get_stat_size (void * data, enum ADIOS_DATATYPES type, enum ADIOS_STAT stat_id);
uint8_t adios_get_stat_set_count (enum ADIOS_DATATYPES type);
diff --git a/src/core/adios_internals_mxml.c b/src/core/adios_internals_mxml.c
index 5dd42cd..19da816 100644
--- a/src/core/adios_internals_mxml.c
+++ b/src/core/adios_internals_mxml.c
@@ -1694,65 +1694,114 @@ static int parseGroup (mxml_node_t * node, char * schema_version)
free (meshtime);
free (meshfile);
free (meshgroup);
- } else if (!strcasecmp (n->value.element.name, "link"))
+ } else if (!strcasecmp (n->value.element.name, "multilink"))
{
- const char * ref;
- const char * type;
- const char * objref;
- const char * extref;
- // Get the var name
- ref = mxmlElementGetAttr (n, "ref");
- // Get the ref type
- type = mxmlElementGetAttr (n, "type");
- // Get the ref var name in external file
- objref = mxmlElementGetAttr(n, "objref");
- // Get the ref link
- extref = mxmlElementGetAttr(n, "extref");
- if (!ref)
- ref = "";
- if (!type)
- type = "var";
- if (!objref)
- objref = "";
- if (!extref)
- extref = "";
-
- const char * linkvar = 0;
- const char * linktype = 0;
- const char * linkobjref = 0;
- const char * linkextref = 0;
-
- if ( ref[0]=='\0' && objref[0]=='\0' )
- {
- log_warn ("config.xml: invalid var link, "
- "requires either ref OR objref.\n"
- );
- return 0;
- }
- else if ( ref[0]=='\0')
- ref = objref; //strcpy (ref, objref);
-
- if (ref)
- {
- adios_conca_link_att_nam (&linkvar, ref, "ref");
- adios_common_define_attribute (ptr_new_group, linkvar, "/",adios_string, ref, "");
- }
- if (objref)
- {
- adios_conca_link_att_nam (&linkobjref, ref, "objref");
- adios_common_define_attribute (ptr_new_group, linkobjref, "/",adios_string, objref, "");
- }
- if (type)
- {
- adios_conca_link_att_nam (&linktype, ref, "type");
- adios_common_define_attribute (ptr_new_group, linktype, "/",adios_string, type, "");
- }
- if (extref)
+ mxml_node_t * n1; // uesed for multilink
+ char * ref_prev = "";
+ char * link_num = 0;
+ int ref_num = 0;
+ char tmp_num[5];
+
+ for (n1 = mxmlWalkNext (n, n, MXML_DESCEND)
+ ;n1
+ ;n1 = mxmlWalkNext (n1, n, MXML_DESCEND)
+ )
{
- adios_conca_link_att_nam (&linkextref, ref, "extref");
- adios_common_define_attribute (ptr_new_group, linkextref, "/",adios_string, extref, "");
- }
+ if (n1->type != MXML_ELEMENT)
+ {
+ continue;
+ }
+ if (!strcasecmp (n1->value.element.name, "link"))
+ {
+ const char * ref = 0;
+ const char * type = 0;
+ const char * objref = 0;
+ const char * extref = 0;
+ for (i = 0; i < n1->value.element.num_attrs; i++)
+ {
+ mxml_attr_t * attr = &n1->value.element.attrs [i];
+
+ GET_ATTR("ref",attr,ref,"link")
+ GET_ATTR("type",attr,type,"link")
+ GET_ATTR("objref",attr,objref,"link")
+ GET_ATTR("extref",attr,extref,"link")
+ }
+ if (!ref)
+ ref = "";
+ if (!type)
+ type = "var";
+ if (!objref)
+ objref = "";
+ if (!extref)
+ extref = "";
+//TODO
+ char * linkvar = 0;
+ char * linktype = 0;
+ char * linkobjref = 0;
+ char * linkextref = 0;
+
+ if ( ref[0]=='\0' && objref[0]=='\0' )
+ {
+ log_warn ("config.xml: invalid var link, "
+ "requires either ref OR objref.\n");
+ return 0;
+ }
+ else if ( ref[0]=='\0')
+ ref = strdup (objref);
+ if (ref_num == 0 && ref[0]!='\0')
+ {
+ ref_prev = strdup (ref);
+ ref_num++;
+ }
+ else
+ {
+ int res_cmp = strcmp (ref_prev, ref);
+ if (res_cmp == 0)
+ ref_num++;
+ else
+ {
+ adios_conca_link_att_nam (&link_num, ref_prev, "ref", "-num");
+ snprintf(tmp_num, 5, "%d",ref_num);
+ adios_common_define_attribute (ptr_new_group, link_num, "/",adios_integer, tmp_num, "");
+ link_num = 0;
+ tmp_num[0] = '\0';
+ ref_num = 0;
+ }
+ if (ref_num == 0 && ref[0]!='\0')
+ {
+ ref_prev = strdup (ref);
+ ref_num++;
+ }
+ }
+ snprintf(tmp_num, 5, "%d",ref_num-1);
+ if (ref)
+ {
+ adios_conca_link_att_nam (&linkvar, ref, "ref", tmp_num);
+ adios_common_define_attribute (ptr_new_group, linkvar, "/",adios_string, ref, "");
+ }
+ if (objref)
+ {
+ adios_conca_link_att_nam (&linkobjref, ref, "objref", tmp_num);
+ adios_common_define_attribute (ptr_new_group, linkobjref, "/",adios_string, objref, "");
+ }
+ if (type)
+ {
+ adios_conca_link_att_nam (&linktype, ref, "type", tmp_num);
+ adios_common_define_attribute (ptr_new_group, linktype, "/",adios_string, type, "");
+ }
+ if (extref)
+ {
+ adios_conca_link_att_nam (&linkextref, ref, "extref", tmp_num);
+ adios_common_define_attribute (ptr_new_group, linkextref, "/",adios_string, extref, "");
+ }
+ tmp_num[0] = '\0';
+ }
+ }
+ adios_conca_link_att_nam (&link_num, ref_prev, "ref", "-num");
+ snprintf(tmp_num, 5, "%d",ref_num);
+ adios_common_define_attribute (ptr_new_group, link_num, "/",adios_integer, tmp_num, "");
+ ref_num = 0;
} else if (!strcasecmp (n->value.element.name, "gwrite"))
{
const char * src = 0;
@@ -2674,8 +2723,8 @@ void adios_cleanup ()
// NCSU ALACRITY-ADIOS - Clean transform metadata
adios_transform_clear_transform_var(adios_groups->group->vars);
- if (adios_groups->group->vars->data)
- free (adios_groups->group->vars->data);
+ if (adios_groups->group->vars->adata)
+ free (adios_groups->group->vars->adata);
free (adios_groups->group->vars);
adios_groups->group->vars = vars;
diff --git a/src/core/adios_logger.h b/src/core/adios_logger.h
index 69af559..e7fe818 100644
--- a/src/core/adios_logger.h
+++ b/src/core/adios_logger.h
@@ -38,4 +38,12 @@ void adios_logger_close();
#define log_info_cont(...) adios_logger(3, 0, __VA_ARGS__)
#define log_debug_cont(...) adios_logger(4, 0, __VA_ARGS__)
+/* Simple printf for programs in the test suite, that log into separate
+ * files per process
+ */
+#define log_test(...) { \
+ if (!adios_logf) adios_logf=stderr; \
+ fprintf (adios_logf, __VA_ARGS__); \
+}
+
#endif
diff --git a/src/core/adios_read.c b/src/core/adios_read.c
index 3d155bc..ac91f18 100644
--- a/src/core/adios_read.c
+++ b/src/core/adios_read.c
@@ -98,6 +98,16 @@ int adios_complete_meshinfo (ADIOS_FILE *datafile, ADIOS_FILE *meshfile, ADIOS_M
return common_read_complete_meshinfo (datafile, meshfile, meshinfo);
}
+ADIOS_LINK * adios_inq_link_byid (ADIOS_FILE *fp, int linkid)
+{
+ return common_read_inq_link_byid (fp, linkid);
+}
+
+void adios_free_linkinfo (ADIOS_LINK * linkinfo)
+{
+ common_read_free_linkinfo (linkinfo);
+}
+
void adios_free_meshinfo (ADIOS_MESH *meshinfo)
{
common_read_free_meshinfo (meshinfo);
diff --git a/src/core/adios_read_hooks.c b/src/core/adios_read_hooks.c
index 8cbb1f1..a6d7b97 100644
--- a/src/core/adios_read_hooks.c
+++ b/src/core/adios_read_hooks.c
@@ -53,19 +53,20 @@ void adios_read_hooks_init (struct adios_read_hooks_struct ** t)
#ifndef __MPI_DUMMY_H__
ASSIGN_FNS(bp_staged,ADIOS_READ_METHOD_BP_AGGREGATE)
#endif
-#if HAVE_DATASPACES
+
+#ifndef _NOMPI
+# if HAVE_DATASPACES
ASSIGN_FNS(dataspaces,ADIOS_READ_METHOD_DATASPACES)
-#endif
+# endif
-#if HAVE_DIMES
+# if HAVE_DIMES
ASSIGN_FNS(dimes,ADIOS_READ_METHOD_DIMES)
+# endif
#endif
-# ifndef _NOMPI
-#if HAVE_FLEXPATH
+# if HAVE_FLEXPATH
ASSIGN_FNS(flexpath, ADIOS_READ_METHOD_FLEXPATH);
-#endif
-#endif
+# endif
#if HAVE_ICEE
ASSIGN_FNS(icee, ADIOS_READ_METHOD_ICEE);
diff --git a/src/core/adios_transport_hooks.c b/src/core/adios_transport_hooks.c
index 1eb3588..efca3d7 100644
--- a/src/core/adios_transport_hooks.c
+++ b/src/core/adios_transport_hooks.c
@@ -90,8 +90,17 @@ void adios_init_transports (struct adios_transport_struct ** t)
ASSIGN_FNS(nssi_filter,ADIOS_METHOD_NSSI_FILTER,"NSSI_FILTER")
# endif
+# if HAVE_DATASPACES
+ ASSIGN_FNS(dataspaces,ADIOS_METHOD_DATASPACES,"DATASPACES")
+# endif
+
+# if HAVE_DIMES
+ ASSIGN_FNS(dimes,ADIOS_METHOD_DIMES,"DIMES")
+# endif
+
# endif /* _NOMPI */
+
# if HAVE_DATATAP
ASSIGN_FNS(datatap,ADIOS_METHOD_DATATAP,"DATATAP")
# endif
@@ -106,14 +115,6 @@ void adios_init_transports (struct adios_transport_struct ** t)
ASSIGN_FNS(posix,ADIOS_METHOD_POSIX,"POSIX")
ASSIGN_FNS(posix1,ADIOS_METHOD_POSIX1,"POSIX1")
-# if HAVE_DATASPACES
- ASSIGN_FNS(dataspaces,ADIOS_METHOD_DATASPACES,"DATASPACES")
-# endif
-
-# if HAVE_DIMES
- ASSIGN_FNS(dimes,ADIOS_METHOD_DIMES,"DIMES")
-# endif
-
# ifndef NO_RESEARCH_TRANSPORTS
//ASSIGN_FNS(provenance,ADIOS_METHOD_PROVENANCE)
# endif
diff --git a/src/core/adios_transport_hooks.h b/src/core/adios_transport_hooks.h
index 8161dc5..929c8b5 100644
--- a/src/core/adios_transport_hooks.h
+++ b/src/core/adios_transport_hooks.h
@@ -26,7 +26,7 @@ enum ADIOS_FLAG adios_##a##_should_buffer (struct adios_file_struct * fd \
) {return 0;} \
void adios_##a##_write (struct adios_file_struct * fd \
,struct adios_var_struct * v \
- ,void * data \
+ ,const void * data \
,struct adios_method_struct * method \
) {} \
void adios_##a##_get_write_buffer (struct adios_file_struct * fd \
@@ -61,7 +61,7 @@ enum ADIOS_FLAG adios_##a##_should_buffer (struct adios_file_struct * fd \
); \
void adios_##a##_write (struct adios_file_struct * fd \
,struct adios_var_struct * v \
- ,void * data \
+ ,const void * data \
,struct adios_method_struct * method \
); \
void adios_##a##_get_write_buffer (struct adios_file_struct * fd \
diff --git a/src/core/adiosf.c b/src/core/adiosf.c
index b73a66b..d062186 100644
--- a/src/core/adiosf.c
+++ b/src/core/adiosf.c
@@ -238,10 +238,10 @@ void FC_FUNC_(adios_write, ADIOS_WRITE)
}
*/
- if (v->data)
+ if (v->adata)
{
- free (v->data);
- v->data = 0;
+ free (v->adata);
+ v->adata = 0;
}
// Q.L. 10-2010. To fix a memory leak problem.
@@ -305,8 +305,8 @@ void FC_FUNC_(adios_write, ADIOS_WRITE)
case adios_long_double:
case adios_complex:
case adios_double_complex:
- v->data = malloc (element_size);
- if (!v->data)
+ v->adata = malloc (element_size);
+ if (!v->adata)
{
adios_error (err_no_memory,
"In adios_write, cannot allocate %lld bytes to copy scalar %s\n",
@@ -316,11 +316,12 @@ void FC_FUNC_(adios_write, ADIOS_WRITE)
return;
}
- memcpy ((char *) v->data, var, element_size);
+ memcpy ((char *) v->adata, var, element_size);
+ v->data = v->adata;
break;
case adios_string:
- v->data = futils_fstr_to_cstr (var, var_size);
- if (!v->data)
+ v->adata = futils_fstr_to_cstr (var, var_size);
+ if (!v->adata)
{
adios_error (err_no_memory,
"In adios_write, cannot allocate %lld bytes to copy string %s\n",
@@ -329,6 +330,7 @@ void FC_FUNC_(adios_write, ADIOS_WRITE)
free (buf1);
return;
}
+ v->data = v->adata;
break;
default:
@@ -338,7 +340,7 @@ void FC_FUNC_(adios_write, ADIOS_WRITE)
}
*err = common_adios_write (fd, v, var);
- if (fd->mode == adios_mode_write || fd->mode == adios_mode_append)
+ if (fd->mode != adios_mode_read)
{
adios_copy_var_written (fd->group, v);
}
@@ -614,6 +616,96 @@ void FC_FUNC_(adios_define_attribute, ADIOS_DEFINE_ATTRIBUTE)
*err = adios_errno;
}
+void FC_FUNC_(adios_define_attribute_byvalue, ADIOS_DEFINE_ATTRIBUTE_BYVALUE)
+ (int64_t * group, const char * name, const char * path, int * type, int * nelems,
+ void * values, int * err, int name_size, int path_size)
+{
+ char * buf1 = 0;
+ char * buf2 = 0;
+
+ adios_errno = err_no_error;
+ buf1 = futils_fstr_to_cstr (name, name_size);
+ buf2 = futils_fstr_to_cstr (path, path_size);
+
+ if (buf1 != 0 && buf2 != 0) {
+ adios_common_define_attribute_byvalue (*group, buf1, buf2
+ ,(enum ADIOS_DATATYPES) *type, *nelems, values);
+ free (buf1);
+ free (buf2);
+ }
+ *err = adios_errno;
+}
+
+/* Name clash resolution: Fortran adios_define_attribute_byvalue is an interface, and its
+ subroutines cannot call adios_define_attribute_byvalue() in this file directly because
+ the Fortran compiler interprets it as the call to the interface name.
+ adios_define_attribute_byvalue_f2c provides the bridge to link the C function with
+ the subroutines.
+*/
+void FC_FUNC_(adios_define_attribute_byvalue_f2c, ADIOS_DEFINE_ATTRIBUTE_BYVALUE_F2C)
+ (int64_t * group, const char * name, const char * path, int * type, int * nelems,
+ void * values, int * err, int name_size, int path_size)
+{
+ FC_FUNC_(adios_define_attribute_byvalue, ADIOS_DEFINE_ATTRIBUTE_BYVALUE)
+ (group, name, path, type, nelems, values, err, name_size, path_size);
+}
+
+void FC_FUNC_(adios_define_attribute_byvalue_string, ADIOS_DEFINE_ATTRIBUTE_BYVALUE_STRING)
+ (int64_t * group, const char * name, const char * path, int * nelems,
+ char * values, int * err, int name_size, int path_size, int values_size)
+{
+ char * valuestr = futils_fstr_to_cstr (values, values_size);
+ int type = adios_string;
+
+ if (valuestr != 0 && *nelems == 1) {
+ FC_FUNC_(adios_define_attribute_byvalue, ADIOS_DEFINE_ATTRIBUTE_BYVALUE)
+ (group, name, path, &type, nelems, valuestr, err, name_size, path_size);
+ free (valuestr);
+ } else {
+ if (*nelems != 1) {
+ adios_error (err_corrupted_attribute,
+ "String attributes can only store a single string. "
+ "For multiple strings (nelems>1), use adios_string_array type\n");
+ } else {
+ adios_error (err_corrupted_attribute,
+ "adios_define_attribute_byvalue(string) called with a string "
+ "that could not be processed in the C library\n");
+ }
+ *err = adios_errno;
+ }
+}
+
+void FC_FUNC_(adios_define_attribute_byvalue_string_array, ADIOS_DEFINE_ATTRIBUTE_BYVALUE_STRING_ARRAY)
+ (int64_t * group, const char * name, const char * path, int * nelems,
+ char * values, int * string_size, int * err, int name_size, int path_size, int values_size)
+{
+ /* *string_size = the size of each string in the string array,
+ = i.e. XXX in "character(len=XXX), dimension (YYY) :: values"
+ Probably with all compilers, or most, it is also true that values_size = *string_size.
+ 'values' here in the C code is a single byte array storing the strings contiguously
+ */
+ int k;
+ int type = adios_string_array;
+
+ //printf ("C String Array: nelems=%d, size=%d\n", *nelems, *string_size);
+ char ** strings = (char**) malloc (*nelems * sizeof (char*));
+ char *p = values;
+ if (strings != 0) {
+ for (k=0; k < *nelems; k++) {
+ //printf (" k=%d, ptr=%p size=%d\n", k, p, *string_size);
+ strings[k] = futils_fstr_to_cstr (p, *string_size);
+ p += *string_size;
+ }
+
+ FC_FUNC_(adios_define_attribute_byvalue, ADIOS_DEFINE_ATTRIBUTE_BYVALUE)
+ (group, name, path, &type, nelems, strings, err, name_size, path_size);
+ free (strings);
+ } else {
+ adios_error (err_corrupted_attribute, "adios_define_attribute_byvalue(string) called with a string that could not be processed in the C library\n");
+ *err = adios_errno;
+ }
+}
+
// delete all attribute definitions from a group
// Use if you want to define a new set of attribute for the next output step.
void FC_FUNC_(adios_delete_attrdefs, ADIOS_DELETE_VARDEFS) (int64_t *id, int *err)
diff --git a/src/core/adiosf_defs_mod.f90 b/src/core/adiosf_defs_mod.f90
index 67cd40e..39d8461 100644
--- a/src/core/adiosf_defs_mod.f90
+++ b/src/core/adiosf_defs_mod.f90
@@ -31,6 +31,8 @@ module adios_defs_mod
integer, parameter :: adios_long_double = 7 ! (16)
integer, parameter :: adios_string = 9 ! C strings
integer, parameter :: adios_complex = 10 ! (8)
+ integer, parameter :: adios_double_complex = 11 ! (16)
+ integer, parameter :: adios_string_array = 9 ! array of C strings
!
diff --git a/src/core/adiosf_write_mod.f90 b/src/core/adiosf_write_mod.f90
index 47d3aae..ec979ef 100644
--- a/src/core/adiosf_write_mod.f90
+++ b/src/core/adiosf_write_mod.f90
@@ -605,16 +605,40 @@ module adios_write_mod
module procedure adios_read_logical4_d6
module procedure adios_read_logical8_d6
end interface
- contains
+
!
!
- ! ADIOS_WRITE generic interface
+ ! ADIOS_DEFINE_ATTRIBUTE_BYVALUE generic interface
!
- ! Usage: call adios_write (fd, varname, data, err)
+ ! Usage: call adios_define_attrribute_byvalue (group_id, attrname, path, nelems, values, err)
!
!
- !
+ interface adios_define_attribute_byvalue
+ module procedure adios_define_attribute_byvalue_int1_d0
+ module procedure adios_define_attribute_byvalue_int2_d0
+ module procedure adios_define_attribute_byvalue_int4_d0
+ module procedure adios_define_attribute_byvalue_int8_d0
+ module procedure adios_define_attribute_byvalue_real4_d0
+ module procedure adios_define_attribute_byvalue_real8_d0
+ module procedure adios_define_attribute_byvalue_complex8_d0
+ module procedure adios_define_attribute_byvalue_complex16_d0
+
+ module procedure adios_define_attribute_byvalue_char_d1
+ module procedure adios_define_attribute_byvalue_int1_d1
+ module procedure adios_define_attribute_byvalue_int2_d1
+ module procedure adios_define_attribute_byvalue_int4_d1
+ module procedure adios_define_attribute_byvalue_int8_d1
+ module procedure adios_define_attribute_byvalue_real4_d1
+ module procedure adios_define_attribute_byvalue_real8_d1
+ module procedure adios_define_attribute_byvalue_complex8_d1
+ module procedure adios_define_attribute_byvalue_complex16_d1
+ module procedure adios_define_attribute_byvalue_char_d2
+ end interface
+
+
+ contains
+
!
! ADIOS_WRITE generic interface
!
@@ -3826,5 +3850,263 @@ module adios_write_mod
! end of ADIOS_READ functions
+ !
+ !
+ ! ADIOS_DEFINE_ATTRIBUTE_BYVALUE generic interface
+ !
+ ! Usage: call adios_define_attrribute_byvalue (group_id, attrname, path, nelems, values, err)
+ !
+ !
+ ! Special case: CHARACTER*1 array
+ ! This calls a different function to keep the string length information within
+ subroutine adios_define_attribute_byvalue_char_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ character(*), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_string (group_id, attrname, path, nelems, values, err)
+ end subroutine
+
+ ! Special case: CHARACTER*2 array
+ ! This calls a different function to keep the string length information within
+ subroutine adios_define_attribute_byvalue_char_d2 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ character(*), dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ !character(*) :: v1
+ !v1 = values(1)
+
+ if (nelems <= size(values)) then
+ !write (*,'("String Array: dims = ",i4, "string size=",i4)') size(values,1), len(values)
+ !write (*,*) shape(values)
+ call adios_define_attribute_byvalue_string_array (group_id, attrname, path, nelems, &
+ values, len(values), err)
+ else
+ write (*,'("ADIOS Attribute definition error: ",a,"/",a," string array size =",i4," nelems = ",i4)') &
+ path, attrname, size(values), nelems
+ endif
+ end subroutine
+
+ ! INTEGER*1 scalar
+ subroutine adios_define_attribute_byvalue_int1_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*1, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_double_complex, adios_byte, values, err)
+ end subroutine
+
+ ! INTEGER*2 scalar
+ subroutine adios_define_attribute_byvalue_int2_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*2, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_short, nelems, values, err)
+ end subroutine
+
+
+ ! INTEGER*4 scalar
+ subroutine adios_define_attribute_byvalue_int4_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*4, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_integer, nelems, values, err)
+ end subroutine
+
+ ! INTEGER*8 scalar
+ subroutine adios_define_attribute_byvalue_int8_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*8, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_long, nelems, values, err)
+ end subroutine
+
+ ! REAL*4 scalar
+ subroutine adios_define_attribute_byvalue_real4_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ real*4, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_real, nelems, values, err)
+ end subroutine
+
+ ! REAL*8 scalar
+ subroutine adios_define_attribute_byvalue_real8_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ real*8, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_double, nelems, values, err)
+ end subroutine
+
+ ! COMPLEX*8 scalar
+ subroutine adios_define_attribute_byvalue_complex8_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ complex*8, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_complex, nelems, values, err)
+ end subroutine
+
+ ! COMPLEX*16 scalar
+ subroutine adios_define_attribute_byvalue_complex16_d0 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ complex*16, intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_double_complex, nelems, values, err)
+ end subroutine
+
+
+ ! INTEGER*1 array
+ subroutine adios_define_attribute_byvalue_int1_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*1, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_byte, nelems, values, err)
+ end subroutine
+
+ ! INTEGER*2 array
+ subroutine adios_define_attribute_byvalue_int2_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*2, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_short, nelems, values, err)
+ end subroutine
+
+ ! INTEGER*4 array
+ subroutine adios_define_attribute_byvalue_int4_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*4, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_integer, nelems, values, err)
+ end subroutine
+
+ ! INTEGER*8 array
+ subroutine adios_define_attribute_byvalue_int8_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ integer*8, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_long, nelems, values, err)
+ end subroutine
+
+ ! REAL*4 array
+ subroutine adios_define_attribute_byvalue_real4_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ real*4, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_real, nelems, values, err)
+ end subroutine
+
+ ! REAL*8 array
+ subroutine adios_define_attribute_byvalue_real8_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ real*8, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_double, nelems, values, err)
+ end subroutine
+
+ ! COMPLEX*8 array
+ subroutine adios_define_attribute_byvalue_complex8_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ complex*8, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_complex, nelems, values, err)
+ end subroutine
+
+ ! COMPLEX*16 array
+ subroutine adios_define_attribute_byvalue_complex16_d1 (group_id, attrname, path, nelems, values, err)
+ implicit none
+ integer*8, intent(in) :: group_id
+ character(*), intent(in) :: attrname
+ character(*), intent(in) :: path
+ integer, intent(in) :: nelems
+ complex*16, dimension(:), intent(in) :: values
+ integer, intent(out) :: err
+
+ call adios_define_attribute_byvalue_f2c (group_id, attrname, path, adios_double_complex, nelems, values, err)
+ end subroutine
+
+ ! end of ADIOS_DEFINE_ATTRIBUTE_BYVALUE functions
+
end module
diff --git a/src/core/bp_types.h b/src/core/bp_types.h
index b9d3b83..095e64d 100644
--- a/src/core/bp_types.h
+++ b/src/core/bp_types.h
@@ -48,14 +48,23 @@ struct BP_file_handle
uint32_t file_index;
MPI_File fh;
struct BP_file_handle * next;
+ struct BP_file_handle * prev;
};
-typedef struct BP_file_handle BP_file_handle_list;
+struct BP_file_handle_header
+{
+ uint32_t n_handles; // number of handles open
+ struct BP_file_handle * head;
+ struct BP_file_handle * tail;
+ int warning_printed; // 1 if already printed the warning
+};
+
+typedef struct BP_file_handle_header BP_file_handle_list;
typedef struct BP_FILE {
MPI_File mpi_fh;
char * fname; // Main file name is needed to calculate subfile names
- BP_file_handle_list * sfh; // This list links all the subfiles handle together
+ BP_file_handle_list subfile_handles; // This list links all the subfiles handle together
MPI_Comm comm;
struct adios_bp_buffer_struct_v1 * b;
struct bp_index_pg_struct_v1 * pgs_root;
diff --git a/src/core/bp_utils.c b/src/core/bp_utils.c
index 529869f..6aaa173 100644
--- a/src/core/bp_utils.c
+++ b/src/core/bp_utils.c
@@ -59,7 +59,7 @@ inline BP_FILE * GET_BP_FILE (const ADIOS_FILE * fp)
}
/* prototypes */
-void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_DATATYPES type);
+void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_DATATYPES type, int nelems);
int bp_parse_characteristics (struct adios_bp_buffer_struct_v1 * b, struct adios_index_var_struct_v1 ** root, uint64_t j);
@@ -372,11 +372,15 @@ thod returns.
return varinfo;
}
-MPI_File * get_BP_file_handle(struct BP_file_handle * l, uint32_t file_index)
+MPI_File * get_BP_subfile_handle(BP_FILE *fh, uint32_t file_index)
{
- if (!l)
+ BP_file_handle_list *lst = &fh->subfile_handles; //just for simplifying typing
+ //printf ("%s # of handles=%d, search for file_index=%d, fh=%p\n", __func__, lst->n_handles, file_index, fh);
+ if (!lst->head)
return 0;
+ struct BP_file_handle *l = lst->head;
+
while (l)
{
if (l->file_index == file_index)
@@ -388,17 +392,87 @@ MPI_File * get_BP_file_handle(struct BP_file_handle * l, uint32_t file_index)
return 0;
}
-void add_BP_file_handle (struct BP_file_handle ** l, struct BP_file_handle * n)
+void init_subfile_handle (BP_FILE *fh)
+{
+ BP_file_handle_list *lst = &fh->subfile_handles; //just for simplifying typing
+ lst->n_handles = 0;
+ lst->warning_printed = 0;
+}
+
+BP_FILE * BP_FILE_alloc (const char * fname, MPI_Comm comm)
+{
+ BP_FILE *fh = (BP_FILE *) malloc (sizeof (BP_FILE));
+ assert (fh);
+
+ fh->fname = (fname ? strdup (fname) : 0L);
+ fh->comm = comm;
+ fh->gvar_h = 0;
+ fh->pgs_root = 0;
+ fh->vars_root = 0;
+ fh->attrs_root = 0;
+ fh->vars_table = 0;
+ fh->b = malloc (sizeof (struct adios_bp_buffer_struct_v1));
+ assert (fh->b);
+ BP_file_handle_list *lst = &fh->subfile_handles; //just for simplifying typing
+ fh->subfile_handles.n_handles = 0;
+ fh->subfile_handles.warning_printed = 0;
+ fh->subfile_handles.head = NULL;
+ fh->subfile_handles.tail = NULL;
+ return fh;
+}
+
+static const int MAX_HANDLES = 512;
+static void close_BP_subfile (struct BP_file_handle * sfh)
+{
+ if (sfh)
+ MPI_File_close (&sfh->fh);
+}
+
+void add_BP_subfile_handle (BP_FILE * fh, struct BP_file_handle * n)
{
if (!n)
return;
- n->next = *l;
- *l = n;
+ BP_file_handle_list *lst = &fh->subfile_handles; //just for simplifying typing
+
+ // link the newcomer as first (head)
+ n->next = lst->head;
+ if (lst->head) {
+ lst->head->prev = n;
+ }
+ lst->head = n;
+
+ // set tail if this is first element
+ if (!lst->tail) {
+ lst->tail = n;
+ }
+ lst->n_handles++;
+
+ //printf ("%s # of handles=%d, now added file_index=%d, fh=%p\n", __func__, lst->n_handles, n->file_index, fh);
+
+ // Don't run out of file descriptiors by keeping the number in check
+ if (lst->n_handles > MAX_HANDLES)
+ {
+ if (!lst->warning_printed) {
+ log_warn ("Number of subfiles of file %s opened in a single process reached %d "
+ "which indicates an inefficient reading pattern.\n", fh->fname, lst->n_handles);
+ lst->warning_printed = 1;
+ }
+ // remove the tail
+ lst->tail->prev->next = NULL;
+ struct BP_file_handle * oldest = lst->tail;
+ lst->tail = lst->tail->prev;
+ close_BP_subfile (oldest);
+ free (oldest);
+ lst->n_handles--;
+ }
}
-void close_all_BP_files (struct BP_file_handle * l)
+void close_all_BP_subfiles (BP_FILE * fh)
{
+ BP_file_handle_list * lst = &fh->subfile_handles;
+
+ struct BP_file_handle *l = lst->head;
struct BP_file_handle * n;
while (l)
@@ -410,6 +484,10 @@ void close_all_BP_files (struct BP_file_handle * l)
l = n;
}
+
+ lst->n_handles = 0;
+ lst->head = NULL;
+ lst->tail = NULL;
}
int bp_close (BP_FILE * fh)
@@ -426,8 +504,7 @@ int bp_close (BP_FILE * fh)
if (fh->mpi_fh)
MPI_File_close (&mpi_fh);
- if (fh->sfh)
- close_all_BP_files (fh->sfh);
+ close_all_BP_subfiles (fh);
if (fh->b) {
adios_posix_close_internal (fh->b);
@@ -645,7 +722,8 @@ int bp_read_minifooter (BP_FILE * bp_struct)
if ((mh->version & ADIOS_VERSION_NUM_MASK) > ADIOS_VERSION_BP_FORMAT) {
adios_error (err_file_open_error,
"Invalid BP file detected. Format version of file seems to be %d, "
- "which is greater than the highest supported version %d.\n",
+ "which is greater than the highest supported version %d. "
+ "Maybe try a newer version of ADIOS?\n",
(mh->version & ADIOS_VERSION_NUM_MASK), ADIOS_VERSION_BP_FORMAT);
return 1;
}
@@ -998,6 +1076,7 @@ int bp_parse_attrs (BP_FILE * fh)
malloc (sizeof (struct adios_index_attribute_struct_v1));
(*root)->next = 0;
}
+ (*root)->nelems = 1; // initialize to 1 in case there will be no dimension characteristic
uint8_t flag;
uint32_t attr_entry_length;
uint16_t len;
@@ -1040,7 +1119,6 @@ int bp_parse_attrs (BP_FILE * fh)
(*root)->type = adios_unknown;
}
-
BUFREAD64(b, characteristics_sets_count)
(*root)->characteristics_count = characteristics_sets_count;
(*root)->characteristics_allocated = characteristics_sets_count;
@@ -1075,7 +1153,8 @@ int bp_parse_attrs (BP_FILE * fh)
switch (c)
{
case adios_characteristic_value:
- (*root)->characteristics [j].value = bp_read_data_from_buffer(b, (*root)->type);
+ (*root)->characteristics [j].value =
+ bp_read_data_from_buffer(b, (*root)->type, (*root)->nelems);
break;
case adios_characteristic_offset:
@@ -1100,6 +1179,23 @@ int bp_parse_attrs (BP_FILE * fh)
BUFREAD16(b, (*root)->characteristics [j].var_id)
}
break;
+
+ case adios_characteristic_dimensions:
+ {
+ uint16_t dims_length;
+ BUFREAD8(b, (*root)->characteristics [j].dims.count);
+ BUFREAD16(b, dims_length);
+ (*root)->characteristics [j].dims.dims = (uint64_t *) malloc (dims_length);
+ int di = 0;
+ int dims_num = dims_length / sizeof(uint64_t);
+ for (di = 0; di < dims_num; di ++) {
+ BUFREAD64(b, ((*root)->characteristics [j].dims.dims)[di]);
+ }
+ (*root)->nelems = (*root)->characteristics [j].dims.dims[0];
+
+ break;
+ }
+
default:
break;
}
@@ -1429,7 +1525,7 @@ int bp_parse_characteristics (struct adios_bp_buffer_struct_v1 * b,
uint8_t count = adios_get_stat_set_count (original_var_type);
uint16_t characteristic_size;
- (*root)->characteristics [j].value = bp_read_data_from_buffer(b, original_var_type);
+ (*root)->characteristics [j].value = bp_read_data_from_buffer(b, original_var_type, 1);
if (!((*root)->characteristics [j].stats))
{
(*root)->characteristics [j].stats = malloc (count*sizeof(struct adios_index_characteristics_stat_struct *));
@@ -1647,8 +1743,8 @@ SET_DATA_3(t) \
}
(*root)->characteristics [j].bitmap |= (1 << adios_statistic_max);
- // (*root)->characteristics [j].stats[0][adios_statistic_max].data = bp_read_data_from_buffer(b, (*root)->type);
- (*root)->characteristics [j].stats[0][adios_statistic_max].data = bp_read_data_from_buffer(b, original_var_type);
+ // (*root)->characteristics [j].stats[0][adios_statistic_max].data = bp_read_data_from_buffer(b, (*root)->type, 1);
+ (*root)->characteristics [j].stats[0][adios_statistic_max].data = bp_read_data_from_buffer(b, original_var_type, 1);
break;
}
@@ -1662,8 +1758,8 @@ SET_DATA_3(t) \
(*root)->characteristics [j].bitmap = 0;
}
(*root)->characteristics [j].bitmap |= (1 << adios_statistic_min);
- // (*root)->characteristics [j].stats[0][adios_statistic_min].data = bp_read_data_from_buffer(b, (*root)->type);
- (*root)->characteristics [j].stats[0][adios_statistic_min].data = bp_read_data_from_buffer(b, original_var_type);
+ // (*root)->characteristics [j].stats[0][adios_statistic_min].data = bp_read_data_from_buffer(b, (*root)->type, 1);
+ (*root)->characteristics [j].stats[0][adios_statistic_min].data = bp_read_data_from_buffer(b, original_var_type, 1);
break;
}
@@ -1694,8 +1790,8 @@ SET_DATA_3(t) \
struct adios_index_characteristics_hist_struct * hist = (*root)->characteristics [j].stats[c][idx].data;
BUFREAD32(b, hist->num_breaks)
- hist->min = * (double *) bp_read_data_from_buffer(b, adios_double);
- hist->max = * (double *) bp_read_data_from_buffer(b, adios_double);
+ hist->min = * (double *) bp_read_data_from_buffer(b, adios_double, 1);
+ hist->max = * (double *) bp_read_data_from_buffer(b, adios_double, 1);
hist->frequencies = malloc((hist->num_breaks + 1) * adios_get_type_size(adios_unsigned_integer, ""));
for (bi = 0; bi <= hist->num_breaks; bi ++)
@@ -1706,7 +1802,7 @@ SET_DATA_3(t) \
hist->breaks = malloc(hist->num_breaks * adios_get_type_size(adios_double, ""));
for (bi = 0; bi < hist->num_breaks; bi ++)
{
- hist->breaks[bi] = * (double *) bp_read_data_from_buffer(b, adios_double);
+ hist->breaks[bi] = * (double *) bp_read_data_from_buffer(b, adios_double, 1);
}
}
else
@@ -2428,22 +2524,27 @@ int * get_var_nblocks (struct adios_index_var_struct_v1 * var_root, int nsteps)
return nblocks;
}
-void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_DATATYPES type)
+void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_DATATYPES type, int nelems)
{
int16_t data_size;
void * data = 0;
+ int k;
+ char *p;
- if (type == adios_string) {
+ if (type == adios_string_array) {
+ data_size = 0;
+ data = malloc (nelems * sizeof(char*));
+ } else if (type == adios_string) {
BUFREAD16(b, data_size)
data = malloc (data_size + 1);
} else {
data_size = bp_get_type_size (type, "");
- data = malloc (data_size);
+ data = malloc (nelems * data_size);
}
if (!data) {
adios_error (err_no_memory,
- "bp_read_data_from_buffer: cannot allocate %d bytes\n",data_size);
+ "bp_read_data_from_buffer: cannot allocate %d bytes\n",nelems*data_size);
return 0;
}
@@ -2460,42 +2561,57 @@ void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_
case adios_real:
case adios_double:
case adios_long_double:
- memcpy (data, (b->buff + b->offset), data_size);
- b->offset += data_size;
- if(b->change_endianness == adios_flag_yes) {
- switch (data_size) {
- case 2:
- swap_16_ptr(data);
- break;
- case 4:
- swap_32_ptr(data);
- break;
- case 8:
- swap_64_ptr(data);
- break;
- case 16:
- swap_128_ptr(data);
- break;
+ memcpy (data, (b->buff + b->offset), nelems*data_size);
+ if(b->change_endianness == adios_flag_yes && data_size>1) {
+ p = (char *)data;
+ for (k=0; k<nelems; k++)
+ {
+ switch (data_size) {
+ case 2:
+ swap_16_ptr(p);
+ break;
+ case 4:
+ swap_32_ptr(p);
+ break;
+ case 8:
+ swap_64_ptr(p);
+ break;
+ case 16:
+ swap_128_ptr(p);
+ break;
+ }
+ p += data_size;
}
}
+ b->offset += nelems*data_size;
break;
case adios_complex:
- memcpy (data, (b->buff + b->offset), data_size);
+ memcpy (data, (b->buff + b->offset), nelems*data_size);
if(b->change_endianness == adios_flag_yes) {
- swap_32_ptr(data); // swap REAL part 4 bytes
- swap_32_ptr( ((char *)data) + 4); // swap IMG part 4 bytes
+ p = (char *)data;
+ for (k=0; k<nelems; k++)
+ {
+ swap_32_ptr(p); // swap REAL part 4 bytes
+ swap_32_ptr(p+4); // swap IMG part 4 bytes
+ p += data_size;
+ }
}
- b->offset += data_size;
+ b->offset += nelems*data_size;
break;
case adios_double_complex:
- memcpy (data, (b->buff + b->offset), data_size);
+ memcpy (data, (b->buff + b->offset), nelems*data_size);
if(b->change_endianness == adios_flag_yes) {
- swap_64_ptr(data); // swap REAL part 8 bytes
- swap_64_ptr( ((char *)data) + 8); // swap IMG part 8 bytes
+ p = (char *)data;
+ for (k=0; k<nelems; k++)
+ {
+ swap_64_ptr(p); // swap REAL part 8 bytes
+ swap_64_ptr(p+8); // swap IMG part 8 bytes
+ p += data_size;
+ }
}
- b->offset += data_size;
+ b->offset += nelems*data_size;
break;
case adios_string:
@@ -2504,6 +2620,20 @@ void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_
((char *) data) [data_size] = '\0';
break;
+ case adios_string_array:
+ {
+ char ** p = (char**)data;
+ for (k=0; k < nelems; k++) {
+ BUFREAD16(b, data_size)
+ p[k] = malloc (data_size + 1);
+ p[k] [data_size] = '\0';
+ memcpy (p[k], (b->buff + b->offset), data_size);
+ b->offset += data_size;
+ }
+ }
+ break;
+
+
default:
free (data);
data = 0;
@@ -2513,7 +2643,7 @@ void * bp_read_data_from_buffer(struct adios_bp_buffer_struct_v1 *b, enum ADIOS_
}
/*
-void bp_grouping ( BP_FILE * fh_p,
+ void bp_grouping ( BP_FILE * fh_p,
uint64_t * gh_p)
{
BP_FILE * fh = (BP_FILE *) fh_p;
@@ -2902,7 +3032,12 @@ const char * bp_value_to_string (enum ADIOS_DATATYPES type, void * data)
break;
case adios_string:
- sprintf (s, "%s", ((char *) data));
+ sprintf (s, "\"%s\"", ((char *) data));
+ break;
+
+ case adios_string_array:
+ // we expect here one of the array elements, which has char * type
+ sprintf (s, "\"%s\"", ( *(char **)data) );
break;
case adios_complex:
@@ -3014,6 +3149,9 @@ int bp_get_type_size (enum ADIOS_DATATYPES type, void * var)
else
return strlen ((char *) var) + 1;
+ case adios_string_array:
+ return sizeof(char*);
+
case adios_short:
case adios_unsigned_short:
return 2;
diff --git a/src/core/bp_utils.h b/src/core/bp_utils.h
index c7261e1..8df8ba2 100644
--- a/src/core/bp_utils.h
+++ b/src/core/bp_utils.h
@@ -14,6 +14,7 @@
#include "core/bp_types.h"
#define VARS_MINIHEADER_SIZE 10
+BP_FILE * BP_FILE_alloc (const char * fname, MPI_Comm comm);
BP_PROC * GET_BP_PROC (const ADIOS_FILE * fp);
BP_FILE * GET_BP_FILE (const ADIOS_FILE * fp);
void bp_alloc_aligned (struct adios_bp_buffer_struct_v1 * b, uint64_t size);
@@ -30,9 +31,9 @@ int bp_read_close (struct adios_bp_buffer_struct_v1 * b);
int bp_read_open (const char * filename,
MPI_Comm comm,
BP_FILE * fh);
-MPI_File * get_BP_file_handle(struct BP_file_handle * l, uint32_t file_index);
-void add_BP_file_handle (struct BP_file_handle ** l, struct BP_file_handle * n);
-void close_all_BP_files (struct BP_file_handle * l);
+MPI_File * get_BP_subfile_handle(BP_FILE *fh, uint32_t file_index);
+void add_BP_subfile_handle (struct BP_FILE *fh, struct BP_file_handle * n);
+void close_all_BP_subfiles (BP_FILE * fh);
int get_time (struct adios_index_var_struct_v1 * v, int step);
int bp_open (const char * fname,
MPI_Comm comm,
diff --git a/src/core/common_adios.c b/src/core/common_adios.c
index 3d622c1..0f11d4f 100644
--- a/src/core/common_adios.c
+++ b/src/core/common_adios.c
@@ -127,6 +127,13 @@ int common_adios_open (int64_t * fd, const char * group_name
adios_errno = err_no_error;
adios_common_get_group (&group_id, group_name);
g = (struct adios_group_struct *) group_id;
+ if (!g) {
+ adios_error(err_invalid_group,
+ "adios_open: try to open file %s with undefined group: %s\n",
+ name, group_name);
+ *fd = 0;
+ return adios_errno;
+ }
methods = g->methods;
if (!strcasecmp (file_mode, "r"))
@@ -181,11 +188,14 @@ int common_adios_open (int64_t * fd, const char * group_name
*/
g->time_index++;
}
+ /* FIXME: the time_index is updated in the actual method in case of append/update
+ so this code below is useless */
+# if 0
else if (mode == adios_mode_append)
{
g->time_index++;
}
- else if (mode == adios_mode_update && g->time_index > 1)
+ else if (mode == adios_mode_update && g->time_index > 0)
{
/* Update from Append differs only in the time index. All methods had
code for Append, now for Update we decrease the counter by one,
@@ -193,6 +203,7 @@ int common_adios_open (int64_t * fd, const char * group_name
*/
g->time_index--;
}
+# endif
/* time starts from 1 not from 0 (traditionally; now no one cares */
if (g->time_index == 0)
g->time_index = 1;
@@ -434,89 +445,6 @@ int common_adios_group_size (int64_t fd_p
return adios_errno;
}
-int common_adios_write_byid (struct adios_file_struct * fd, struct adios_var_struct * v, void * var)
-{
- struct adios_method_list_struct * m = fd->group->methods;
-
- adios_errno = err_no_error;
- if (m && m->next == NULL && m->method->m == ADIOS_METHOD_NULL)
- {
- return adios_errno;
- }
-
- if (v->data)
- {
- free (v->data);
- v->data = 0;
- }
-
- if (v->dimensions)
- {
- v->data = var;
- }
- else
- {
- uint64_t element_size = adios_get_type_size (v->type, var);
-
- switch (v->type)
- {
- case adios_byte:
- case adios_short:
- case adios_integer:
- case adios_long:
- case adios_unsigned_byte:
- case adios_unsigned_short:
- case adios_unsigned_integer:
- case adios_unsigned_long:
- case adios_real:
- case adios_double:
- case adios_long_double:
- case adios_complex:
- case adios_double_complex:
- v->data = malloc (element_size);
- if (!v->data)
- {
- adios_error (err_no_memory,
- "In adios_write, cannot allocate %lld bytes to copy scalar %s\n",
- element_size, v->name);
- return adios_errno;
- }
-
- memcpy ((char *) v->data, var, element_size);
- break;
-
- case adios_string:
- v->data = malloc (element_size + 1);
- if (!v->data)
- {
- adios_error (err_no_memory,
- "In adios_write, cannot allocate %lld bytes to copy string %s\n",
- element_size, v->name);
- return adios_errno;
- }
- ((char *) v->data) [element_size] = 0;
- memcpy ((char *) v->data, var, element_size);
- break;
-
- default:
- v->data = 0;
- break;
- }
- }
-
- common_adios_write (fd, v, var);
- // v->data is set to NULL in the above call
-
- if (!adios_errno) {
- if (fd->mode == adios_mode_write || fd->mode == adios_mode_append)
- {
- adios_copy_var_written (fd->group, v);
- }
- }
-
- return adios_errno;
-}
-
static int common_adios_write_transform_helper(struct adios_file_struct * fd, struct adios_var_struct * v) {
int use_shared_buffer = (fd->shared_buffer == adios_flag_yes);
int wrote_to_shared_buffer = 0;
@@ -563,13 +491,19 @@ static int common_adios_write_transform_helper(struct adios_file_struct * fd, st
// v->data_size and v->free_data. Else, write the payload to the shared
// buffer (the other v->* fields have already been updated)
if (wrote_to_shared_buffer) {
- v->data = fd->buffer + payload_offset;
+ v->adata = fd->buffer + payload_offset;
v->data_size = end_offset - payload_offset;
v->free_data = adios_flag_no;
+ v->data = v->adata;
// Update the buffer back to the end of the header+payload
fd->offset = end_offset;
} else {
+ // either no transformation happened (original data is in v->data), or
+ // data was transformed into v->adata
+ if (v->adata) {
+ v->data = v->adata;
+ }
// write payload
adios_write_var_payload_v1 (fd, v);
@@ -593,7 +527,7 @@ static int common_adios_write_transform_helper(struct adios_file_struct * fd, st
* structures. This is because C and Fortran implementations of adios_write are
* different for some part and this is the common part.
*/
-int common_adios_write (struct adios_file_struct * fd, struct adios_var_struct * v, void * var)
+int common_adios_write (struct adios_file_struct * fd, struct adios_var_struct * v, const void * var)
{
#if defined(WITH_NCSU_TIMER) && defined(TIMER_LEVEL) && (TIMER_LEVEL <= 0)
timer_start ("adios_write");
@@ -664,9 +598,9 @@ int common_adios_write (struct adios_file_struct * fd, struct adios_var_struct *
// as this flag is hardly ever used, I don't know whether this is
// using the flag correctly or not. Need verification with
// Gary/Norbert/someone knowledgable about ADIOS internals.
- if (v->transform_type != adios_transform_none && v->free_data == adios_flag_yes && v->data)
- free(v->data);
- v->data = 0;
+ if (v->transform_type != adios_transform_none && v->free_data == adios_flag_yes && v->adata)
+ free(v->adata);
+ v->data = v->adata = 0;
}
v->write_count++;
@@ -677,6 +611,95 @@ int common_adios_write (struct adios_file_struct * fd, struct adios_var_struct *
return adios_errno;
}
+
+///////////////////////////////////////////////////////////////////////////////
+int common_adios_write_byid (struct adios_file_struct * fd, struct adios_var_struct * v, const void * var)
+{
+ struct adios_method_list_struct * m = fd->group->methods;
+
+ adios_errno = err_no_error;
+ if (m && m->next == NULL && m->method->m == ADIOS_METHOD_NULL)
+ {
+ return adios_errno;
+ }
+
+ if (v->adata)
+ {
+ free (v->adata);
+ v->adata = 0;
+ }
+
+ if (v->dimensions)
+ {
+ v->data = var;
+ }
+ else
+ {
+ uint64_t element_size = adios_get_type_size (v->type, var);
+
+ switch (v->type)
+ {
+ case adios_byte:
+ case adios_short:
+ case adios_integer:
+ case adios_long:
+ case adios_unsigned_byte:
+ case adios_unsigned_short:
+ case adios_unsigned_integer:
+ case adios_unsigned_long:
+ case adios_real:
+ case adios_double:
+ case adios_long_double:
+ case adios_complex:
+ case adios_double_complex:
+ v->adata = malloc (element_size);
+ if (!v->adata)
+ {
+ adios_error (err_no_memory,
+ "In adios_write, cannot allocate %lld bytes to copy scalar %s\n",
+ element_size, v->name);
+ return adios_errno;
+ }
+
+ memcpy ((char *) v->adata, var, element_size);
+ v->data = v->adata;
+ break;
+
+ case adios_string:
+ v->adata = malloc (element_size + 1);
+ if (!v->adata)
+ {
+ adios_error (err_no_memory,
+ "In adios_write, cannot allocate %lld bytes to copy string %s\n",
+ element_size, v->name);
+ return adios_errno;
+ }
+ ((char *) v->adata) [element_size] = 0;
+ memcpy ((char *) v->adata, var, element_size);
+ v->data = v->adata;
+ break;
+
+ default:
+ v->data = 0;
+ break;
+ }
+ }
+
+ common_adios_write (fd, v, var);
+ // v->data is set to NULL in the above call for arrays,
+ // but it's pointing to v->adata, which is allocated in ADIOS, for scalars
+ // to remember their value if used as dimension in forthcoming writes of arrays.
+
+ if (!adios_errno) {
+ if (fd->mode != adios_mode_read)
+ {
+ adios_copy_var_written (fd->group, v);
+ }
+ }
+
+ return adios_errno;
+}
+
///////////////////////////////////////////////////////////////////////////////
int common_adios_get_write_buffer (int64_t fd_p, const char * name
,uint64_t * size
@@ -1045,10 +1068,10 @@ int common_adios_close (int64_t fd_p)
while (v)
{
v->write_offset = 0;
- if (v->data)
+ if (v->adata)
{
- free (v->data);
- v->data = 0;
+ free (v->adata);
+ v->data = v->adata = 0;
}
v = v->next;
@@ -1104,8 +1127,10 @@ int common_adios_close (int64_t fd_p)
// NCSU ALACRITY-ADIOS - Clear transform metadata
adios_transform_clear_transform_var(fd->group->vars_written);
- if (fd->group->vars_written->data)
- free (fd->group->vars_written->data);
+ if (fd->group->vars_written->adata) {
+ free (fd->group->vars_written->adata);
+ fd->group->vars_written->data = fd->group->vars_written->adata = 0;
+ }
v = fd->group->vars_written->next;
free (fd->group->vars_written);
diff --git a/src/core/common_adios.h b/src/core/common_adios.h
index 32b63cf..0cb7f78 100644
--- a/src/core/common_adios.h
+++ b/src/core/common_adios.h
@@ -40,9 +40,8 @@ int common_adios_group_size (int64_t fd_p, uint64_t data_size
,uint64_t * total_size
);
-//int common_adios_write (int64_t fd_p, const char * name, void * var);
-int common_adios_write (struct adios_file_struct * fd, struct adios_var_struct * v, void * var);
-int common_adios_write_byid (struct adios_file_struct * fd, struct adios_var_struct * v, void * var);
+int common_adios_write (struct adios_file_struct * fd, struct adios_var_struct * v, const void * var);
+int common_adios_write_byid (struct adios_file_struct * fd, struct adios_var_struct * v, const void * var);
int common_adios_get_write_buffer (int64_t fd_p, const char * name
,uint64_t * size
diff --git a/src/core/common_read.c b/src/core/common_read.c
index 835812a..c064321 100644
--- a/src/core/common_read.c
+++ b/src/core/common_read.c
@@ -206,6 +206,61 @@ int common_read_finalize_method(enum ADIOS_READ_METHOD method)
return retval;
}
+static ADIOS_FILE * common_read_link (ADIOS_FILE * fp)
+{
+ int i;
+ fp->nlinks = 0;
+ fp->link_namelist = NULL;
+
+ if (fp->attr_namelist)
+ {
+ char ** tmp = (char **) malloc (sizeof(char*) * fp->nattrs);
+ for (i=0; i<fp->nattrs; i++)
+ {
+ // find "/adios_link/***/ref-num" attributes for getting the names of links
+ if (strstr (fp->attr_namelist[i], "/adios_link/") == fp->attr_namelist[i]) //// starts with /adios_link/
+ {
+ char *s = fp->attr_namelist[i]+strlen("/adios_link/");
+ char *p = strchr (s, '/');
+ if ( p &&
+ strstr (p, "/ref-num") == p)
+ {
+ // retrieve the name of the link
+ int samelink = 0;
+ int ilink;
+ if (fp->nlinks > 0)
+ {
+ char * linkname = NULL;
+ linkname = (char *) malloc (sizeof(char*) * (size_t)(p-s)+1);
+ memcpy ( linkname, s, (size_t)(p-s) );
+ for (ilink=0; ilink<fp->nlinks; ilink++)
+ {
+ if (!strcmp (linkname, tmp[ilink]))
+ samelink = 1;
+ }
+ free (linkname);
+ }
+ if (!fp->nlinks || !samelink)
+ {
+ tmp [ fp->nlinks ] = (char *) malloc (sizeof(char*) * (size_t)(p-s)+1);
+ memcpy ( tmp[ fp->nlinks ], s, (size_t)(p-s) );
+ tmp[ fp->nlinks ][(p-s)] = '\0';
+ fp->nlinks++;
+ }
+ }
+ }
+ }
+ if (fp->nlinks)
+ {
+ fp->link_namelist = (char **) realloc (tmp, sizeof (char *) * fp->nlinks);
+ assert (fp->link_namelist);
+ } else {
+ free (tmp);
+ }
+ }
+ return fp;
+}
+
static ADIOS_FILE * common_read_mesh (ADIOS_FILE * fp)
{
int i;
@@ -373,6 +428,8 @@ ADIOS_FILE * common_read_open (const char * fname,
common_read_mesh (fp);
+ common_read_link (fp);
+
return fp;
}
@@ -443,6 +500,8 @@ ADIOS_FILE * common_read_open_file (const char * fname,
common_read_mesh (fp);
+ common_read_link (fp);
+
return fp;
}
@@ -474,6 +533,11 @@ int common_read_close (ADIOS_FILE *fp)
free(fp->mesh_namelist[i]);
free(fp->mesh_namelist);
}
+ if (fp->nlinks) {
+ for (i=0; i<fp->nlinks; i++)
+ free(fp->link_namelist[i]);
+ free(fp->link_namelist);
+ }
retval = internals->read_hooks[internals->method].adios_read_close_fn (fp);
free_namelist (internals->group_namelist, internals->ngroups);
@@ -633,7 +697,7 @@ static int common_read_find_var (const ADIOS_FILE *fp, const char *name, int qui
// Double cast makes the compiler happy...
varid = (int)(int64_t)internals->hashtbl_vars->get (internals->hashtbl_vars, name);
// varid=0 is "not found", otherwise +1 bigger than actual varid
- varid--;
+ varid--; // we added varid+1 originally to avoid double meanings of 0 (value and not-found)
}
if (varid == -1) {
@@ -642,6 +706,9 @@ static int common_read_find_var (const ADIOS_FILE *fp, const char *name, int qui
else
adios_errno = err_invalid_varname;
}
+
+ // map the global varid back to the current group view's varid
+ varid -= internals->group_varid_offset;
return varid;
}
@@ -1301,6 +1368,116 @@ static int common_check_var_type_to_int (enum ADIOS_DATATYPES * type, void * val
}
return data;
}
+
+ADIOS_LINK * common_read_inq_link_byid (ADIOS_FILE *fp, int linkid)
+{
+ enum ADIOS_DATATYPES attr_type;
+ int attr_size;
+ void * data = NULL;
+ int read_fail = 0;
+ int i;
+
+ ADIOS_LINK * linkinfo = (ADIOS_LINK *) malloc (sizeof(ADIOS_LINK));
+ //link id
+ linkinfo->id = linkid;
+ //link name
+ linkinfo->name = strdup(fp->link_namelist[linkinfo->id]);
+
+ //check /adios_link/linkinfo->name/ref-num
+ char * attribute = malloc (strlen("/adios_link/")+strlen(linkinfo->name)+strlen("/ref-num")+1 );
+ strcpy (attribute, "/adios_link/");
+ strcat (attribute, linkinfo->name);
+ strcat (attribute, "/ref-num");
+ read_fail = common_read_get_attr_mesh (fp, attribute, &attr_type, &attr_size, &data);
+ free (attribute);
+ if (!read_fail)
+ linkinfo->nrefs = *(int *)data;
+ else
+ {
+ linkinfo->nrefs = 1;
+ log_warn ("Cannot find /adios_link/%s/ref-num. "
+ "We assume the ref-num is 1.", linkinfo->name);
+ }
+
+ int i_digits;
+ char i_buffer[5]; // support no more than 5 digits
+ linkinfo->type = (enum ADIOS_LINK_TYPE *) malloc (linkinfo->nrefs*sizeof(enum ADIOS_LINK_TYPE));
+ linkinfo->ref_names = (char **)malloc(linkinfo->nrefs*sizeof(char *));
+ linkinfo->ref_files = (char **)malloc(linkinfo->nrefs*sizeof(char *));
+ for (i=0; i<linkinfo->nrefs; i++)
+ {
+ i_digits = sprintf (i_buffer, "%d", i);
+ // start looking for /adios_link/linkinfo->name/objref* according to linkinfo->nrefs
+ attribute = malloc (strlen("/adios_link/")+strlen(linkinfo->name)+strlen("/objref")+i_digits+1 );
+ strcpy (attribute, "/adios_link/");
+ strcat (attribute, linkinfo->name);
+ strcat (attribute, "/objref");
+ strcat (attribute, i_buffer);
+ read_fail = common_read_get_attr_mesh (fp, attribute, &attr_type, &attr_size, &data);
+ if (!read_fail)
+ linkinfo->ref_names[i] = strdup((char *)data);
+ else
+ log_warn("Cannot find objref for %s. "
+ "It requreis /adios_link/%s/objref%d\n", linkinfo->name, linkinfo->name, i);
+ free (attribute);
+
+ // start looking for /adios_link/linkinfo->name/extref* according to linkinfo->nrefs
+ attribute = malloc (strlen("/adios_link/")+strlen(linkinfo->name)+strlen("/extref")+i_digits+1 );
+ strcpy (attribute, "/adios_link/");
+ strcat (attribute, linkinfo->name);
+ strcat (attribute, "/extref");
+ strcat (attribute, i_buffer);
+ read_fail = common_read_get_attr_mesh (fp, attribute, &attr_type, &attr_size, &data);
+ if (!read_fail)
+ {
+ if(*(char *)data == '\0')
+ {
+ // if the string has no information, we assue it is in the same file
+ log_warn ("attribute /adios_link/%s/extref%d is an empty string. "
+ "Assume extref%d file is the current file.\n", linkinfo->name, i, i);
+ BP_FILE * fh = GET_BP_FILE (fp);
+ linkinfo->ref_files[i] = strdup (fh->fname);
+ }
+ else
+ linkinfo->ref_files[i] = strdup((char *)data);
+ }
+ else
+ {
+ log_warn("Cannot find extref for %s. It requreis /adios_link/%s/extref%d.\n"
+ "Assume the extref file is the current file.\n", linkinfo->name, linkinfo->name, i);
+ BP_FILE * fh = GET_BP_FILE (fp);
+ linkinfo->ref_files[i] = strdup (fh->fname);
+ }
+ free (attribute);
+
+ //check /adios_link/linkinfo->name/type* according to linkinfo->nrefs
+ attribute = malloc (strlen("/adios_link/")+strlen(linkinfo->name)+strlen("/type")+i_digits+1 );
+ strcpy (attribute, "/adios_link/");
+ strcat (attribute, linkinfo->name);
+ strcat (attribute, "/type");
+ strcat (attribute, i_buffer);
+ read_fail = common_read_get_attr_mesh (fp, attribute, &attr_type, &attr_size, &data);
+ if (!read_fail)
+ {
+ if ( !strcmp((char *)data, "var") || !strcmp((char *)data, "variable") ||
+ !strcmp((char *)data, "VAR") || !strcmp((char *)data, "VARIABLE"))
+ linkinfo->type[i] = LINK_VAR;
+ else if ( !strcmp((char *)data, "image") || !strcmp((char *)data, "IMAGE"))
+ linkinfo->type[i] = LINK_IMAGE;
+ else
+ log_warn("The provided type %s is not supported. Please use var OR image.\n", (char *)data);
+ }
+ else
+ {
+ log_warn("Cannot find type for %s. It requreis /adios_link/%s/type%d.\n"
+ "Assume the type is var.\n", linkinfo->name, linkinfo->name, i);
+ linkinfo->type[i] = LINK_VAR;
+ }
+ free (attribute);
+ }
+ return linkinfo;
+}
+
int adios_get_uniform_mesh_attr (ADIOS_FILE * fp, ADIOS_MESH *meshinfo, char * attrs) //attr for origins-num(origins), spacings-num(spacings), maximums-num(maximums)
{
int i;
@@ -2708,7 +2885,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
if (!read_fail)
{
adios_errno = err_no_error;
- meshinfo->unstructured->npoints = common_check_var_type_to_uint64 (&attr_size, data);
+ meshinfo->unstructured->npoints = common_check_var_type_to_uint64 (&attr_type, data);
if (adios_errno < 0)
{
log_warn ("Unstructured mesh %s var type of npoints is not supported. "
@@ -2780,7 +2957,7 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
if (!read_fail)
{
adios_errno = err_no_error;
- meshinfo->unstructured->nspaces = common_check_var_type_to_int (&attr_size, data);
+ meshinfo->unstructured->nspaces = common_check_var_type_to_int (&attr_type, data);
if (adios_errno < 0)
log_warn ("Unstructured mesh %s var type of nspaces is not suported, "
"use points dim %d for nspaces\n",
@@ -3167,6 +3344,36 @@ int common_read_complete_meshinfo (ADIOS_FILE *fp, ADIOS_FILE *mp, ADIOS_MESH *
return err_no_error;
}
+void common_read_free_linkinfo (ADIOS_LINK * linkinfo)
+{
+ if (linkinfo)
+ {
+ int i;
+ if (linkinfo->name)
+ {
+ free (linkinfo->name);
+ linkinfo->name = NULL;
+ }
+ if (linkinfo->ref_names)
+ {
+ for (i=0; i<linkinfo->nrefs; i++)
+ {
+ free (linkinfo->ref_names[i]);
+ linkinfo->ref_names[i] = NULL;
+ }
+ }
+ if (linkinfo->ref_files)
+ {
+ for (i=0; i<linkinfo->nrefs; i++)
+ {
+ free (linkinfo->ref_files[i]);
+ linkinfo->ref_files[i] = NULL;
+ }
+ }
+ free (linkinfo);
+ }
+}
+
void common_read_free_meshinfo (ADIOS_MESH * meshinfo)
{
if(meshinfo)
@@ -3520,6 +3727,7 @@ const char * common_read_type_to_string (enum ADIOS_DATATYPES type)
case adios_complex: return "complex";
case adios_double_complex: return "double complex";
+ case adios_string_array: return "char*[]";
default:
{
static char buf [50];
diff --git a/src/core/common_read.h b/src/core/common_read.h
index 189d259..7a0b59d 100644
--- a/src/core/common_read.h
+++ b/src/core/common_read.h
@@ -56,6 +56,9 @@ ADIOS_TRANSINFO * common_read_inq_transinfo(const ADIOS_FILE *fp, const ADIOS_VA
int common_read_inq_var_stat (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo,
int per_step_stat, int per_block_stat);
+ADIOS_LINK * common_read_inq_link_byid (ADIOS_FILE *fp, int linkid);
+void common_read_free_linkinfo (ADIOS_LINK * linkinfo);
+
int common_read_inq_trans_blockinfo(const ADIOS_FILE *fp, const ADIOS_VARINFO *vi, ADIOS_TRANSINFO * ti);
int common_read_inq_var_blockinfo_raw (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo);
int common_read_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * varinfo);
diff --git a/src/core/transforms/adios_transforms_common.c b/src/core/transforms/adios_transforms_common.c
index 1815645..126d826 100644
--- a/src/core/transforms/adios_transforms_common.c
+++ b/src/core/transforms/adios_transforms_common.c
@@ -294,7 +294,9 @@ int adios_transform_deserialize_transform_characteristic(struct adios_index_char
//BUFREAD8(b, transform->transform_type);
transform->transform_type = deserialize_transform_type(b);
- BUFREAD8(b, transform->pre_transform_type);
+ uint8_t flag; // type represented as single byte in file/buffer
+ BUFREAD8(b, flag);
+ transform->pre_transform_type = (enum ADIOS_DATATYPES) flag;
BUFREAD8(b, transform->pre_transform_dimensions.count);
BUFREAD16(b, len);
diff --git a/src/core/transforms/adios_transforms_write.c b/src/core/transforms/adios_transforms_write.c
index afc285b..72b3b80 100644
--- a/src/core/transforms/adios_transforms_write.c
+++ b/src/core/transforms/adios_transforms_write.c
@@ -90,7 +90,7 @@ static void init_dimension_item(struct adios_dimension_item_struct *dimitem) {
dimitem->rank = 0;
dimitem->var = NULL;
dimitem->attr = NULL;
- dimitem->time_index = adios_flag_no;
+ dimitem->is_time_index = adios_flag_no;
}
static struct adios_dimension_struct * new_dimension() {
@@ -109,7 +109,7 @@ static int find_time_dimension_old(struct adios_dimension_struct *dim, struct ad
struct adios_dimension_struct *cur_dim;
int i;
for (i = 0, cur_dim = dim; cur_dim; cur_dim = cur_dim->next, i++ ) {
- if (cur_dim->dimension.time_index == adios_flag_yes) {
+ if (cur_dim->dimension.is_time_index == adios_flag_yes) {
if (time_dim) *time_dim = cur_dim;
return i;
}
@@ -141,9 +141,9 @@ static int is_dimension_item_zero(struct adios_dimension_item_struct *dim_item)
}
static int is_time_dimension(struct adios_dimension_struct *dim) {
- return dim->dimension.time_index == adios_flag_yes ||
- dim->global_dimension.time_index == adios_flag_yes ||
- dim->local_offset.time_index == adios_flag_yes;
+ return dim->dimension.is_time_index == adios_flag_yes ||
+ dim->global_dimension.is_time_index == adios_flag_yes ||
+ dim->local_offset.is_time_index == adios_flag_yes;
}
#if 0
@@ -230,7 +230,7 @@ static void adios_transform_attach_byte_array_dimensions_old(struct adios_group_
// Construct the dimension linked list
for (i = 0; i < new_ndim; i++) {
struct adios_dimension_struct *new_dim = new_dimension();
- new_dim->dimension.time_index = (i == new_time_dim_pos) ? adios_flag_yes : adios_flag_no;
+ new_dim->dimension.is_time_index = (i == new_time_dim_pos) ? adios_flag_yes : adios_flag_no;
new_dim->dimension.rank = ldims[i];
new_dim->global_dimension.rank = gdims[i];
new_dim->local_offset.rank = odims[i];
@@ -258,7 +258,7 @@ static void adios_transform_attach_byte_array_dimensions(struct adios_var_struct
for (i = 0; i < new_ndim; i++) {
struct adios_dimension_struct *new_dim = new_dimension();
- new_dim->dimension.time_index = (new_has_time && i == new_time_dim_pos) ? adios_flag_yes : adios_flag_no;
+ new_dim->dimension.is_time_index = (new_has_time && i == new_time_dim_pos) ? adios_flag_yes : adios_flag_no;
// Clear global dimension/local offset arrays to all 0 to indicate a local array
// For local dimensions, set the time dimension to 1, and the non-time dimension to 0 as a placeholder
@@ -378,7 +378,7 @@ static int adios_transform_store_transformed_length(struct adios_file_struct * f
assert(dim1);
dim2 = dim1->next;
- if (dim1->dimension.time_index == adios_flag_yes) {
+ if (dim1->dimension.is_time_index == adios_flag_yes) {
// If the first dimension is a time dimension, then the byte array dimension must be the second one
assert(dim2);
byte_length_ldim = &dim2->dimension;
@@ -510,7 +510,7 @@ static void dereference_dimension_item(struct adios_dimension_item_struct *dst_d
dst_dim_item->var = NULL;
dst_dim_item->attr = NULL;
dst_dim_item->rank = adios_get_dim_value((struct adios_dimension_item_struct *)src_dim_item);
- dst_dim_item->time_index = src_dim_item->time_index;
+ dst_dim_item->is_time_index = src_dim_item->is_time_index;
}
/*
@@ -589,7 +589,8 @@ static uint8_t adios_transform_serialize_transform(enum ADIOS_TRANSFORM_TYPE tra
serialize_transform_type(transform_type, write_length, buffer, buffer_size, buffer_offset);
// Write the pre-transform datatype
- buffer_write(buffer, buffer_size, buffer_offset, &pre_transform_type, 1);
+ flag = (uint8_t) pre_transform_type; // convert down to a single byte
+ buffer_write(buffer, buffer_size, buffer_offset, &flag, 1);
*write_length += 1;
// Write the number of pre-transform dimensions
diff --git a/src/core/util.c b/src/core/util.c
index 7b48a9e..00152c3 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -103,12 +103,50 @@ void change_endianness( void *data, uint64_t slice_size, enum ADIOS_DATATYPES ty
break;
case adios_string:
+ case adios_string_array:
default:
/* nothing to do */
break;
}
}
+// copy an array of strings with allocation, return pointer
+// also return the sum of string lengths in 'total_length'
+char ** dup_string_array (char ** v, int nelems, int * total_length)
+{
+ *total_length = 0;
+
+ if (!v || nelems < 1)
+ return NULL;
+
+ char ** p = malloc (nelems*sizeof(char*));
+ if (!p) return NULL;
+
+ int i, len;
+ for (i=0; i<nelems; i++) {
+ if (v[i]) {
+ len = strlen (v[i]) + 1;
+ p[i] = malloc (len*sizeof(char));
+ if (p[i])
+ memcpy (p[i], v[i], len);
+ *total_length += len;
+ } else {
+ p[i] = NULL;
+ }
+ }
+ return p;
+}
+
+void free_string_array (char ** v, int nelems)
+{
+ int i;
+ for (i=0; i<nelems; i++) {
+ if (v[i]) free (v[i]);
+ v[i] = 0;
+ }
+ free (v);
+}
+
void copy_data (void *dst, void *src,
int idim,
int ndim,
diff --git a/src/core/util.h b/src/core/util.h
index ebedfad..71d2d43 100644
--- a/src/core/util.h
+++ b/src/core/util.h
@@ -24,6 +24,12 @@ typedef struct read_request
*/
void swap_order(int n, uint64_t *array, int *timedim);
void change_endianness( void *data, uint64_t slice_size, enum ADIOS_DATATYPES type);
+
+// copy an array of strings with allocation, return pointer
+// also return the sum of string lengths in 'total_length'
+char ** dup_string_array (char ** v, int nelems, int * total_length);
+void free_string_array (char ** v, int nelems);
+
void copy_data (void *dst, void *src,
int idim,
int ndim,
diff --git a/src/public/adios.h b/src/public/adios.h
index 2d9957f..3977505 100644
--- a/src/public/adios.h
+++ b/src/public/adios.h
@@ -10,6 +10,7 @@
#include <stdint.h>
+#include "adios_version.h"
#include "adios_mpi.h"
#include "adios_types.h"
#include "adios_error.h"
@@ -49,7 +50,7 @@ int adios_group_size (int64_t fd_p,
uint64_t * total_size
);
-int adios_write (int64_t fd_p, const char * name, void * var);
+int adios_write (int64_t fd_p, const char * name, const void * var);
int adios_get_write_buffer (int64_t fd_p,
const char * name,
@@ -136,6 +137,17 @@ int adios_define_attribute (int64_t group,
const char * var
);
+// define an attribute with values.
+// it can define an (1D) array of scalars, 'nelems' elements
+// 'values' should point to the array of 'nelems' number of values of the specified type
+int adios_define_attribute_byvalue (int64_t group,
+ const char * name,
+ const char * path,
+ enum ADIOS_DATATYPES type,
+ int nelems,
+ void * values
+ );
+
int adios_delete_attrdefs (int64_t id);
/** This function does similar function as adios_write. It is, however, used
@@ -143,7 +155,7 @@ int adios_delete_attrdefs (int64_t id);
* 1. numbers, instead of a variable, are used to annotate array dimensions, and
* 2. a variable is written mutiple times on a processor (e.g., AMR codes)
*/
-int adios_write_byid (int64_t fd_p, int64_t id, void * var);
+int adios_write_byid (int64_t fd_p, int64_t id, const void * var);
/** Set the application's ID for adios_read_init()
* when using a staging method (DATASPACES, DIMES, NSSI or DATATAP).
diff --git a/src/public/adios_link.h b/src/public/adios_link.h
new file mode 100644
index 0000000..ff2f42f
--- /dev/null
+++ b/src/public/adios_link.h
@@ -0,0 +1,28 @@
+#ifndef ADIOS_LINK_H
+#define ADIOS_LINK_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum ADIOS_LINK_TYPE {
+ LINK_VAR = 1,
+ LINK_IMAGE = 2
+ /* expand supported link types here */
+};
+
+typedef struct
+{
+ int id;
+ char * name;
+ int nrefs;
+ enum ADIOS_LINK_TYPE * type;
+ char ** ref_names; /* the linked variable name referred from this var */
+ char ** ref_files; /* full path, 0 means link from the same file, otherwise link from externel file */
+} ADIOS_LINK;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/public/adios_read_ext.h b/src/public/adios_read_ext.h
index f1cfaaa..22e14d8 100644
--- a/src/public/adios_read_ext.h
+++ b/src/public/adios_read_ext.h
@@ -16,40 +16,44 @@
#include "adios_read_v2.h"
#include "adios_selection.h"
-// An opaque type defining a particular view of the data.
-// Currently, there are only two possible values: LOGICAL_DATA_VIEW and PHYSICAL_DATA_VIEW
+/* An opaque type defining a particular view of the data.
+ * Currently, there are only two possible values: LOGICAL_DATA_VIEW and PHYSICAL_DATA_VIEW
+ */
typedef const void* data_view_t;
-// LOGICAL_DATA_VIEW: the default, ADIOS presents the same view of the data as it was written to the
-// file (e.g., if processes wrote to a 3D global array of doubles, the user API will present a 3D global
-// array of doubles to the user when in this view mode).
+/* LOGICAL_DATA_VIEW: the default, ADIOS presents the same view of the data as it was written to the
+ * file (e.g., if processes wrote to a 3D global array of doubles, the user API will present a 3D global
+ * array of doubles to the user when in this view mode).
+ */
extern const data_view_t LOGICAL_DATA_VIEW;
-// PHYSICAL_DATA_VIEW: ADIOS will present the raw transport layer view of the data. If a variable is not
-// transformed, its presentation is equivalent to that under LOGICAL_DATA_VIEW. If a variable is
-// transformed, it will be presented as a 1D byte array, and reads will be answered directly from the
-// transformed data with out any de-transformation applied.
+/* PHYSICAL_DATA_VIEW: ADIOS will present the raw transport layer view of the data. If a variable is not
+ * transformed, its presentation is equivalent to that under LOGICAL_DATA_VIEW. If a variable is
+ * transformed, it will be presented as a 1D byte array, and reads will be answered directly from the
+ * transformed data with out any de-transformation applied.
+ */
extern const data_view_t PHYSICAL_DATA_VIEW;
-// An identifier for a particular transform type (e.g., identity, zlib, etc.)
-// constant NO_TRANSFORM indicates the absence of any data transform being applied.
+/* An identifier for a particular transform type (e.g., identity, zlib, etc.)
+ * constant NO_TRANSFORM indicates the absence of any data transform being applied.
+ */
typedef int adios_transform_type_t;
extern const adios_transform_type_t NO_TRANSFORM;
typedef struct {
const void *content;
- uint64_t length; // in bytes
+ uint64_t length; /* in bytes */
} ADIOS_TRANSFORM_METADATA;
-// A transform information structure describing how a particular variable has been transformed
+/* A transform information structure describing how a particular variable has been transformed */
typedef struct {
- int varid; // Copied from ADIOS_VARINFO, since it is needed for some ADIOS_VARTRANSFORM operations
- int sum_nblocks; // ...
+ int varid; /* Copied from ADIOS_VARINFO, since it is needed for some ADIOS_VARTRANSFORM operations */
+ int sum_nblocks; /* ... */
adios_transform_type_t transform_type; /* The data transform applied to this variable */
- int should_free_transform_metadata; // Used internally for free
+ int should_free_transform_metadata; /* Used internally for free */
/* An array of transform plugin-specific metadata buffers, one for each
varblock in this file (number of varblocks == ADIOS_VARINFO.sum_nblocks).
@@ -64,8 +68,8 @@ typedef struct {
int timestep;
int blockidx;
int blockidx_in_timestep;
- ADIOS_SELECTION *pg_bounds_sel; // it is a global box (offset/start is global)
- ADIOS_SELECTION *intersection_sel; // it is a global box (offset/start is global)
+ ADIOS_SELECTION *pg_bounds_sel; /* it is a global box (offset/start is global) */
+ ADIOS_SELECTION *intersection_sel; /* it is a global box (offset/start is global) */
} ADIOS_PG_INTERSECTION ;
@@ -76,36 +80,39 @@ typedef struct {
#ifndef __INCLUDED_FROM_FORTRAN_API__
-// Sets the "data view" for this ADIOS file, which determines how ADIOS presents variables through
-// adios_inq_var*, and how reads are evaluated in adios_schedule_reads/adios_check_reads calls.
-// Currently, the choice is between a logical and physical view of the data, which only differ for
-// transformed variables; a logical view of a transformed variable presents the data as it was
-// originally written (this is the default), whereas a physical view presents the transformed data
-// as it actually exists on disk.
-// Returns the previous view that was set
+/* Sets the "data view" for this ADIOS file, which determines how ADIOS presents variables through
+ * adios_inq_var*, and how reads are evaluated in adios_schedule_reads/adios_check_reads calls.
+ * Currently, the choice is between a logical and physical view of the data, which only differ for
+ * transformed variables; a logical view of a transformed variable presents the data as it was
+ * originally written (this is the default), whereas a physical view presents the transformed data
+ * as it actually exists on disk.
+ * Returns the previous view that was set
+ */
data_view_t adios_read_set_data_view(ADIOS_FILE *fp, data_view_t vt);
-// Populates data transform information about a given variable into an ADIOS_VARTRANSFORM struct
-// Return NULL if failed
+/* Populates data transform information about a given variable into an ADIOS_VARTRANSFORM struct
+ * Return NULL if failed
+ */
ADIOS_VARTRANSFORM * adios_inq_var_transform(const ADIOS_FILE *fp, const ADIOS_VARINFO *varinfo);
-// Frees an ADIOS_VARTRANSFORM previous received from a call to adios_inq_var_transform
+/* Frees an ADIOS_VARTRANSFORM previous received from a call to adios_inq_var_transform */
void adios_free_var_transform(ADIOS_VARTRANSFORM *vartransform);
-// Returns the adios_transform_type_t constant for a data transformation method specified
-// by its unique ID, corresponding to the third argument in transforms/transform_plugins.h.
-// For example, to get ISOBAR's type constant:
-//
-// In transforms/transform_plugin.h:
-// REGISTER_TRANSFORM_PLUGIN(isobar, "isobar", "ncsu-isobar", "ISOBAR compression")
-// ^^^^^^^^^^^^^
-// const adios_transform_type_t ISOBAR_TTYPE = adios_get_transform_type_by_uid("ncsu-isobar");
-//
+/* Returns the adios_transform_type_t constant for a data transformation method specified
+ * by its unique ID, corresponding to the third argument in transforms/transform_plugins.h.
+ * For example, to get ISOBAR's type constant:
+ *
+ * In transforms/transform_plugin.h:
+ * REGISTER_TRANSFORM_PLUGIN(isobar, "isobar", "ncsu-isobar", "ISOBAR compression")
+ * ^^^^^^^^^^^^^
+ * const adios_transform_type_t ISOBAR_TTYPE = adios_get_transform_type_by_uid("ncsu-isobar");
+ */
adios_transform_type_t adios_get_transform_type_by_uid(const char *transform_uid);
-// Creates a writeblock selection that only retrieves elements [start_elem, start_elem + num_elems)
-// within a variable. An element is a single value of whatever the varaible's datatype is (i.e.,
-// 1 element = 1 double if the variable type is double, 1 byte if the variable type is byte, etc.)
+/* Creates a writeblock selection that only retrieves elements [start_elem, start_elem + num_elems)
+ * within a variable. An element is a single value of whatever the varaible's datatype is (i.e.,
+ * 1 element = 1 double if the variable type is double, 1 byte if the variable type is byte, etc.)
+ */
ADIOS_SELECTION * adios_selection_writeblock_bounded(int index, uint64_t start_elem, uint64_t num_elems, int is_timestep_relative);
ADIOS_PG_INTERSECTIONS * adios_find_intersecting_pgs(
@@ -116,9 +123,10 @@ int adios_get_absolute_writeblock_index(const ADIOS_VARINFO *varinfo, int timest
void adios_free_pg_intersections(ADIOS_PG_INTERSECTIONS **intersections);
-// What is the dimension order of arrays in the file?
-// 0: C ordering (row-major), last dimension is the fastest dimension
-// 1: Fortran ordering (column-major), first dimension is the fastest dimension
+/* What is the dimension order of arrays in the file?
+ * 0: C ordering (row-major), last dimension is the fastest dimension
+ * 1: Fortran ordering (column-major), first dimension is the fastest dimension
+ */
int adios_read_get_dimension_order (ADIOS_FILE *);
#endif /*__INCLUDED_FROM_FORTRAN_API__*/
diff --git a/src/public/adios_read_v1.h b/src/public/adios_read_v1.h
index 74ed45e..98287c6 100644
--- a/src/public/adios_read_v1.h
+++ b/src/public/adios_read_v1.h
@@ -15,6 +15,7 @@
#include <stdint.h>
+#include "adios_version.h"
#include "adios_mpi.h"
#include "adios_read_v1_defs.h"
#include "adios_types.h"
diff --git a/src/public/adios_read_v2.h b/src/public/adios_read_v2.h
index ad4abc7..6f2f4a9 100644
--- a/src/public/adios_read_v2.h
+++ b/src/public/adios_read_v2.h
@@ -13,10 +13,12 @@
#include <stdint.h>
+#include "adios_version.h"
#include "adios_mpi.h"
#include "adios_types.h"
#include "adios_selection.h"
#include "adios_schema.h"
+#include "adios_link.h"
#include "adios_read_v2_fwd.h"
#include "adios_read_ext.h"
@@ -56,25 +58,25 @@ struct _ADIOS_FILE {
};
struct _ADIOS_VARSTAT {
- void * min; /* minimum value in an array variable, = value for a scalar */
- void * max; /* maximum value of an array variable (over all steps) */
- double * avg; /* average value of an array variable (over all steps) */
- double * std_dev; /* standard deviation value of an array variable (over all steps) */
+ void * min; /* minimum value in an array variable, = value for a scalar */
+ void * max; /* maximum value of an array variable (over all steps) */
+ double * avg; /* average value of an array variable (over all steps) */
+ double * std_dev; /* standard deviation value of an array variable (over all steps) */
- struct ADIOS_STAT_STEP /* per step statistics (if requested and recorded at writing) */
+ struct ADIOS_STAT_STEP /* per step statistics (if requested and recorded at writing) */
{
- void ** mins; /* minimum per each step (array of 'nsteps' elements) */
- void ** maxs; /* maximum per each step (array of 'nsteps' elements) */
- double ** avgs; /* average per each step (array of 'nsteps' elements) */
- double ** std_devs; /* standard deviation per each step (array of 'nsteps' elements) */
+ void ** mins; /* minimum per each step (array of 'nsteps' elements) */
+ void ** maxs; /* maximum per each step (array of 'nsteps' elements) */
+ double ** avgs; /* average per each step (array of 'nsteps' elements) */
+ double ** std_devs; /* standard deviation per each step (array of 'nsteps' elements) */
} *steps;
- struct ADIOS_STAT_BLOCK /* per block statistics (if requested and recorded at writing) */
+ struct ADIOS_STAT_BLOCK /* per block statistics (if requested and recorded at writing) */
{
- void ** mins; /* minimum per each block (array of 'nblocks' elements) */
- void ** maxs; /* maximum per each block (array of 'nblocks' elements) */
- double ** avgs; /* average per each block (array of 'nblocks' elements) */
- double ** std_devs; /* std deviation per each block (array of 'nblocks' elements) */
+ void ** mins; /* minimum per each block (array of 'sum_nblocks' elements) */
+ void ** maxs; /* maximum per each block (array of 'sum_nblocks' elements) */
+ double ** avgs; /* average per each block (array of 'sum_nblocks' elements) */
+ double ** std_devs; /* std deviation per each block (array of 'sum_nblocks' elements) */
} *blocks;
struct ADIOS_HIST /* Histogram if recorded at writing */
@@ -89,14 +91,16 @@ struct _ADIOS_VARSTAT {
};
struct _ADIOS_VARBLOCK {
- uint64_t * start; /* offset start point in global array ('ndim' elements) */
- uint64_t * count; /* local sizes in global array ('ndim' elements) */
+ uint64_t * start; /* offset start point in global array ('ndim' elements) */
+ uint64_t * count; /* local sizes in global array ('ndim' elements) */
+ uint32_t process_id; /* a kind of ID of the writing process (likely MPI rank) */
+ uint32_t time_index; /* a kind of timestep info of the writing process >= step of variable */
};
enum var_centering
{
- point = 1, // unstructured mesh point centering
- cell = 2 // unstructured mesh cell centering
+ point = 1, /* unstructured mesh point centering */
+ cell = 2 /* unstructured mesh cell centering */
};
struct _ADIOS_VARMESH {
@@ -132,7 +136,7 @@ struct _ADIOS_VARINFO {
struct _ADIOS_VARCHUNK {
int varid; /* variable index (0..ADIOS_FILE.nvars-1) */
enum ADIOS_DATATYPES type; /* type of variable */
- // NCSU ALACRITY-ADIOS - Added timestep information into varchunks
+ /* NCSU ALACRITY-ADIOS - Added timestep information into varchunks */
int from_steps; /* the first timestep in the returned data */
int nsteps; /* the number of timesteps in the returned data */
ADIOS_SELECTION * sel; /* sub-selection of requested selection */
@@ -374,6 +378,15 @@ int adios_inq_var_stat (ADIOS_FILE *fp, ADIOS_VARINFO * varinfo,
*/
int adios_inq_var_blockinfo (ADIOS_FILE *fp, ADIOS_VARINFO * varinfo);
+/** Inquiry a link by index
+* linkid index of link (0..fp->nlinks-1)
+* in fp->link_namelist of ADIOS_FILE struct
+*/
+ADIOS_LINK * adios_inq_link_byid (ADIOS_FILE *fp, int linkid);
+
+/** Free memory used by an ADIOS_LINK struct */
+void adios_free_linkinfo (ADIOS_LINK *linkinfo);
+
/** Inquiry a mesh by index
* meshid index of mesh (0..fp->nmeshes-1)
* in fp->mesh_namelist of ADIOS_FILE struct
@@ -438,7 +451,7 @@ int adios_schedule_read_byid (const ADIOS_FILE * fp,
int nsteps,
void * data);
-// NCSU ALACRITY-ADIOS: Support for those transforms that can change reading behavior (e.g., level-of-detail)
+/* NCSU ALACRITY-ADIOS: Support for those transforms that can change reading behavior (e.g., level-of-detail) */
int adios_schedule_read_param (const ADIOS_FILE * fp,
const ADIOS_SELECTION * sel,
const char * varname,
diff --git a/src/public/adios_schema.h b/src/public/adios_schema.h
index d66d842..3da58dd 100644
--- a/src/public/adios_schema.h
+++ b/src/public/adios_schema.h
@@ -24,22 +24,22 @@ typedef struct
typedef struct
{
- int use_single_var; // 1 means coordinates-single-var,0 means coordinates-multi-var
+ int use_single_var; /* 1 means coordinates-single-var,0 means coordinates-multi-var */
int num_dimensions;
uint64_t * dimensions;
- char ** coordinates; // name of the variable(s) containing the rectilinear spacing values
+ char ** coordinates; /* name of the variable(s) containing the rectilinear spacing values */
} MESH_RECTILINEAR;
typedef struct
{
- int use_single_var; // 1 means points-single-var, 0 mean points-multi-var
+ int use_single_var; /* 1 means points-single-var, 0 mean points-multi-var */
int num_dimensions;
uint64_t * dimensions;
int nspaces;
- char ** points; // name of the variable(s) containing the point coordinates
+ char ** points; /* name of the variable(s) containing the point coordinates */
} MESH_STRUCTURED;
-// ADIOS Schema: supported cell types
+/* ADIOS Schema: supported cell types */
enum ADIOS_CELL_TYPE
{
ADIOS_CELL_PT = 1
@@ -56,7 +56,7 @@ typedef struct
{
int nspaces;
uint64_t npoints;
- int nvar_points; // how much vars for points-multi-var, 1 for points-single-var
+ int nvar_points; /* how much vars for points-multi-var, 1 for points-single-var */
char ** points;
int ncsets;
uint64_t * ccounts;
@@ -65,11 +65,11 @@ typedef struct
} MESH_UNSTRUCTURED;
-typedef struct { //type returned by adios_inq_mesh for read method
+typedef struct { /*type returned by adios_inq_mesh for read method */
int id;
char * name;
- char * file_name; // 0 means mesh struct from the same file, otherwise mesh struct from externel file
- int time_varying; //0 means not time-varying, 1 means time-varying
+ char * file_name; /* 0 means mesh struct from the same file, otherwise mesh struct from externel file */
+ int time_varying; /*0 means not time-varying, 1 means time-varying */
enum ADIOS_MESH_TYPE type;
union
{
diff --git a/src/public/adios_selection.h b/src/public/adios_selection.h
index 9564f68..98bbdde 100644
--- a/src/public/adios_selection.h
+++ b/src/public/adios_selection.h
@@ -70,16 +70,17 @@ typedef struct {
typedef struct {
int index;
- // NCSU ALACRITY-ADIOS:
- // Adding timestep-relative vs. absolute writeblock selections, as
- // well as sub-PG selection support. Both of these are currently only
- // used by the transform layer
- int is_absolute_index; // 0 if 'index' is relative to the current timestep, != 0
- // otherwie (i.e., absolute index)
- int is_sub_pg_selection; // Whether this writeblock selection contains sub-PG bounds.
- // The following fields only matter if this is != 0
-
- // Reads the linear range of elements in [element_offset, element_offset + nelements)
+ /* NCSU ALACRITY-ADIOS:
+ * Adding timestep-relative vs. absolute writeblock selections, as
+ * well as sub-PG selection support. Both of these are currently only
+ * used by the transform layer
+ */
+ int is_absolute_index; /* 0 if 'index' is relative to the current timestep, != 0
+ otherwise (i.e., absolute index) */
+ int is_sub_pg_selection; /* Whether this writeblock selection contains sub-PG bounds.
+ The following fields only matter if this is != 0 */
+
+ /* Reads the linear range of elements in [element_offset, element_offset + nelements) */
uint64_t element_offset;
uint64_t nelements;
} ADIOS_SELECTION_WRITEBLOCK_STRUCT;
@@ -94,9 +95,9 @@ typedef struct {
} ADIOS_SELECTION_AUTO_STRUCT;
/** Selection for reading a subset of a variable.
- * // A selection is an additive list of bounding boxes and point-sets
+ * A selection is an additive list of bounding boxes and point-sets
*/
-//typedef struct ADIOS_SELECTION_STRUCT ADIOS_SELECTION;
+/*typedef struct ADIOS_SELECTION_STRUCT ADIOS_SELECTION; */
typedef struct {
enum ADIOS_SELECTION_TYPE type; /* Type of selection */
union {
diff --git a/src/public/adios_types.h b/src/public/adios_types.h
index 4052901..2c0676e 100644
--- a/src/public/adios_types.h
+++ b/src/public/adios_types.h
@@ -32,6 +32,10 @@ enum ADIOS_DATATYPES {adios_unknown = -1 /* (size) */
,adios_string = 9 /* (?) */
,adios_complex = 10 /* (8) */
,adios_double_complex = 11 /* (16) */
+
+ /* Only for attributes: char** array of strings.
+ Number of elements must be known externally */
+ ,adios_string_array = 12 /* (sizeof(char*)) usually 4 */
};
enum ADIOS_FLAG {adios_flag_unknown = 0
diff --git a/src/public/adios_version.h b/src/public/adios_version.h
new file mode 100644
index 0000000..39ca8e3
--- /dev/null
+++ b/src/public/adios_version.h
@@ -0,0 +1,41 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+#ifndef ADIOS_VERSION_H
+#define ADIOS_VERSION_H
+
+/* ADIOS Software release version */
+#define ADIOS_VERSION "1.9.0"
+#define ADIOS_VERSION_MAJOR 1
+#define ADIOS_VERSION_MINOR 9
+#define ADIOS_VERSION_PATCH 0
+
+/* macros for comparing the version */
+#define ADIOS_VERSION_GE(Maj,Min,Pat) \
+ (((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR==Min) && (ADIOS_VERSION_PATCH>=Pat)) || \
+ ((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR>Min)) || \
+ (ADIOS_VERSION_MAJOR>Maj))
+
+#define ADIOS_VERSION_LE(Maj,Min,Pat) \
+ (((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR==Min) && (ADIOS_VERSION_PATCH<=Pat)) || \
+ ((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR<Min)) || \
+ (ADIOS_VERSION_MAJOR<Maj))
+
+/* ADIOS Software release version as strings*/
+#define ADIOS_VERSION_MAJOR_STRING "1"
+#define ADIOS_VERSION_MINOR_STRING "9"
+#define ADIOS_VERSION_PATCH_STRING "0"
+
+/* BP File format version
+ * BP versions
+ * 1 up until 1.6 release
+ * 2 from 1.7 release: 32 bit variable IDs
+ * 3 from 1.9 release: array attributes
+ */
+#define ADIOS_VERSION_BP_FORMAT 3
+
+#endif
diff --git a/src/public/adios_version.h.in b/src/public/adios_version.h.in
new file mode 100644
index 0000000..2dcbf69
--- /dev/null
+++ b/src/public/adios_version.h.in
@@ -0,0 +1,41 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+#ifndef ADIOS_VERSION_H
+#define ADIOS_VERSION_H
+
+/* ADIOS Software release version */
+#define ADIOS_VERSION "@VERSION@"
+#define ADIOS_VERSION_MAJOR @VERSION_MAJOR@
+#define ADIOS_VERSION_MINOR @VERSION_MINOR@
+#define ADIOS_VERSION_PATCH @VERSION_MICRO@
+
+/* macros for comparing the version */
+#define ADIOS_VERSION_GE(Maj,Min,Pat) \
+ (((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR==Min) && (ADIOS_VERSION_PATCH>=Pat)) || \
+ ((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR>Min)) || \
+ (ADIOS_VERSION_MAJOR>Maj))
+
+#define ADIOS_VERSION_LE(Maj,Min,Pat) \
+ (((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR==Min) && (ADIOS_VERSION_PATCH<=Pat)) || \
+ ((ADIOS_VERSION_MAJOR==Maj) && (ADIOS_VERSION_MINOR<Min)) || \
+ (ADIOS_VERSION_MAJOR<Maj))
+
+/* ADIOS Software release version as strings*/
+#define ADIOS_VERSION_MAJOR_STRING "@VERSION_MAJOR@"
+#define ADIOS_VERSION_MINOR_STRING "@VERSION_MINOR@"
+#define ADIOS_VERSION_PATCH_STRING "@VERSION_MICRO@"
+
+/* BP File format version
+ * BP versions
+ * 1 up until 1.6 release
+ * 2 from 1.7 release: 32 bit variable IDs
+ * 3 from 1.9 release: array attributes
+ */
+#define ADIOS_VERSION_BP_FORMAT 3
+
+#endif
diff --git a/src/query/common_query.c b/src/query/common_query.c
index c97ee05..e12ed98 100644
--- a/src/query/common_query.c
+++ b/src/query/common_query.c
@@ -9,7 +9,7 @@
#include "public/adios_error.h"
#include "core/common_read.h"
#include "core/adios_logger.h"
-
+#include "query_utils.h"
static struct adios_query_hooks_struct * query_hooks = 0;
static int getTotalByteSize (ADIOS_FILE* f, ADIOS_VARINFO* v, ADIOS_SELECTION* sel,
@@ -45,27 +45,27 @@ static ADIOS_SELECTION* getAdiosDefaultBoundingBox(ADIOS_VARINFO* v)
return result;
}
+static int query_hooks_initialized = 0;
void common_query_init()
{
- static int did_init = 0;
- if (!did_init) {
+ if (!query_hooks_initialized) {
adios_query_hooks_init(&query_hooks);
- did_init = 1;
+ query_hooks_initialized = 1;
}
}
void common_query_finalize()
{
- static int did_finalize = 0;
- if (!did_finalize) {
+ if (query_hooks_initialized) {
enum ADIOS_QUERY_METHOD m;
for (m=0; m < ADIOS_QUERY_METHOD_COUNT; m++) {
if (query_hooks[m].adios_query_finalize_fn != NULL) {
query_hooks[m].adios_query_finalize_fn();
}
}
- free(query_hooks);
- did_finalize = 1;
+ // Do not free query_hooks here because they are initialized only once
+ // in common_query_init ---> adios_query_hooks_init()
+ query_hooks_initialized = 0;
}
}
@@ -164,6 +164,12 @@ static int adios_check_query_at_timestep(ADIOS_QUERY* q, int timeStep)
timeStep = q->file->current_step;
}
+ if (q->varinfo != NULL) {
+ if (q->onTimeStep == timeStep) {
+ return timeStep; // returning call to get more values
+ }
+ }
+
ADIOS_VARINFO* v = common_read_inq_var(q->file, q->varName);
if (v == NULL) {
adios_error (err_invalid_varname, "Query Invalid variable '%s':\n%s",
@@ -184,8 +190,9 @@ static int adios_check_query_at_timestep(ADIOS_QUERY* q, int timeStep)
return -1;
}
- log_debug("%s, raw data size=%ld\n", q->condition, dataSize);
- q->dataSlice = malloc(total_byte_size);
+ log_debug("%s, raw data size=%llu\n", q->condition, dataSize);
+ //q->dataSlice = malloc(total_byte_size);
+ q->dataSlice = 0;
q->rawDataSize = dataSize;
return timeStep;
@@ -202,6 +209,7 @@ static int adios_check_query_at_timestep(ADIOS_QUERY* q, int timeStep)
return -1;
}
+ q->rawDataSize = ((ADIOS_QUERY*)(q->left))->rawDataSize;
return leftTimeStep;
}
}
@@ -459,7 +467,7 @@ static int isSelectionCompatible(ADIOS_SELECTION* first, ADIOS_SELECTION* second
const ADIOS_SELECTION_POINTS_STRUCT *pt2 = &(second->u.points);
if (pt1 -> npoints != pt2->npoints) {
- log_error("Error! point selections have different size. %ld != %ld\n", pt1->npoints, pt2->npoints);
+ log_error("Error! point selections have different size. %llu != %llu\n", pt1->npoints, pt2->npoints);
return -1;
}
return 1;
@@ -547,6 +555,7 @@ ADIOS_QUERY* common_query_combine(ADIOS_QUERY* q1,
result->right = q2;
result->combineOp = operator;
+ result->rawDataSize = q1->rawDataSize;
//initialize(result);
return result;
}
@@ -768,6 +777,10 @@ int common_query_evaluate(ADIOS_QUERY* q,
uint64_t batchSize, // limited by maxResult
ADIOS_SELECTION** result)
{
+ double start = 0, end = 0;
+#ifdef BREAKDOWN
+ start = dclock();
+#endif
if (q == 0) {
log_debug("Error: empty query will not be evaluated!");
return -1;
@@ -816,9 +829,20 @@ int common_query_evaluate(ADIOS_QUERY* q,
if (query_hooks[m].adios_query_evaluate_fn != NULL) {
int retval = query_hooks[m].adios_query_evaluate_fn(q, timeStep, batchSize, outputBoundary, result);
if (freeOutputBoundary) common_read_selection_delete(outputBoundary);
+
+#ifdef BREAKDOWN
+ end = dclock();
+ printf("total time [frame + plugin + adios] : %f \n", end - start);
+#endif
return retval;
}
log_debug ("No selection method is supported for method: %d\n", m);
+
+#ifdef BREAKDOWN
+ end = dclock();
+ printf("total time [frame + plugin + adios] : %f \n", end - start);
+#endif
+
return -1;
}
diff --git a/src/query/fastbit_adios.c b/src/query/fastbit_adios.c
index 1858646..742f937 100644
--- a/src/query/fastbit_adios.c
+++ b/src/query/fastbit_adios.c
@@ -7,6 +7,264 @@
#include "fastbit_adios.h"
+const char* _prefix="";
+
+unsigned long _startMillis = 0;
+unsigned long _milestoneMillis = 0;
+
+//struct timespec _bmsVisits;
+//struct timespec _idxVisits;
+
+CollectionPoint _bmsPoint;
+CollectionPoint _idxPoint;
+CollectionPoint _proPoint; // fastbit_evaluate & getCoordinate
+CollectionPoint _framePoint;
+
+void casestudyLogger_initPoints(CollectionPoint* p)
+{
+ p->_accumulator.tv_nsec = 0;
+ p->_accumulator.tv_sec = 0;
+
+ p->_counter = 0;
+}
+
+void casestudyLogger_init()
+{
+ casestudyLogger_initPoints(&_bmsPoint);
+ casestudyLogger_initPoints(&_idxPoint);
+ casestudyLogger_initPoints(&_proPoint);
+ casestudyLogger_initPoints(&_framePoint);
+}
+
+extern void casestudyLogger_print(CollectionPoint* p, const char* msg)
+{
+#ifdef TIMESTUDY
+ printf("%s: %llu sec %llu millisec accumulated, visited: %lu times \n", msg, (unsigned long long)p->_accumulator.tv_sec, (unsigned long long)p->_accumulator.tv_nsec/((unsigned long)1000000), p->_counter);
+#else
+ log_debug("%s: %llu sec %llu millisec accumulated, visited: %lu times \n", msg, (unsigned long long)p->_accumulator.tv_sec, (unsigned long long)p->_accumulator.tv_nsec/((unsigned long)1000000), p->_counter);
+#endif
+}
+
+extern void casestudyLogger_starts(const char* ref)
+{
+ _startMillis = fastbit_adios_getCurrentTimeMillis();
+ _milestoneMillis = 0;
+
+ /*_bmsVisits.tv_nsec=0;
+ _bmsVisits.tv_sec=0;
+ _idxVisits.tv_nsec=0;
+ _idxVisits.tv_sec=0;
+ */
+#ifdef TIMESTUDY
+ printf("==> casestudy %s starts at: %llu sec\n", ref, _startMillis/1000);
+#endif
+}
+
+
+extern void casestudyLogger_bms_print()
+{
+ //printf("bitmap visit took: %llu sec %llu millisec accumulated \n", _bmsVisits.tv_sec, _bmsVisits.tv_nsec/((unsigned long)1000000));
+ casestudyLogger_print(&_bmsPoint, "bitmap visit took");
+}
+
+extern void casestudyLogger_idx_print()
+{
+ //printf("idx access took: %llu sec %llu millisec accumulated \n", _idxVisits.tv_sec, _idxVisits.tv_nsec/((unsigned long)1000000));
+ casestudyLogger_print(&_idxPoint, "idx access took:");
+}
+
+extern void casestudyLogger_pro_print()
+{
+ //printf("idx access took: %llu sec %llu millisec accumulated \n", _idxVisits.tv_sec, _idxVisits.tv_nsec/((unsigned long)1000000));
+ casestudyLogger_print(&_proPoint, "fastbit query process took:");
+}
+
+extern void casestudyLogger_frame_print()
+{
+ //printf("idx access took: %llu sec %llu millisec accumulated \n", _idxVisits.tv_sec, _idxVisits.tv_nsec/((unsigned long)1000000));
+ casestudyLogger_print(&_framePoint, "query frame took:");
+}
+
+extern void casestudyLogger_ends(const char* ref)
+{
+ unsigned long endMillis = fastbit_adios_getCurrentTimeMillis();
+ unsigned long diffmillis = endMillis - _startMillis;
+
+#ifdef TIMESTUDY
+ unsigned long diffsec = diffmillis/1000;
+ if (diffsec > 60) {
+ unsigned long diffmin = diffsec/60;
+ diffsec = diffsec - diffmin*60;
+ printf("%s took: %lu millisecs = %lu min & %lu sec \n", ref, diffmillis, diffmin, diffsec);
+ } else {
+ printf("%s took: %lu millisecs = %lu sec\n", ref, diffmillis, diffsec);
+ }
+#endif
+}
+
+extern void casestudyLogger_getRealtime(struct timespec* spec)
+{
+#ifdef CLOCK_MONOTONIC
+ clock_gettime(CLOCK_MONOTONIC, spec);
+#else
+ clock_gettime(CLOCK_REALTIME, spec);
+#endif
+}
+
+extern void casestudyLogger_setPrefix(const char* prefix)
+{
+ _prefix = prefix;
+
+ unsigned long currMillis = fastbit_adios_getCurrentTimeMillis();
+ unsigned long diffMillis = currMillis-_startMillis;
+ unsigned long diffsec = diffMillis/1000;
+
+ unsigned long ministepMillis = currMillis - _milestoneMillis;
+ if (_milestoneMillis == 0) {
+ ministepMillis = diffMillis;
+ }
+
+
+#ifdef TIMESTUDY
+ if (diffsec > 60) {
+ unsigned long diffmin = diffsec/60;
+ diffsec = diffsec - diffmin*60;
+ printf("on %s, time passed since start: %lu millisecs = %lu min & %lu sec, ministep=%lu milliseconds \n", prefix, diffMillis, diffmin, diffsec, ministepMillis);
+ } else {
+ printf("on %s, time passed since start: %lu millisecs = %lu sec, ministep=%lu milliseconds\n", prefix, diffMillis, diffsec, ministepMillis);
+ }
+#endif
+ _milestoneMillis = currMillis;
+}
+
+/*
+extern void casestudyLogger_idx_writeout(struct timespec* start,
+ //struct timespec* end,
+ const char* desc)
+{
+ struct timespec end;
+ casestudyLogger_getRealtime(&end);
+
+ struct timespec diff;
+
+ diff.tv_nsec = end.tv_nsec - start->tv_nsec;
+ diff.tv_sec = end.tv_sec - start->tv_sec;
+
+ if(diff.tv_nsec < 0 ){
+ diff.tv_nsec += 1000000000;
+ diff.tv_sec = diff.tv_sec - 1;
+ }
+
+ //printf("%s %s %llu sec %llu nanosec \n", _prefix, desc, diff.tv_sec, diff.tv_nsec);
+
+ _idxVisits.tv_sec += diff.tv_sec;
+ _idxVisits.tv_nsec += diff.tv_nsec;
+
+ unsigned long sec = _idxVisits.tv_nsec/(unsigned long)1000000000;
+ if (sec > 0) {
+ _idxVisits.tv_sec += sec;
+ _idxVisits.tv_nsec -= sec*((unsigned long)1000000000);
+ }
+
+}
+
+
+extern void casestudyLogger_bms_writeout(struct timespec* start,
+ //struct timespec* end,
+ const char* desc)
+{
+ struct timespec end;
+ casestudyLogger_getRealtime(&end);
+
+ struct timespec diff;
+
+ diff.tv_nsec = end.tv_nsec - start->tv_nsec;
+ diff.tv_sec = end.tv_sec - start->tv_sec;
+
+ if(diff.tv_nsec < 0 ){
+ diff.tv_nsec += 1000000000;
+ diff.tv_sec = diff.tv_sec - 1;
+ }
+
+ //printf("%s %s %llu sec %llu nanosec \n", _prefix, desc, diff.tv_sec, diff.tv_nsec);
+
+ _bmsVisits.tv_sec += diff.tv_sec;
+ _bmsVisits.tv_nsec += diff.tv_nsec;
+
+ unsigned long sec = _bmsVisits.tv_nsec/(unsigned long)1000000000;
+ if (sec > 0) {
+ _bmsVisits.tv_sec += sec;
+ _bmsVisits.tv_nsec -= sec*((unsigned long)1000000000);
+ }
+ //printf("%s %s %llu sec %llu millisec accumulated \n", _prefix, desc, _bmsVisits.tv_sec, _bmsVisits.tv_nsec/((unsigned long)1000000));
+}
+*/
+
+extern void casestudyLogger_writeout(CollectionPoint* p,
+ struct timespec* start,
+ const char* desc)
+{
+ struct timespec end;
+ casestudyLogger_getRealtime(&end);
+
+ struct timespec diff;
+
+ diff.tv_nsec = end.tv_nsec - start->tv_nsec;
+ diff.tv_sec = end.tv_sec - start->tv_sec;
+
+ if(diff.tv_nsec < 0 ){
+ diff.tv_nsec += 1000000000;
+ diff.tv_sec = diff.tv_sec - 1;
+ }
+
+ //printf("%s %s %llu sec %llu nanosec \n", _prefix, desc, diff.tv_sec, diff.tv_nsec);
+
+ p->_accumulator.tv_sec += diff.tv_sec;
+ p->_accumulator.tv_nsec += diff.tv_nsec;
+
+ unsigned long sec = p->_accumulator.tv_nsec/(unsigned long)1000000000;
+ if (sec > 0) {
+ p->_accumulator.tv_sec += sec;
+ p->_accumulator.tv_nsec -= sec*((unsigned long)1000000000);
+ }
+ //printf("%s %s %llu sec %llu millisec accumulated \n", _prefix, desc, _bmsVisits.tv_sec, _bmsVisits.tv_nsec/((unsigned long)1000000));
+
+ p->_counter ++;
+}
+
+extern void casestudyLogger_idx_writeout(struct timespec* start,
+ //struct timespec* end,
+ const char* desc)
+{
+ casestudyLogger_writeout(&_idxPoint, start, desc);
+}
+
+extern void casestudyLogger_pro_writeout(struct timespec* start,
+ //struct timespec* end,
+ const char* desc)
+{
+ casestudyLogger_writeout(&_proPoint, start, desc);
+}
+
+extern void casestudyLogger_frame_writeout(struct timespec* start,
+ //struct timespec* end,
+ const char* desc)
+{
+ casestudyLogger_writeout(&_framePoint, start, desc);
+ //printf("%s %llu sec %llu millisec accumulated \n", desc, _framePoint._accumulator.tv_sec, _framePoint._accumulator.tv_nsec/((unsigned long)1000000));
+}
+
+extern void casestudyLogger_bms_writeout(struct timespec* start,
+ //struct timespec* end,
+ const char* desc)
+{
+ casestudyLogger_writeout(&_bmsPoint, start, desc);
+}
+
+
+//
+//
+//
long fastbit_adios_getCurrentTimeMillis()
{
time_t s; // Seconds
@@ -48,8 +306,8 @@ int fastbit_adios_util_getRelativeBlockNumForPoint(ADIOS_VARINFO* v, uint64_t*
ADIOS_VARBLOCK curr = v->blockinfo[i];
for (j=0; j<v->ndim; j++) {
- int begin = curr.start[j];
- int end = curr.start[j]+curr.count[j];
+ uint64_t begin = curr.start[j];
+ uint64_t end = curr.start[j]+curr.count[j];
if ((begin <= point[j]) && (point[j] < end)) {
result = i; // relative to the timestep
@@ -253,6 +511,10 @@ uint64_t fastbit_adios_util_getBlockSize(ADIOS_VARINFO* v, int timestep, int rel
k += relativeBlockIdx;
+ if (k > v->sum_nblocks-1) {
+ return 0;
+ }
+
log_debug("\n blockinfo[%d]: [ ", k);
for (j=0; j<v->ndim; j++)
@@ -339,6 +601,25 @@ static const char * value_to_string (enum ADIOS_DATATYPES type, void * data, int
return s;
}
+void getVarNames(char* bmsVarName, char* keyVarName, char* offsetName, ADIOS_VARINFO* v, int timestep, int blockNum) {
+
+ /*
+ sprintf(bmsVarName, "bms-%d-%d-block-%d", v->varid, timestep, blockNum);
+ sprintf(keyVarName, "key-%d-%d-block-%d", v->varid, timestep, blockNum);
+ sprintf(offsetName, "offset-%d-%d-block-%d", v->varid, timestep, blockNum);
+ */
+
+ sprintf(bmsVarName, "bms-%d-%d-box-%d", v->varid, timestep, blockNum);
+ sprintf(keyVarName, "key-%d-%d-box-%d", v->varid, timestep, blockNum);
+ sprintf(offsetName, "offset-%d-%d-box-%d", v->varid, timestep, blockNum);
+
+ /*
+ sprintf(bmsVarName, "bms-%d-%d-%d", v->varid, timestep, blockNum);
+ sprintf(keyVarName, "key-%d-%d-%d", v->varid, timestep, blockNum);
+ sprintf(offsetName, "offset-%d-%d-%d", v->varid, timestep, blockNum);
+ */
+
+}
//
//
// caller frees keys, offsets and bms.
@@ -352,10 +633,14 @@ int fastbit_adios_util_readNoBMSFromIndexFile(ADIOS_FILE* idxFile, ADIOS_VARINFO
char offsetName[100];
*bmsVarName = malloc(100);
+
+ getVarNames(*bmsVarName, keyVarName, offsetName, v, timestep, blockNum);
+
+ /*
sprintf(*bmsVarName, "bms-%d-%d-%d", v->varid, timestep, blockNum);
sprintf(keyVarName, "key-%d-%d-%d", v->varid, timestep, blockNum);
sprintf(offsetName, "offset-%d-%d-%d", v->varid, timestep, blockNum);
-
+ */
log_debug("reading from index file: %s for variables: %s %s %s \n", idxFile->path, *bmsVarName, keyVarName, offsetName);
ADIOS_VARINFO * keyV = common_read_inq_var (idxFile, keyVarName);
@@ -409,10 +694,12 @@ int fastbit_adios_util_readFromIndexFile(ADIOS_FILE* idxFile, ADIOS_VARINFO* v,
char keyVarName[100];
char offsetName[100];
+ getVarNames(bmsVarName, keyVarName, offsetName, v, timestep, blockNum);
+ /*
sprintf(bmsVarName, "bms-%d-%d-%d", v->varid, timestep, blockNum);
sprintf(keyVarName, "key-%d-%d-%d", v->varid, timestep, blockNum);
sprintf(offsetName, "offset-%d-%d-%d", v->varid, timestep, blockNum);
-
+ */
log_debug("reading from index file: %s for variables: %s %s %s \n", idxFile->path, bmsVarName, keyVarName, offsetName);
ADIOS_VARINFO * bmsV = common_read_inq_var (idxFile, bmsVarName);
diff --git a/src/query/fastbit_adios.h b/src/query/fastbit_adios.h
index c0cd85d..7008243 100644
--- a/src/query/fastbit_adios.h
+++ b/src/query/fastbit_adios.h
@@ -53,6 +53,12 @@ static int mybmreader(void *ctx, uint64_t start,uint64_t count, uint32_t *buf)
return 0;
}
+typedef struct {
+ struct timespec _accumulator; // accumate
+ unsigned long _counter; // how many times collected
+} CollectionPoint; // for logger
+
+
long fastbit_adios_getCurrentTimeMillis();
int fastbit_adios_util_getRelativeBlockNumForPoint(ADIOS_VARINFO* v, uint64_t* point, int timestep);
@@ -73,9 +79,26 @@ const char * fastbit_adios_util_value_to_string (enum ADIOS_DATATYPES type, void
uint64_t fastbit_adios_util_getAdiosBlockSize(ADIOS_VARINFO* v, int k); // k = blockNumber;
-int fastbit_adio_util_readFromFastbitIndexFile(ADIOS_FILE* idxFile, ADIOS_VARINFO* v, int timestep, int blockNum,
- double** keys, uint64_t* nkeys, int64_t** offsets, uint64_t* no,
- uint32_t** bms, uint64_t* nb);
+int fastbit_adios_util_readNoBMSFromIndexFile (ADIOS_FILE* idxFile,
+ ADIOS_VARINFO* v,
+ int timestep,
+ int blockNum,
+ double** keys,
+ uint64_t* nk,
+ int64_t** offsets,
+ uint64_t* no,
+ char** bmsVarName);
+
+int fastbit_adios_util_readFromFastbitIndexFile (ADIOS_FILE* idxFile,
+ ADIOS_VARINFO* v,
+ int timestep,
+ int blockNum,
+ double** keys,
+ uint64_t* nkeys,
+ int64_t** offsets,
+ uint64_t* no,
+ uint32_t** bms,
+ uint64_t* nb);
#ifdef __cplusplus
}
diff --git a/src/query/query_alac.c b/src/query/query_alac.c
index 31e7a1a..11e6ee8 100644
--- a/src/query/query_alac.c
+++ b/src/query/query_alac.c
@@ -17,6 +17,7 @@
#include "transforms/adios_transform_alacrity_common.h"
#include "core/common_read.h"
#include "common_query.h"
+#include "query_utils.h"
//#include <alacrity.h>
@@ -41,6 +42,12 @@ typedef struct{
#define MAX_DIMS 32
+// This three variables are used for timing the transformer layer,
+// the reason of being global variables is because calling transformer layer APIs scatter
+// I have to sum every place that calls transformer layer
+#ifdef BREAKDOWN
+ double gTransformTime = 0.0, transStart =0, transEnd = 0;
+#endif
/**** Funcs. that are internal funcs. ********/
@@ -147,16 +154,23 @@ bool isLastConvRidInit(const ADIOS_ALAC_BITMAP *b){
/*since we are set data view is physical view, the element size is 1 byte */
-
+//this is a basic read function for other read functions , such as readIndex, readLowOrderBytes, readMeta.
void readTransformedElms(ADIOS_FILE* fp,ADIOS_VARINFO* vi
, int startStep, int numStep
, int blockId, uint64_t start_elem, uint64_t num_elems, int is_timestep_relative, void * outputData/*out*/){
ADIOS_SELECTION *sel = adios_selection_writeblock_bounded(blockId, start_elem, num_elems, is_timestep_relative);
+#ifdef BREAKDOWN
+ transStart = dclock();
+#endif
+
common_read_schedule_read_byid(fp, sel, vi->varid, startStep, numStep, NULL, outputData);
common_read_perform_reads(fp, 1);
// adios_selection_writeblock_bounded internally malloc data for adios_selection
// so I need to free it before the next usage
common_read_selection_delete(sel);
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
}
void readBlockData(int gBlockId /*global block id */, ADIOS_QUERY * adiosQuery, int startStep,
@@ -166,7 +180,13 @@ void readBlockData(int gBlockId /*global block id */, ADIOS_QUERY * adiosQuery,
char * blockData = (char*) (*data);
blockData = (char *) malloc(sizeof(char) * dataElmSize * dataElmNum);
ADIOS_SELECTION *sel = adios_selection_writeblock_bounded(gBlockId, 0, dataElmNum, 0); // entire PG selection
+#ifdef BREAKDOWN
+ transStart = dclock();
+#endif
common_read_schedule_read_byid(adiosQuery->file, sel, varInfo->varid, startStep, 1, NULL, blockData);
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
}
void readIndexData(int blockId, uint64_t offsetSize /*in bytes*/
,uint64_t length /*in bytes*/, ADIOS_FILE* fp,ADIOS_VARINFO* vi
@@ -725,10 +745,17 @@ void proc_write_block(int gBlockId /*its a global block id*/, bool isPGCovered,
// assert(tmeta->length == 24);
adios_transform_alacrity_metadata *alac_metadata = (adios_transform_alacrity_metadata *) malloc(sizeof(adios_transform_alacrity_metadata));
+
+#ifdef BREAKDOWN
+ transStart = dclock();
+#endif
+
//the metadata order is alacrity meta, alacrity index, alacrity LoB, raw data (original data)
read_alacrity_transform_metadata(tmeta.length, tmeta.content, alac_metadata);
//It now assumes LoB along with OD (original data)
-
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
//TODO: offset of each PG should be included
// printf("PG[%d] has meta size[ %" PRIu64 "], index size[ %" PRIu64 "], and data size[ %" PRIu64 "] \n", blockId, metaSize, indexSize, dataSize);
@@ -739,6 +766,9 @@ void proc_write_block(int gBlockId /*its a global block id*/, bool isPGCovered,
ALMetadata partitionMeta;
readPartitionMeta(gBlockId, alac_metadata->meta_size,adiosQuery->file, varInfo
,startStep,numStep,&partitionMeta);
+
+
+
const uint8_t insigbytes = insigBytesCeil(&partitionMeta);
//2. find touched bin
@@ -901,6 +931,7 @@ void proc_write_block(int gBlockId /*its a global block id*/, bool isPGCovered,
*/
ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep, bool estimate) {
+
if (checkUnsupportedDataType(adiosQuery->varinfo->type)){
printf("unsupported data type [%d] at this point \n", adiosQuery->varinfo->type);
exit(EXIT_FAILURE);
@@ -912,8 +943,17 @@ ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep,
ADIOS_VARINFO * varInfo = adiosQuery->varinfo;
+#ifdef BREAKDOWN
+ gTransformTime = 0;
+ transStart = dclock();
+#endif
adios_read_set_data_view(adiosQuery->file, LOGICAL_DATA_VIEW); // switch to the transform view,
ADIOS_VARTRANSFORM *ti = adios_inq_var_transform(adiosQuery->file, varInfo); // this func. will fill the blockinfo field
+
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
+
int startStep = timeStep, numStep = 1;
uint64_t totalElm = adiosQuery->rawDataSize; // no matter bounding box or writeblock selection, the rawDataSize has been calculated in the common query layer
ADIOS_ALAC_BITMAP *alacResultBitmap = (ADIOS_ALAC_BITMAP *) malloc(sizeof(ADIOS_ALAC_BITMAP ));
@@ -952,6 +992,10 @@ ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep,
static uint64_t ZERO[32] = { 0 };
destcount = varInfo->dims; deststart = ZERO;
+#ifdef BREAKDOWN
+ transStart = dclock();
+#endif
+
if (varInfo->blockinfo == NULL) {
adios_read_set_data_view(adiosQuery->file, LOGICAL_DATA_VIEW);
common_read_inq_var_blockinfo(adiosQuery->file, varInfo);
@@ -960,6 +1004,10 @@ ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep,
adios_read_set_data_view(adiosQuery->file, PHYSICAL_DATA_VIEW);
ADIOS_VARTRANSFORM *ti = adios_inq_var_transform(adiosQuery->file, varInfo);
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
+
int totalPG = varInfo->nblocks[timeStep];
int blockId, j;
@@ -1013,9 +1061,19 @@ ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep,
printf("]\n");
#endif
+
+
+#ifdef BREAKDOWN
+ transStart = dclock();
+#endif
adios_read_set_data_view(adiosQuery->file, PHYSICAL_DATA_VIEW);
ADIOS_VARTRANSFORM *ti = adios_inq_var_transform(adiosQuery->file, varInfo);
ADIOS_PG_INTERSECTIONS* intersectedPGs = adios_find_intersecting_pgs( adiosQuery->file, varInfo->varid, adiosQuery->sel, timeStep, numStep);
+
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
+
int totalPG = intersectedPGs->npg;
int blockId, j;
@@ -1067,8 +1125,16 @@ ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep,
bool isPGCovered = true; // because they are same bounding boxes, they are fully contained
if (ti->transform_type == adios_get_transform_type_by_uid("ncsu-alacrity")){
+
+#ifdef BREAKDOWN
+ transStart = dclock();
+#endif
adios_read_set_data_view(adiosQuery->file, PHYSICAL_DATA_VIEW); // switch to the transform view,
ADIOS_VARTRANSFORM *ti = adios_inq_var_transform(adiosQuery->file, varInfo); // this func. will fill the blockinfo field
+
+#ifdef BREAKDOWN
+ gTransformTime += (dclock() - transStart) ;
+#endif
proc_write_block(globalBlockId,isPGCovered,ti, adiosQuery,startStep,estimate,&alacQuery,lb,hb
,srcstart, srccount, deststart, destcount,alacResultBitmap,Corder );
}else {
@@ -1095,6 +1161,10 @@ ADIOS_ALAC_BITMAP* adios_alac_uniengine(ADIOS_QUERY * adiosQuery, int timeStep,
}
// NOTE: this is for correctness of reading info later. We switch back to ensure the end-use are not affected
adios_read_set_data_view(adiosQuery->file, LOGICAL_DATA_VIEW);
+
+#ifdef BREAKDOWN
+ printf("ADIOS(transformer layer) read time: %f \n", gTransformTime);
+#endif
return alacResultBitmap;
}
@@ -1338,7 +1408,11 @@ int adios_query_alac_evaluate(ADIOS_QUERY* q,
ADIOS_SELECTION* outputBoundry,
ADIOS_SELECTION** queryResult)
{
+ double alacStart = 0, alacEnd = 0;
+#ifdef BREAKDOWN
+ alacStart = dclock();
+#endif
if (!isInitialized){ // if this is the very first time of calling the queries, we initialize the lookup tables
init_lookup();
isInitialized= 1;
@@ -1380,6 +1454,11 @@ int adios_query_alac_evaluate(ADIOS_QUERY* q,
FreeALACBITMAP(b);
q->resultsReadSoFar += retrievalSize;
+#ifdef BREAKDOWN
+ alacEnd= dclock();
+ printf("time [alac plugin + adios] : %f \n", alacEnd - alacStart);
+#endif
+
return q->resultsReadSoFar < q->maxResultsDesired;
}
diff --git a/src/query/query_fastbit.c b/src/query/query_fastbit.c
index 40a24ba..16fd959 100644
--- a/src/query/query_fastbit.c
+++ b/src/query/query_fastbit.c
@@ -9,6 +9,476 @@
#include <iapi.h>
#include <math.h>
+#define BITARRAY
+#define INT_BIT 32
+
+#define BITMASK(b) (1 << ((b) % INT_BIT))
+#define BITSLOT(b) ((b) / INT_BIT)
+#define BITSET(a, b) ((a)[BITSLOT(b)] |= BITMASK(b))
+#define BITCLEAR(a, b) ((a)[BITSLOT(b)] &= ~BITMASK(b))
+#define BITTEST(a, b) ((a)[BITSLOT(b)] & BITMASK(b))
+#define BITNSLOTS(nb) ((nb + INT_BIT - 1) / INT_BIT)
+
+
+int64_t getPosInBox(const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* sel, int n, uint64_t* spatialCoordinates, int fortran_order);
+int64_t getPosInVariable(const ADIOS_VARINFO* v, int n, uint64_t* spatialCoordinates, int fortran_order);
+
+void getHandleFromBlockAtLeafQuery(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q, uint64_t blockSize);
+
+FastBitSelectionHandle createHandle(ADIOS_QUERY* q, const char* registeredArrayName);
+
+static inline void scan_r2(int dim, const uint64_t* const dimSize, uint64_t pos, uint64_t * const result, uint64_t* const scan_start, int d, uint64_t curr0, uint64_t base)
+{
+ uint64_t i=0;
+
+ if (d == dim-1) {
+ result[d] = pos - curr0;
+ return;
+ }
+
+ for (i=scan_start[d]; i<dimSize[d]; i++) {
+ uint64_t curr = i*base+curr0;
+ uint64_t next = curr+base;
+
+ if (pos >= next) {
+ continue;
+ }
+
+ result[d] = i;
+ if (i > scan_start[d]) {
+ scan_start[d+1] = 0;
+ }
+
+ if (d+1 == dim -2) {
+ uint64_t k = 0;
+ for (k=scan_start[dim-2]; k<dimSize[dim-2]; k++) {
+ uint64_t curr1 = k*dimSize[dim-1]+curr;
+ uint64_t next1 = curr1+dimSize[dim-1];
+ if (pos >= next1) {
+ continue;
+ }
+ result[dim-2] = k;
+ result[dim-1] = pos-curr1;
+ return;
+ }
+ } else if (d+1 == dim-1) { // save a recursive step
+ result[dim-1] = pos-curr;
+ return;
+ } else if (d+1 < dim-2) {
+ uint64_t base2=base/dimSize[d+1];
+ scan_r2(dim, dimSize, pos, result, scan_start, d+1, curr, base2);
+ }
+ break;
+ }
+
+}
+
+
+static inline void scan3d(const uint64_t* const dimSize, uint64_t pos, uint64_t * const result, uint64_t* const scan_start)
+{
+
+ int i,j,k;
+
+ int base=dimSize[1]*dimSize[2];
+
+ for (i=scan_start[0]; i<dimSize[0]; i++) {
+ int curr = i*base;
+ int next = curr+base;
+
+ if (pos >= next) {
+ continue;
+ }
+
+ result[0] = i;
+ if (i > scan_start[0]) {
+ scan_start[1] = 0;
+ }
+
+ for (j=scan_start[1]; j<dimSize[1]; j++) {
+ int curr2 = curr+j*dimSize[2];
+ int next2 = curr2+dimSize[2];
+ if (pos >= next2) {
+ continue;
+ }
+ result[1] = j;
+ result[2] = pos-curr2;
+ return;
+ }
+ }
+}
+
+static inline void scan2d(const uint64_t* const dimSize, uint64_t pos, uint64_t * const result, uint64_t* const scan_start)
+{
+
+ int i,j;
+
+ int base=dimSize[1];
+
+ for (i=scan_start[0]; i<dimSize[0]; i++) {
+ int curr = i*base;
+ int next = curr+base;
+
+ if (pos >= next) {
+ continue;
+ }
+
+ result[0] = i;
+ result[1] = pos-curr;
+ return;
+ }
+}
+
+
+static void simple_scan(int64_t* coordinateArray, uint64_t start, uint64_t count,
+ ADIOS_VARINFO* v, uint64_t* blockstart, uint64_t* blockcount,const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb)
+{
+ if (v->ndim == 1) { // to do: check
+ uint64_t i = 0;
+ uint64_t pos = 0; // pos in variable
+ for (i=0; i<count; i++) {
+ pos = coordinateArray[i+start] + blockstart[0];
+ if (bb == NULL) {
+ coordinateArray[i+start] = pos;
+ } else {
+ coordinateArray[i+start] = pos - bb->start[0];
+ }
+ }
+ return;
+ }
+
+ if (v->ndim == 2) {
+ uint64_t scan_start[2] = {0,0};
+ uint64_t result[2] = {0,0};
+ uint64_t pos = 0; // pos in variable
+ uint64_t i=0;
+ for (i=0; i<count; i++) {
+ pos = coordinateArray[i+start];
+ scan2d(blockcount, pos, result, scan_start) ;
+ scan_start[0] = result[0];
+
+ result[0] += blockstart[0];
+ result[1] += blockstart[1];
+ if (bb != NULL) {
+ coordinateArray[i+start] = getPosInBox(bb, bb->ndim, result, 0);
+ } else {
+ coordinateArray[i+start] = getPosInVariable(v, v->ndim, result, 0);
+ }
+ }
+ return;
+ }
+
+ if (v->ndim == 3) {
+ uint64_t scan_start[3] = {0,0,0}; //{blockstart[0],blockstart[1], blockstart[2]};
+ uint64_t result[3] = {0,0,0};
+ uint64_t pos = 0; // pos in variable
+ uint64_t i=0;
+ for (i=0; i<count; i++) {
+ pos = coordinateArray[i+start];
+ scan3d(blockcount, pos, result, scan_start) ;
+ scan_start[0] = result[0];
+ scan_start[1] = result[1];
+
+ result[0] += blockstart[0];
+ result[1] += blockstart[1];
+ result[2] += blockstart[2];
+
+ if (bb != NULL) {
+ coordinateArray[i+start] = getPosInBox(bb, bb->ndim, result, 0);
+ } else {
+ coordinateArray[i+start] = getPosInVariable(v, v->ndim, result, 0);
+ }
+
+ //printf(" %llu, %llu pos=%llu, (%llu, %llu, %llu) => [%lld] = %lld \n", i, start, pos, result[0], result[1], result[2], i+start, coordinateArray[i+start]);
+ }
+ }
+}
+
+static void arraymath_assign(uint64_t* left, uint64_t* right, int size)
+{
+ int i;
+ for (i=0; i<size; i++) {
+ left[i] = right[i];
+ }
+}
+
+static void arraymath_pluseq(uint64_t* left, uint64_t* right, int size)
+{
+ int i;
+ for (i=0; i<size; i++) {
+ left[i] += right[i];
+ }
+}
+
+static void arraymath_init(uint64_t* left, int size)
+{
+ int i;
+ for (i=0; i<size; i++) {
+ left[i] = 0;
+ }
+}
+
+
+static void recursive_scan(int64_t* coordinateArray, uint64_t start, uint64_t count, ADIOS_VARINFO* v,
+ uint64_t* blockstart, uint64_t* blockcount,const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb)
+{
+
+ uint64_t scan_start[v->ndim];
+ uint64_t result[v->ndim];
+
+ arraymath_init(scan_start, v->ndim);
+ arraymath_init(result, v->ndim);
+
+ uint64_t i=0;
+ uint64_t pos = 0;
+
+ uint64_t startBase=1;
+ for (i=1; i<v->ndim; i++) {
+ startBase *= blockcount[i];
+ }
+
+ for (i=0; i<count; i++) {
+ pos = coordinateArray[i+start];
+ scan_r2(v->ndim, blockcount, pos, result, scan_start, 0, 0, startBase) ;
+
+ arraymath_assign(scan_start, result, v->ndim);
+ arraymath_pluseq(result, blockstart, v->ndim);
+
+ if (bb != NULL) {
+ coordinateArray[i+start] = getPosInBox(bb, bb->ndim, result, 0);
+ } else {
+ coordinateArray[i+start] = getPosInVariable(v, v->ndim, result, 0);
+ }
+ }
+}
+
+static void fastscan(int64_t* coordinateArray, uint64_t start, uint64_t count, ADIOS_VARINFO* v, uint64_t* blockstart, uint64_t* blockcount,
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb)
+{
+ if (v->ndim <= 3) {
+ simple_scan(coordinateArray, start, count, v, blockstart, blockcount, bb);
+ } else {
+ recursive_scan(coordinateArray, start, count, v, blockstart, blockcount, bb);
+ }
+}
+
+//
+// map pos back to coordinates
+//
+static inline void posToSpace(uint64_t pos, const int isFortranClient,
+ const uint64_t * const dimSize , uint64_t * const coordinates, const int dim, const uint64_t* const start) {
+ uint32_t i;
+ uint64_t curr = pos;
+
+ if (isFortranClient) {
+ for (i = 0; i < dim; i++) {
+ uint64_t temp0 = curr/dimSize[i];
+ uint64_t temp1 = curr-temp0*dimSize[i];
+
+ coordinates[i] = temp1 + start[i];
+ curr = temp0;
+ //coordinates[i] = curr % dimSize[i]+start[i];
+ //curr /= dimSize[i];
+ }
+ } else {
+ // note using i from dim to 1 b/c i is uint32, will not be -1 for 0--.
+ // use unsigned to save compute time on div
+ for (i = dim ; i >= 1; i--) {
+ uint64_t temp0 = curr/dimSize[i-1];
+ uint64_t temp1 = curr-temp0*dimSize[i-1];
+ coordinates[i-1] = temp1 + start[i-1];
+ curr = temp0;
+ }
+ }
+}
+
+
+uint32_t* bitarray_create(uint64_t max)
+{
+ //uint32_t* result = malloc(BITNSLOTS(max) * sizeof(uint32_t));
+ //memset(result, 0, BITNSLOTS(max));
+ //uint32_t* result = (uint32_t *)calloc(0, BITNSLOTS(max) * sizeof(uint32_t));
+ uint32_t* result = (uint32_t *)calloc(BITNSLOTS(max), sizeof(uint32_t));
+ return result;
+}
+
+void bitarray_unsetbit(uint32_t* array, uint64_t pos)
+{
+ BITCLEAR(array, pos);
+}
+void bitarray_setbit(uint32_t* array, uint64_t pos)
+{
+ BITSET(array, pos);
+}
+
+static const unsigned char BitsSetTable256[256] =
+ {
+# define B2(n) n, n+1, n+1, n+2
+# define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2)
+# define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2)
+ B6(0), B6(1), B6(1), B6(2)
+ };
+
+//unsigned int v; // count the number of bits set in 32-bit value v
+uint32_t getSetBits(uint32_t v)
+{
+ uint32_t c = 0; // c is the total bits set in v
+
+ // Option 1:
+ c = BitsSetTable256[v & 0xff] +
+ BitsSetTable256[(v >> 8) & 0xff] +
+ BitsSetTable256[(v >> 16) & 0xff] +
+ BitsSetTable256[v >> 24];
+
+ /*
+ // Option 2:
+ unsigned char * p = (unsigned char *) &v;
+ c = BitsSetTable256[p[0]] +
+ BitsSetTable256[p[1]] +
+ BitsSetTable256[p[2]] +
+ BitsSetTable256[p[3]];
+ */
+ return c;
+}
+
+uint64_t bitarray_countHits(uint32_t* bitarray, uint64_t size) {
+ struct timespec startT;
+ casestudyLogger_getRealtime(&startT);
+
+ uint64_t i=0;
+ uint64_t countHitser = 0;
+ for (i=0; i<size; i++) {
+ countHitser += getSetBits(bitarray[i]);
+ }
+
+ //casestudyLogger_writeout(&startT, "count bit array hits ");
+ casestudyLogger_frame_writeout(&startT, "count bit");
+ return countHitser;
+}
+
+
+uint64_t bitarray_getHits(uint32_t* bitarray, uint64_t* result, uint64_t size, uint64_t start, uint64_t count)
+{
+ // printf("\n==> start=%ld count = %ld \n", start, count);
+
+ if (bitarray == NULL) {
+ return -1;
+ }
+
+ uint64_t i, j;
+ uint64_t hitCounter = 0;
+ uint64_t collected = 0;
+
+ for (i=0; i<size; i++) {
+ int currCount = getSetBits(bitarray[i]);
+ if (hitCounter + currCount > start) {
+ for (j=0; j<INT_BIT; j++) {
+ uint64_t bitpos = i*INT_BIT+j;
+ if (BITTEST(bitarray, bitpos)) {
+ hitCounter += 1;
+ if (hitCounter > start) {
+ result[collected] = bitpos;
+ collected ++;
+ //printf("bit at %ld is hit: %ld. ref: [ %ld th]\n", bitpos, hitCounter, collected);
+ }
+ if (collected == count) {
+ return collected;
+ }
+ }
+ }
+ break;
+ }
+ hitCounter += currCount;
+ }
+
+ hitCounter += collected;
+ //printf(" hit counter check: %ld\n", hitCounter);
+
+ uint64_t rock = i+1;
+ uint64_t lastrock = 0;
+
+ for (i=rock; i<size; i++) {
+ int currCount = getSetBits(bitarray[i]);
+ if (collected + currCount > count) {
+ lastrock = i;
+ break;
+ }
+ //collected += currCount;
+ for (j=0; j<INT_BIT; j++) {
+ uint64_t bitpos = i*INT_BIT + j;
+ if (BITTEST(bitarray, bitpos)) {
+ result[collected] = bitpos;
+ collected++;
+ }
+ }
+ }
+
+ hitCounter += collected;
+ // printf(" hit counter check: %ld, collected: %ld\n", hitCounter, collected);
+
+ if (lastrock == 0) {
+ //printf("done. \n");
+ return collected;
+ }
+
+ // check the last rock
+ rock = i;
+ for (i=0; i<INT_BIT; i++) {
+ uint64_t bitpos = rock*INT_BIT + i;
+ if (BITTEST(bitarray, bitpos)) {
+ result[collected] = bitpos;
+ collected ++;
+ //printf("bit at %ld is hit: %ld. ref: %ld th\n ", bitpos, hitCounter+collected, collected);
+ }
+ if (collected == count) {
+ break;
+ }
+ }
+
+ return collected;
+}
+
+
+uint64_t bitarray_countHitsNative(uint64_t max, uint32_t* bitarray1) {
+ uint64_t countHitser = 0;
+ uint64_t i;
+
+ // printf("array size= %ld \n", BITNSLOTS(max));
+ for (i=0; i<max; i++) {
+ if (BITTEST(bitarray1, i)) {
+ //printf(" ==> bit at: %ld is set. \n",i);
+ countHitser ++;
+ }
+ }
+
+ //printf("%ld\n", countHitser);
+ return countHitser;
+}
+
+void bitarray_or(uint32_t* bitarray0, uint32_t* bitarray1, uint32_t* bitarray3, uint64_t arraysize)
+{
+ uint64_t i;
+ for (i=0; i<arraysize; i++) {
+ bitarray3[i] = bitarray0[i] | bitarray1[i];
+ }
+}
+
+void bitarray_and(uint32_t* bitarray0, uint32_t* bitarray1, uint32_t* bitarray3, uint64_t arraysize)
+{
+ uint64_t i;
+ for (i=0; i<arraysize; i++) {
+ bitarray3[i] = bitarray0[i] & bitarray1[i];
+ }
+}
+
+
+
+
+
+
+
+
+
+
typedef struct {
double* _keys;
@@ -24,9 +494,9 @@ typedef struct {
ADIOS_QUERY* getFirstLeaf(ADIOS_QUERY* q);
-void getHandle(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q);
-
+void getHandle(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q, uint64_t blockSize);
+//#define __READ_BMS_AS_NEEDED__
/** A simple reader to be used by FastBit for index reconstruction. In
this simple case, the first argument is the whole array storing all the
@@ -38,7 +508,10 @@ void getHandle(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q);
//
static int adios_bmreader(void *ctx, uint64_t start,uint64_t count, uint32_t *buf)
{
-#ifdef _READ_BMS_AS_NEEDED
+ struct timespec startT;
+ casestudyLogger_getRealtime(&startT);
+
+#ifdef __READ_BMS_AS_NEEDED__
FASTBIT_INTERNAL* itn = (FASTBIT_INTERNAL*)ctx;
// read bms from start to count:
ADIOS_VARINFO * bmsV = common_read_inq_var (itn->_idxFile, itn->_bmsVarName);
@@ -52,6 +525,8 @@ static int adios_bmreader(void *ctx, uint64_t start,uint64_t count, uint32_t *bu
common_read_free_varinfo(bmsV);
common_read_selection_delete(bmsSel);
+ //casestudyLogger_bms_writeout(&startT,
+ casestudyLogger_bms_writeout(&startT, "bmreader_adv visited ");
return 0;
#else
const uint32_t *bms = (uint32_t*)ctx + start;
@@ -59,8 +534,12 @@ static int adios_bmreader(void *ctx, uint64_t start,uint64_t count, uint32_t *bu
for (j = 0; j < count; ++ j) {
buf[j] = bms[j];
}
+
+ //casestudyLogger_bms_writeout(&startT, "bmreader visited ");
+ casestudyLogger_bms_writeout(&startT, "bmreader visited ");
return 0;
#endif
+
}
@@ -95,7 +574,13 @@ void create_fastbit_internal (ADIOS_QUERY* q)
const char* basefileName = f->path;
MPI_Comm comm_dummy = MPI_COMM_SELF;
+
+ struct timespec idxStartT;
+ casestudyLogger_getRealtime(&idxStartT);
+
ADIOS_FILE* idxFile = fastbit_adios_util_getFastbitIndexFileToRead(basefileName, comm_dummy);
+ casestudyLogger_idx_writeout(&idxStartT, "index file loaded ");
+
create_fastbit_internal_idxFile (q, idxFile);
}
}
@@ -262,10 +747,10 @@ void getCoordinateFromPoints(uint64_t pos, const ADIOS_SELECTION_POINTS_STRUCT*
}
}
-
+/*
void getCoordinateFromBlock(uint64_t pos, const ADIOS_VARBLOCK* sel, int n, uint64_t* coordinates, int blockDim)
-{
- int fortran_order = futils_is_called_from_fortran();
+{
+ int fortran_order = futils_is_called_from_fortran();
int dimToSlice = n-1;
if (fortran_order == 1) {
@@ -275,23 +760,23 @@ void getCoordinateFromBlock(uint64_t pos, const ADIOS_VARBLOCK* sel, int n, uint
// log_debug("getCoordinateFromBlock: pos = %lld, n=%d, fortran_order? %d, dimToSlice %d\n", pos, n, fortran_order, dimToSlice);
if (n == 1) {
coordinates[n-1] = pos + sel->start[dimToSlice];
- log_debug(" coordinate [%d]=%lld\n", n-1, coordinates[n-1]);
+ //log_debug(" coordinate [%d]=%lld\n", n-1, coordinates[n-1]);
return ;
}
-
+
uint64_t lastDimSize= sel->count[dimToSlice];
- uint64_t res = pos % lastDimSize;
+ uint64_t res = pos % lastDimSize; // time consuming 25%
- //log_debug(" lastDim = %lld, res=%d \n", lastDimSize, res);
coordinates[n-1] = res + sel->start[dimToSlice];
uint64_t stepUp = (pos - res)/lastDimSize;
- log_debug(" coordinate [%d]=%lld\n", n-1, coordinates[n-1]);
+ //log_debug(" coordinate [%d]=%lld\n", n-1, coordinates[n-1]);
getCoordinateFromBlock(stepUp, sel, n-1, coordinates, blockDim);
}
-
+*/
//check point coordinates
//offset in the bounding box needs to be taken account
+ /*
void getCoordinateFromBox(uint64_t pos, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* sel, int n, uint64_t* coordinates)
{
int fortran_order = futils_is_called_from_fortran();
@@ -320,7 +805,7 @@ void getCoordinateFromBox(uint64_t pos, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT
getCoordinateFromBox(stepUp, sel, n-1, coordinates);
}
-
+ */
void getCoordinateFromVariable(uint64_t pos, const ADIOS_VARINFO* var, int n, uint64_t* coordinates)
{
if (n == 1) {
@@ -331,142 +816,1407 @@ void getCoordinateFromVariable(uint64_t pos, const ADIOS_VARINFO* var, int n, ui
uint64_t lastDimSize= var->dims[n-1];
uint64_t res = pos % lastDimSize;
- coordinates[n-1] = res;
- uint64_t stepUp = (pos - res)/lastDimSize;
+ coordinates[n-1] = res;
+ uint64_t stepUp = (pos - res)/lastDimSize;
+
+ getCoordinateFromVariable(stepUp, var, n-1, coordinates);
+}
+
+
+/* static ADIOS_VARINFO* getAdiosVariable(ADIOS_FILE* f, const char* varName)
+{
+ ADIOS_VARINFO * v = common_read_inq_var(f, varName);
+
+ if (v != NULL) {
+ log_debug(" found variable [%s] in file\n", varName);
+ return v;
+ }
+
+ return NULL;
+}*/
+
+
+
+//
+// Initialization is private business, Finalize is called by ADIOS when read is finalized
+//
+static int is_method_initialized = 0;
+static void adios_query_fastbit_init()
+{
+ const char* conffile = 0;
+#ifdef DEBUG
+ int msglvl = 200;
+#else
+ int msglvl = 0;
+#endif
+ if (!is_method_initialized) {
+ fastbit_init(conffile);
+ fastbit_set_verbose_level(msglvl);
+ log_debug("[fastbit has initialized with verbosity level = %d]\n", msglvl);
+ is_method_initialized = 1;
+ }
+}
+
+int adios_query_fastbit_finalize()
+{
+ if (is_method_initialized) {
+ fastbit_iapi_free_all();
+ fastbit_cleanup();
+ is_method_initialized = 0;
+ }
+ return 0;
+}
+
+
+
+int64_t getPosInBox(const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* sel, int n, uint64_t* spatialCoordinates, int fortran_order)
+{
+ if (sel->ndim <= 0) {
+ return -1;
+ }
+
+ //int fortran_order = futils_is_called_from_fortran();
+
+ int i=0;
+ if (n == sel->ndim) { // check validation once
+ for (i=0; i<sel->ndim; i++) {
+ int matchingBoxDim = i;
+ if (fortran_order == 1) {
+ matchingBoxDim = sel->ndim - 1 - i;
+ }
+ uint64_t min = sel->start[matchingBoxDim];
+ uint64_t max = sel->count[matchingBoxDim] + min;
+ if (spatialCoordinates[i] >= max) {
+ return -1;
+ }
+ if (spatialCoordinates[i] < min) {
+ return -1;
+ }
+ }
+ }
+
+ // spatial Coordinate is valid
+
+ if (fortran_order == 1) {
+ int matchingBoxDim = sel->ndim - n;
+ if (n == 1) {
+ //log_debug("n=1, c[0]=%lld , start[%d]=%lld", spatialCoordinates[0], matchingBoxDim, sel->start[matchingBoxDim]);
+ return spatialCoordinates[0] - sel->start[matchingBoxDim];
+ }
+ //log_debug("n=%d, c[n-1]=%lld, start/count[%d]= %lld/%lld \n", n, spatialCoordinates[n-1], matchingBoxDim, sel->start[matchingBoxDim], sel->count[matchingBoxDim]);
+ return (spatialCoordinates[n-1]- sel->start[matchingBoxDim]) + sel->count[matchingBoxDim] * getPosInBox(sel, n-1, spatialCoordinates, fortran_order);
+ } else {
+ if (n == 1) {
+ return spatialCoordinates[0]-sel->start[0];
+ }
+ return (spatialCoordinates[n-1]-sel->start[n-1]) + sel->count[n-1]*getPosInBox(sel, n-1, spatialCoordinates, fortran_order);
+ }
+}
+
+int64_t getPosInVariable(const ADIOS_VARINFO* v, int n, uint64_t* spatialCoordinates, int fortran_order)
+{
+ if (v->ndim <= 0) {
+ return -1;
+ }
+
+ // log_debug("getPosInVariables() v->dim[0]=%d sp[%d]=%lld\n", v->dims[0], n-1, spatialCoordinates[n-1]);
+
+ if (n == 1) {
+ return spatialCoordinates[0];
+ }
+
+ if (fortran_order == 1) {
+ int matchingBoxDim = v->ndim - n;
+ return (spatialCoordinates[n-1]) + v->dims[matchingBoxDim] * getPosInVariable(v, n-1, spatialCoordinates, fortran_order);
+ } else {
+ return spatialCoordinates[n-1] + v->dims[n-1]*getPosInVariable(v, n-1, spatialCoordinates, fortran_order);
+ }
+}
+
+
+int isSameRegion(const ADIOS_VARINFO* v, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb, int timestep)
+{
+ if (v->sum_nblocks > 1) {
+ return 0;
+ }
+
+ if (v->nsteps > 1) { // non streaming case
+ if (v->nblocks[timestep] > 1) // bb = block for this timestep
+ return 0;
+ }
+
+ if (bb == NULL) {
+ return 1;
+ }
+
+ int i=0;
+ for (i=0; i<v->ndim; i++) {
+ if (bb->start[i] != 0) {
+ return 0;
+ }
+ if (v->dims[i] != bb->count[i]) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+//
+// absBlockIdx is needed as this is what blockinfo[] takes to get measure of a block (in order to coordinates from a given 1-d pos)
+//
+int64_t getRelativeIdx(uint64_t currPosInBlock, const ADIOS_VARINFO* v, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb, int absBlockIdx, int timestep)
+{
+ ADIOS_VARBLOCK* blockSel = &(v->blockinfo[absBlockIdx]);
+
+ // only calculates when more than one block presented
+ int isFortranClient = futils_is_called_from_fortran();
+ if (bb == NULL) {
+ uint64_t spatialCoordinates[v->ndim];
+ posToSpace(currPosInBlock, isFortranClient, blockSel->count, spatialCoordinates, v->ndim, blockSel->start);
+ return getPosInVariable(v, v->ndim, spatialCoordinates, isFortranClient);
+ } else {
+ uint64_t spatialCoordinates[bb->ndim];
+ posToSpace(currPosInBlock, isFortranClient, blockSel->count, spatialCoordinates, bb->ndim, blockSel->start);
+ return getPosInBox(bb, bb->ndim, spatialCoordinates, isFortranClient);
+ }
+}
+
+/*
+int64_t getRelativeIdxInBoundingBox(uint64_t currPosInBlock, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb, const ADIOS_VARBLOCK* blockSel)
+{
+ uint64_t spatialCoordinates[bb->ndim];
+ //getCoordinateFromBlock(currPosInBlock, blockSel, bb->ndim, spatialCoordinates, bb->ndim);
+
+ int isFortranClient = futils_is_called_from_fortran();
+ posToSpace(currPosInBlock, isFortranClient, blockSel->count, spatialCoordinates, bb->ndim, blockSel->start);
+ return getPosInBox(bb, bb->ndim, spatialCoordinates, isFortranClient);
+}
+
+int64_t getRelativeIdxInVariable(uint64_t currPosInBlock, const ADIOS_VARINFO* v, const ADIOS_VARBLOCK* blockSel)
+{
+ uint64_t spatialCoordinates[v->ndim];
+ //getCoordinateFromBlock(currPosInBlock, blockSel, v->ndim, spatialCoordinates, v->ndim);
+ int isFortranClient = futils_is_called_from_fortran();
+ posToSpace(currPosInBlock, isFortranClient, blockSel->count, spatialCoordinates, v->ndim, blockSel->start);
+
+ return getPosInVariable(v, v->ndim, spatialCoordinates, isFortranClient);
+}
+*/
+//
+// the calculated block start/end are relative to given timestep
+//
+int getBlockCoveredOnBB(int* blockStart, int* blockEnd, uint64_t* sumBlocksBeforeThisTimeStep, ADIOS_QUERY* q, int timeStep)
+{
+ ADIOS_SELECTION* sel = q->sel;
+ ADIOS_VARINFO* v = q->varinfo;
+
+ int i=0;
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT *bb = NULL;
+ if (sel == NULL) {
+ *blockStart=0;
+ if (v->nsteps == 1) { // could be streaming open
+ *blockEnd = v->nblocks[0]-1;
+ } else {
+ *blockEnd = v->nblocks[timeStep] -1;
+ }
+ log_debug(" got blockStart = %d, blockEnd = %d\n", *blockStart, *blockEnd);
+ } else {
+ bb = &(sel->u.bb);
+ if (v->blockinfo == NULL) {
+ common_read_inq_var_blockinfo(q->file, v);
+ }
+ *blockStart = fastbit_adios_util_getRelativeBlockNumForPoint(v,bb->start,timeStep);
+ uint64_t end[v->ndim];
+ for (i=0; i<v->ndim; i++) {
+ end[i] = bb->start[i]+bb->count[i]-1;
+ }
+ *blockEnd = fastbit_adios_util_getRelativeBlockNumForPoint(v, end, timeStep);
+ log_debug(" figured blockStart = %d, blockEnd = %d\n", *blockStart, *blockEnd);
+ }
+
+ if ((*blockStart < 0) || (*blockEnd < 0) || (*blockStart > *blockEnd)) {
+ adios_error (err_invalid_query_value, "Query processing failed. Unable to continue using index. vid=%d, dim[0]=%lld\n", v->varid, v->dims[0]);
+ return -1;
+ }
+ casestudyLogger_setPrefix(" computed block ids to scan");
+
+ if (v->nsteps > 1) { // non streaming case
+ for (i=0;i<timeStep; i++) {
+ *sumBlocksBeforeThisTimeStep += v->nblocks[i];
+ }
+ }
+
+ return 0;
+} // getBlockCoveredOnBB
+
+
+void getIncrement(uint64_t absBlockIdx, uint64_t* increment, int packSize, int timeStep, ADIOS_VARINFO* v)
+{
+ int i=0;
+ for (i=0; i<packSize; i++) {
+ uint64_t blockSize = fastbit_adios_util_getBlockSize(v, timeStep, absBlockIdx+i);
+ if (i == 0) {
+ increment[i] = blockSize;
+ } else {
+ increment[i] = blockSize + increment[i-1];
+ }
+ }
+}
+
+void locateBlockFromPack(uint64_t currPosInPack, uint64_t* absBlockIdx, uint64_t* posInBlock, uint64_t* packIncrementByBlock, int packSize)
+{
+ if (currPosInPack > packIncrementByBlock[packSize-1]) {
+ *absBlockIdx=-1;
+ *posInBlock = -1;
+ printf(" ERROR: %llu th element will not be found in pack starting at block:%llu", currPosInPack, *absBlockIdx);
+ }
+
+ uint64_t packStarts = *absBlockIdx;
+ int i=0;
+ for (i=0; i<packSize; i++) {
+ if (currPosInPack < packIncrementByBlock[i]) {
+ *absBlockIdx = i + packStarts;
+ *posInBlock = packIncrementByBlock[i] - currPosInPack;
+ break;
+ }
+ }
+}
+
+int recursiveIdentify(uint64_t* packIncrementByBlock, uint64_t currPosInPack, int start, int end)
+{
+ //printf(".... start=%d end = %d, currpos=%llu \n", start, end, currPosInPack);
+ if (end - start == 1) {
+ if (currPosInPack > packIncrementByBlock[start]) {
+ //printf(" ===> %llu\n", end);
+ return end;
+ } else {
+ //printf(" ===> %llu\n", start);
+ return start;
+ }
+ }
+
+ int pos = (start+end)/2;
+
+ if (currPosInPack > packIncrementByBlock[pos]) {
+ return recursiveIdentify(packIncrementByBlock, currPosInPack, pos, end);
+ } else {
+ return recursiveIdentify(packIncrementByBlock, currPosInPack, start, pos);
+ }
+
+}
+int identifyBlockInPack(uint64_t* packIncrementByBlock, uint64_t currPosInPack, int packSize)
+{
+#ifdef SIZEN
+ int i=0;
+ for (i=0; i<packSize; i++) {
+ if (currPosInPack < packIncrementByBlock[i]) {
+ return i;
+ }
+ }
+#else
+ return recursiveIdentify(packIncrementByBlock, currPosInPack, 0, packSize);
+#endif
+ return -1;
+}
+// coordinateArray is hits within the whole pack
+// this function sorts the hits with actual blocks
+// say a pack has N blocks, relative block ids are from 0 to (N-1),
+// since hits are sorted, so we figure out start-a count-a rests in block-a
+// etc
+void sort(uint64_t* coordinateArray, uint64_t arraySize, uint64_t* packIncrementByBlock, uint64_t* starts, uint64_t* counts, int* relativeBlockIds, int packSize)
+{
+ int i=0;
+ int whichBlock;
+ uint64_t arrayCounter = 0;
+
+ for (i=0; i<packSize; i++) {
+ relativeBlockIds[i] = -1;
+ }
+
+ if (arraySize == 0) {
+ return;
+ }
+
+ relativeBlockIds[0] = identifyBlockInPack(packIncrementByBlock, coordinateArray[0], packSize);
+ starts[0] = 0;
+
+ int lastBlock = identifyBlockInPack(packIncrementByBlock, coordinateArray[arraySize -1], packSize);
+
+ if (relativeBlockIds[0] == lastBlock) {
+ counts[0] = arraySize;
+ return;
+ }
+
+ int bcounter =0 ;
+ while (true) {
+ for (arrayCounter=starts[bcounter]+1; arrayCounter<arraySize; arrayCounter++) {
+ //int bid = recursiveIdentify(packIncrementByBlock, coordinateArray[arrayCounter], relativeBlockIds[0], packSize);
+ int bid = identifyBlockInPack(packIncrementByBlock, coordinateArray[arrayCounter], packSize);
+ //int bid = coordinateArray[arrayCounter]/packIncrementByBlock[0];
+
+ if (bid > relativeBlockIds[bcounter]) {
+ counts[bcounter] = arrayCounter-starts[bcounter];
+ bcounter++;
+ starts[bcounter] = arrayCounter;
+ relativeBlockIds[bcounter] = bid;
+ break;
+ }
+ }
+
+ if (relativeBlockIds[bcounter] == lastBlock) {
+ counts[bcounter] = arraySize - starts[bcounter];
+ break;
+ }
+ }
+}
+
+
+void loopThrough(uint64_t dimMultiplier, uint64_t accumulatedPos, int currDim, ADIOS_VARINFO* var, uint64_t* regionStart, uint64_t* regionCount, uint32_t* bbSlice)
+{
+ int i = 0;
+ if (currDim == var->ndim-1) {
+ for (i=0; i<regionCount[currDim]; i++) {
+ uint64_t pos = accumulatedPos + (i+regionStart[currDim]);
+ bitarray_setbit(bbSlice, pos);
+ }
+ return;
+ }
+
+ for (i=0; i<regionCount[currDim]; i++) {
+ uint64_t m = dimMultiplier/var->dims[currDim];
+ uint64_t pos = accumulatedPos + (i+regionStart[currDim]) * m;
+ loopThrough(m, pos, currDim+1, var, regionStart, regionCount, bbSlice);
+ }
+}
+
+//
+// create bit slice that mark 1 if within BB, 0 elsewise
+//
+uint32_t* bitarray_create_markBB(uint64_t knownSize, ADIOS_VARINFO* var, uint64_t* regionStart, uint64_t* regionCount)
+{
+ uint32_t* bbSlice = bitarray_create(knownSize);
+
+ if (var->ndim == 1) {
+ int i=0;
+ for (i = 0; i<regionCount[0]; i++) {
+ uint64_t pos = (i+regionStart[0]);
+ bitarray_setbit(bbSlice, pos);
+ }
+ return bbSlice;
+ }
+
+ if (var->ndim == 2) {
+ int i=0, j=0;
+ for (i = 0; i<regionCount[0]; i++) {
+ for (j=0; j<regionCount[1]; j++) {
+ uint64_t pos = (i+regionStart[0]) * var->dims[1] + (j+regionStart[1]);
+ bitarray_setbit(bbSlice, pos);
+ }
+ }
+ return bbSlice;
+ }
+
+ /*
+ if (bb->ndim == 3) {
+ int x=0, y=0, z=0;
+ for (x=0; x<bb->count[0]; x++) {
+ for (y=0; y<bb->count[1]; y++) {
+ for (z=0; z<bb->count[2]; z++) {
+ uint64_t pos = (x+bb->start[0]) * var->dims[1]*var->dims[2] + (y+bb->start[1]) * var->dims[2] + (z+bb->start[2]);
+ bitarray_setbit(bbSlice, pos);
+ }
+ }
+ }
+ return bbSlice;
+ }
+ */
+ int i=0;
+ uint64_t dimOneToN=1;
+ for (i=1; i<var->ndim; i++) {
+ dimOneToN *= var->dims[i];
+ }
+
+ for (i = 0; i<regionCount[0]; i++) {
+ uint64_t pos = (i+regionStart[0]) * dimOneToN;
+ loopThrough(dimOneToN, pos, 1, var, regionStart, regionCount, bbSlice);
+ }
+
+ return bbSlice;
+}
+
+
+void loopThroughAndAssign(uint64_t varDimOneToN, uint64_t bbDimOneToN, uint64_t rpos_sofar, uint64_t pos_sofar, int currDim, ADIOS_VARINFO* var,
+ uint64_t* regionStart, uint64_t* regionCount, uint32_t* bitSlice, uint32_t* resultSlice, uint64_t knownSize)
+{
+ int i = 0;
+ if (currDim == var->ndim-1) {
+ for (i=0; i<regionCount[currDim]; i++) {
+ uint64_t rpos = rpos_sofar + (i+regionStart[currDim]);
+ uint64_t pos = pos_sofar + i;
+
+ if ((rpos < knownSize) && BITTEST(resultSlice, rpos)) {
+ bitarray_setbit(bitSlice, pos);
+ }
+ }
+ return;
+ }
+
+ for (i=0; i<regionCount[currDim]; i++) {
+ uint64_t mv = varDimOneToN/(var->dims[currDim]);
+ uint64_t mb = bbDimOneToN/(regionCount[currDim]);
+ uint64_t rpos = rpos_sofar + (i+regionStart[currDim]) * mv;
+ uint64_t pos = pos_sofar + (i) * mb;
+ loopThroughAndAssign(mv, mb, rpos, pos, currDim+1, var, regionStart, regionCount, bitSlice, resultSlice, knownSize);
+ }
+}
+
+void bitMapBack(uint32_t* bitSlice, uint32_t* resultSlice, ADIOS_VARINFO* var, uint64_t* regionStart, uint64_t* regionCount, uint64_t knownSize)
+{
+ int i=0;
+ if (var->ndim == 1) {
+ for (i=0; i<regionCount[0]; i++) {
+ uint64_t rpos = i+regionStart[0];
+ uint64_t pos = i;
+ if ((rpos < knownSize) && BITTEST(resultSlice, rpos)) {
+ bitarray_setbit(bitSlice, pos);
+ }
+ }
+ return;
+ }
+
+ uint64_t varDimOneToN=1;
+ uint64_t bbDimOneToN = 1;
+ for (i=1; i<var->ndim; i++) {
+ varDimOneToN *= var->dims[i];
+ bbDimOneToN *= regionCount[i];
+ }
+
+ for (i = 0; i<regionCount[0]; i++) {
+ uint64_t rpos = (i+regionStart[0]) * varDimOneToN;
+ uint64_t pos = i * bbDimOneToN;
+ loopThroughAndAssign(varDimOneToN, bbDimOneToN, rpos, pos, 1, var, regionStart, regionCount, bitSlice, resultSlice, knownSize);
+ }
+}
+
+ //
+ //
+void setBitArray(ADIOS_VARINFO* var, uint32_t* bitSlice, int64_t* coordinateArray, uint64_t count, uint64_t adjustment,
+ uint64_t* regionStart, uint64_t* regionCount, uint64_t eleStarts, uint64_t eleEnds)
+{
+ uint64_t knownSize = eleEnds+1; // at most this many elements. + 1 is due to C arrays starts at 0.
+
+ uint32_t* hitsSlice = bitarray_create(knownSize);
+ uint32_t* resultSlice = bitarray_create(knownSize);
+
+ uint32_t* bbSlice = bitarray_create_markBB(knownSize, var, regionStart, regionCount);
+
+ int k=0;
+ for (k=0; k<count; k++) {
+ int64_t currPosInVar = coordinateArray[k] + adjustment;
+ if (currPosInVar < knownSize) {
+ bitarray_setbit(hitsSlice, currPosInVar);
+ }
+ }
+
+ bitarray_and(hitsSlice, bbSlice, resultSlice, BITNSLOTS(knownSize));
+
+ // ok
+ int n = bitarray_countHits(resultSlice, BITNSLOTS(knownSize));
+
+
+ free(bbSlice);
+ free(hitsSlice);
+
+ bitMapBack(bitSlice, resultSlice, var, regionStart, regionCount, knownSize);
+
+ free(resultSlice);
+}
+
+
+void setBitArray0(ADIOS_VARINFO* var, uint32_t* bitSlice, int64_t* coordinateArray, uint64_t count, uint64_t adjustment,
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb, uint64_t eleStarts, uint64_t eleEnds)
+{
+ int isFortranClient = 0;
+
+ int k=0;
+ for (k=0; k<count; k++) {
+ int64_t currPosInBlock = coordinateArray[k] + adjustment;
+
+ if ((currPosInBlock >= eleStarts) && (currPosInBlock <= eleEnds)) {
+ uint64_t spatialCoordinates[bb->ndim];
+ getCoordinateFromVariable(currPosInBlock, var, var->ndim, spatialCoordinates);
+ //posToSpace(currPosInBlock, isFortranClient, bb->count, spatialCoordinates, bb->ndim, bb->start);
+ int64_t p = getPosInBox(bb, bb->ndim, spatialCoordinates, isFortranClient);
+ if (p >= 0) {
+ bitarray_setbit(bitSlice, p);
+ }
+ }
+ }
+}
+
+void checkHits(ADIOS_VARINFO* v, ADIOS_QUERY* q, uint64_t boxStart, uint64_t* regionStart, uint64_t* regionCount, uint64_t eleStarts, uint64_t eleEnds)
+{
+ uint64_t count = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ int64_t coordinateArray[count];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, count, 0);
+
+ // set bits
+ uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+ setBitArray(v, bitSlice, coordinateArray, count, boxStart, regionStart, regionCount, eleStarts, eleEnds);
+
+ free(q->dataSlice);
+ q->dataSlice = bitSlice;
+
+ fastbit_iapi_free_array_by_addr(q->dataSlice);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
+}
+
+int mEvaluateBBRangeFancyQueryOnWhole(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep, uint64_t* regionStart, uint64_t* regionCount)
+{
+ char bitsArrayName[60];
+ sprintf(bitsArrayName, "%ld_%d", fastbit_adios_getCurrentTimeMillis(), timeStep);
+
+ uint64_t s = 0;
+ uint64_t startRef = 0;
+
+ ADIOS_VARINFO* v = getFirstLeaf(q)->varinfo;
+
+ uint64_t eleStarts = 0;
+ uint64_t eleEnds = q->rawDataSize;
+
+ uint64_t totalEle = 1;
+
+ if ((regionStart == NULL) || (regionCount == NULL)) {
+ return mEvaluateTestFullRangeFancyQueryOnWhole(idxFile, q, timeStep);
+ }
+
+ eleStarts = getPosInVariable(v, v->ndim, regionStart, 0);
+ uint64_t end[v->ndim];
+ int coversAll = 1;
+ int i = 0;
+ for (i=0; i<v->ndim; i++) {
+ if (regionCount[i] > 0) {
+ end[i] = regionStart[i]+regionCount[i]-1;
+ } else {
+ end[i] = regionStart[i];
+ }
+
+ totalEle *= v->dims[i];
+ if (v->dims[i] > regionCount[i]) {
+ coversAll = 0;
+ }
+ }
+
+ if (coversAll == 1) {
+ return mEvaluateTestFullRangeFancyQueryOnWhole(idxFile, q, timeStep);
+ }
+ eleEnds = getPosInVariable(v, v->ndim, end, 0);
+
+
+ ADIOS_VARINFO* packVar = common_read_inq_var (idxFile, "elements");
+ uint64_t recommended_index_ele = 0;
+ common_read_schedule_read (idxFile, NULL, "elements", 0, 1, NULL, &recommended_index_ele);
+ common_read_perform_reads(idxFile, 1);
+
+ //printf("dataSize from: %llu to %llu, elements = %lu\n", eleStarts, eleEnds, recommended_index_ele);
+
+ uint64_t start[v->ndim], count[v->ndim];
+ uint64_t split = totalEle/recommended_index_ele;
+ uint32_t* bitSlice = NULL;
+
+ int64_t eleBoxStarts = -1;
+ if (split == 0) {
+ // index is on the whole timestep
+ getHandle(timeStep, 0, idxFile, q, totalEle);
+ checkHits(v, q, 0, regionStart, regionCount, eleStarts, eleEnds);
+ return;
+ } else {
+ int boxCounter = 0;
+ while (startRef < v->dims[0]) {
+ uint64_t count[v->ndim];
+ uint64_t boxSize = 1;
+
+ start[0] = startRef;
+ startRef += v->dims[0]/split;
+ if (startRef >= v->dims[0]) {
+ startRef = v->dims[0];
+ }
+ count[0] = startRef - start[0];
+ boxSize *=count[0];
+ for (s=1; s < v->ndim; s++) {
+ start[s] = 0;
+ count[s] = v->dims[s];
+ boxSize *= count[s];
+ }
+
+ if ((regionCount[0]+regionStart[0] >= start[0]) && (start[0]+count[0] > regionStart[0]))
+ {
+ if (eleBoxStarts == -1) {
+ eleBoxStarts = getPosInVariable(v, v->ndim, start, 0);
+ }
+ getHandle(timeStep, start[0], idxFile, q, boxSize);
+
+ // has to call evaluate before calling either register_selection_as_bit_array() or extend_bit_array()
+ uint64_t countMe = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ if (boxCounter == 0) {
+ fastbit_iapi_register_selection_as_bit_array(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ } else {
+ fastbit_iapi_extend_bit_array_with_selection(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ }
+ }
+
+ boxCounter++;
+ }
+ }
+
+ FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0.0);//createHandle(q, bitsArrayName);
+
+ fastbit_adios_util_checkNotNull(h, bitsArrayName);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = h;
+
+ checkHits(v, q, eleBoxStarts, regionStart, regionCount, eleStarts, eleEnds);
+}
+
+
+
+void checkHitsDefault(ADIOS_QUERY* q)
+{
+ uint64_t resultCount = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ int64_t coordinateArray[resultCount];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, resultCount, 0);
+ casestudyLogger_setPrefix(" got coordinates bb");
+
+ uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+
+ int k;
+ for (k=0; k<resultCount; k++) {
+ int64_t currPosInBlock = coordinateArray[k];
+ if (currPosInBlock >= 0) {
+ bitarray_setbit(bitSlice, currPosInBlock);
+ }
+ }
+
+ free(q->dataSlice);
+ q->dataSlice = bitSlice;
+
+ fastbit_iapi_free_array_by_addr(q->dataSlice);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
+
+}
+ //
+ //
+ //
+
+int mEvaluateTestFullRangeFancyQueryOnWhole(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
+{
+ char bitsArrayName[60];
+ sprintf(bitsArrayName, "%ld_%d", fastbit_adios_getCurrentTimeMillis(), timeStep);
+
+ uint64_t s = 0;
+ uint64_t startRef = 0;
+
+ ADIOS_VARINFO* packVar = common_read_inq_var (idxFile, "elements");
+ uint64_t recommended_index_ele = 0;
+ common_read_schedule_read (idxFile, NULL, "elements", 0, 1, NULL, &recommended_index_ele);
+ common_read_perform_reads(idxFile, 1);
+
+ uint64_t dataSize = q->rawDataSize;
+
+ uint64_t start[getFirstLeaf(q)->varinfo->ndim], count[getFirstLeaf(q)->varinfo->ndim];
+ uint64_t split = q->rawDataSize/recommended_index_ele;
+ //uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+ uint32_t* bitSlice = NULL;
+ ADIOS_VARINFO* v = getFirstLeaf(q)->varinfo;
+
+ if (split == 0) {
+ // index is on the whole timestep
+ getHandle(timeStep, 0, idxFile, q, dataSize);
+
+ checkHitsDefault(q);
+ return;
+ } else {
+ int boxCounter = 0;
+ while (startRef < v->dims[0]) {
+ uint64_t count[v->ndim];
+ uint64_t boxSize = 1;
+
+ start[0] = startRef;
+ startRef += v->dims[0]/split;
+ if (startRef >= v->dims[0]) {
+ startRef = v->dims[0];
+ }
+ count[0] = startRef - start[0];
+ boxSize *=count[0];
+ for (s=1; s < v->ndim; s++) {
+ start[s] = 0;
+ count[s] = v->dims[s];
+ boxSize *= count[s];
+ }
+
+ //getHandleFromBlockAtLeafQuery(timeStep, start[0], idxFile, q, boxSize);
+ //
+ getHandle(timeStep, start[0], idxFile, q, boxSize);
+
+ // has to call evaluate before calling either register_selection_as_bit_array() or extend_bit_array()
+ uint64_t countMe = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ if (boxCounter == 0) {
+ fastbit_iapi_register_selection_as_bit_array(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ } else {
+ fastbit_iapi_extend_bit_array_with_selection(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ }
+
+ boxCounter++;
+ }
+ }
+
+ FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0.0);//createHandle(q, bitsArrayName);
+ fastbit_adios_util_checkNotNull(h, bitsArrayName);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = h;
+
+ checkHitsDefault(q);
+}
+
+
+ // with fancy query, on leaf node
+int mEvaluateTestFullRange(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
+{
+
+ char bitsArrayName[60];
+ sprintf(bitsArrayName, "%ld_%d_%d", fastbit_adios_getCurrentTimeMillis(), q->varinfo->varid, timeStep);
+
+ uint64_t s = 0;
+ uint64_t dataSize = 1;
+ uint64_t start[q->varinfo->ndim], count[q->varinfo->ndim];
+ for (s=0; s<q->varinfo->ndim; s++) {
+ dataSize *= q->varinfo->dims[s];
+ }
+
+ uint64_t startRef = 0;
+
+ ADIOS_VARINFO* packVar = common_read_inq_var (idxFile, "elements");
+ uint64_t recommended_index_ele = 0;
+ common_read_schedule_read (idxFile, NULL, "elements", 0, 1, NULL, &recommended_index_ele);
+ common_read_perform_reads(idxFile, 1);
+
+ //printf("dataSize = %llu, elements = %lu\n", dataSize, recommended_index_ele);
+
+ uint64_t split = dataSize/recommended_index_ele;
+ //uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+ uint32_t* bitSlice = NULL;
+
+ if (split == 0) {
+ // index is on the whole timestep
+ getHandleFromBlockAtLeafQuery(timeStep, 0, idxFile, q, q->rawDataSize);
+ uint64_t count = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ int64_t coordinateArray[count];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, count, 0);
+
+ int k=0;
+ // set bits
+ bitSlice = bitarray_create(q->rawDataSize);
+ for (k=0; k<count; k++) {
+ int64_t currPosInBlock = coordinateArray[k];
+ if (currPosInBlock >= 0) {
+ bitarray_setbit(bitSlice, currPosInBlock);
+ }
+ }
+
+ free(q->dataSlice);
+ q->dataSlice = bitSlice;
+
+ fastbit_iapi_free_array_by_addr(q->dataSlice);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
+ return;
+ } else {
+ int boxCounter = 0;
+ while (startRef < q->varinfo->dims[0]) {
+ uint64_t count[q->varinfo->ndim];
+ uint64_t boxSize = 1;
+
+ start[0] = startRef;
+ startRef += q->varinfo->dims[0]/split;
+ if (startRef >= q->varinfo->dims[0]) {
+ startRef = q->varinfo->dims[0];
+ }
+ count[0] = startRef - start[0];
+ boxSize *=count[0];
+ for (s=1; s < q->varinfo->ndim; s++) {
+ start[s] = 0;
+ count[s] = q->varinfo->dims[s];
+ boxSize *= count[s];
+ }
+
+ getHandleFromBlockAtLeafQuery(timeStep, start[0], idxFile, q, boxSize);
+ /*
+ // index is on box identified by start/count
+ uint64_t resultCount = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ int64_t coordinateArray[resultCount];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, resultCount, 0);
+
+ int64_t startPosInVar = getPosInVariable(q->varinfo, q->varinfo->ndim, start, 0);
+ printf("result count=%lu, startPos=%lld, (%llu, %llu, %llu) \n", resultCount, startPosInVar, start[0], start[1], start[2]);
+
+ int k=0;
+ // set bits
+ for (k=0; k<resultCount; k++) {
+ int64_t currPosInBlock = coordinateArray[k]+startPosInVar;
+ if (currPosInBlock >= 0) {
+ bitarray_setbit(bitSlice, currPosInBlock);
+ }
+ }
+ */
+
+ // has to call evaluate before calling either register_selection_as_bit_array() or extend_bit_array()
+ uint64_t countMe = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ if (boxCounter == 0) {
+ fastbit_iapi_register_selection_as_bit_array(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ } else {
+ fastbit_iapi_extend_bit_array_with_selection(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ }
+
+ boxCounter++;
+ }
+ }
+
+ FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0.0);//createHandle(q, bitsArrayName);
+
+ fastbit_adios_util_checkNotNull(h, bitsArrayName);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = h;
+
+ uint64_t resultCount = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ //printf("resultCount = %llu\n", resultCount);
+ int64_t coordinateArray[resultCount];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, resultCount, 0);
+ casestudyLogger_setPrefix(" got coordinates bb");
+
+ if (resultCount > q->rawDataSize/2) {
+ int k;
+ bitSlice = bitarray_create(q->rawDataSize);
+
+ for (k=0; k<resultCount; k++) {
+ int64_t currPosInBlock = coordinateArray[k];
+ if (currPosInBlock >= 0) {
+ bitarray_setbit(bitSlice, currPosInBlock);
+ }
+ }
+
+ } else {
+ bitSlice = bitarray_create(q->rawDataSize);
+ int k;
+ for (k=0; k<resultCount; k++) {
+ int64_t currPosInBlock = coordinateArray[k];
+ if (currPosInBlock >= 0) {
+ bitarray_setbit(bitSlice, currPosInBlock);
+ }
+ }
+ }
+
+
+ free(q->dataSlice);
+ q->dataSlice = bitSlice;
+
+ fastbit_iapi_free_array_by_addr(q->dataSlice);
+
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
+
+}
+
+
+//
+// idx can be based on (m)ultiple blocks
+//
+int mEvaluateWithIdxOnBBoxWithBitArrayOnVar(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
+{
+ int blockStart=0; // relative
+ int blockEnd = 0; // relative
+
+ uint64_t sumBlocksBeforeThisTimeStep = 0;
+
+ int i=0;
+
+ if (getBlockCoveredOnBB(&blockStart, &blockEnd, &sumBlocksBeforeThisTimeStep, q, timeStep) != 0) {
+ return -1;
+ }
+
+ uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+
+ int rank;
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ char bitsArrayName[60];
+ sprintf(bitsArrayName, "%ld_%d_%d_%d", fastbit_adios_getCurrentTimeMillis(), q->varinfo->varid, timeStep, rank);
+
+ uint64_t currBlockIdx = blockStart;
+
+ casestudyLogger_setPrefix(" start scanning");
+ char casestudyLoggerPrefix[30];
+
+ ADIOS_VARINFO* packVar = common_read_inq_var (idxFile, "pack");
+ int packSize = -1;
+ common_read_schedule_read (idxFile, NULL, "pack", 0, 1, NULL, &packSize);
+ common_read_perform_reads(idxFile, 1);
+
+ uint64_t virtualBlockStart = blockStart/packSize;
+ uint64_t virtualBlockEnds = blockEnd/packSize;
+
+ if (q->file->is_streaming == 1) {
+ if (packSize > q->varinfo->sum_nblocks) {
+ packSize = q->varinfo->sum_nblocks;
+ }
+ } else {
+ if (packSize > q->varinfo->nblocks[timeStep]) {
+ packSize = q->varinfo->nblocks[timeStep];
+ }
+ }
+
+
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT *bb = NULL;
+ if (q->sel != NULL) {
+ bb = &(q->sel->u.bb);
+ }
+
+ int k=0;
+ uint64_t absBlockIdx = 0;
+
+ for (currBlockIdx= virtualBlockStart; currBlockIdx <= virtualBlockEnds; currBlockIdx++) {
+ //getHandle(timeStep, currBlockIdx*packSize, idxFile, q);
+ absBlockIdx = currBlockIdx*packSize+sumBlocksBeforeThisTimeStep;
+
+ uint64_t packIncrementByBlock[packSize];
+ if (q->file->is_streaming == 1) {
+ getIncrement(absBlockIdx, packIncrementByBlock, packSize, -1, q->varinfo);
+ } else {
+ getIncrement(absBlockIdx, packIncrementByBlock, packSize, timeStep, q->varinfo);
+ }
+
+ getHandleFromBlockAtLeafQuery(timeStep, currBlockIdx*packSize, idxFile, q, packIncrementByBlock[packSize-1]);
+
+ if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle == 0) {
+ log_warn(" Unable to construct fastbit query with NULL. Use _no_o idx method \n");
+ return -1;
+ }
+
+ sprintf(casestudyLoggerPrefix, "block:%llu", currBlockIdx);
+ casestudyLogger_setPrefix(casestudyLoggerPrefix);
+
+ struct timespec evalStartT; casestudyLogger_getRealtime(&evalStartT);
+ uint64_t count = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ int64_t coordinateArray[count];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, count, 0);
+
+ casestudyLogger_pro_writeout(&evalStartT, "fastbitevaluated");
+ struct timespec frameStartT; casestudyLogger_getRealtime(&frameStartT);
+
+ clear_fastbit_internal_recursive(q);
+
+ if (isSameRegion(q->varinfo, bb, timeStep)) {
+ // bb covers all
+ // no need to do mapping , to do: check
+ } else {
+ uint64_t posInBlock;
+ int isFortranClient = futils_is_called_from_fortran();
+ if (isFortranClient) { // to do: check
+ for (k=0; k<count; k++) {
+ uint64_t currPosInPack = coordinateArray[k];
+ locateBlockFromPack(currPosInPack, &absBlockIdx, &posInBlock, packIncrementByBlock, packSize);
+ coordinateArray[k] = getRelativeIdx(posInBlock, q->varinfo, bb, absBlockIdx, timeStep);
+ }
+ } else { // fastscan on c-clients
+ uint64_t starts[packSize]; uint64_t counts[packSize]; int relativeBlockIds[packSize];
+ sort(coordinateArray, count, packIncrementByBlock, starts, counts, relativeBlockIds, packSize);
+
+ for (k=0; k<packSize; k++) {
+ if (relativeBlockIds[k] >= 0) {
+ uint64_t currIdx = absBlockIdx + relativeBlockIds[k];
+ //printf("starts[%d] = %llu counts[%d] = %llu, relativeIdx=%lld, hits=%llu \n", k, starts[k], k, counts[k], relativeBlockIds[k], count);
+ ADIOS_VARBLOCK* blockSel = &(q->varinfo->blockinfo[currIdx]);
+ if (relativeBlockIds[k] > 0) {
+ int m = 0;
+ for (m =starts[k]; m<starts[k]+counts[k]; m++) {
+ //printf(" adjust coordinateArray[%ld], %lld - %lld \n", m, coordinateArray[m], packIncrementByBlock[relativeBlockIds[k]-1]);
+ coordinateArray[m] = coordinateArray[m] - packIncrementByBlock[relativeBlockIds[k]-1];
+
+ }
+ }
+ fastscan(coordinateArray, starts[k], counts[k], q->varinfo, blockSel->start, blockSel->count, bb);
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ // set bits
+ for (k=0; k<count; k++) {
+ int64_t currPosInSel = coordinateArray[k];
+ if (currPosInSel >= 0) {
+ bitarray_setbit(bitSlice, currPosInSel);
+ }
+ }
+
+ //casestudyLogger_frame_writeout(&frameStartT, "block processed");
+ casestudyLogger_frame_writeout(&frameStartT, "block processed");
+ log_debug("----\n");
+ }
+
+ casestudyLogger_setPrefix(" blocksProcessedIndividually!");
+
+ //return fastbit_selection_create(dataType, dataOfInterest, dataSize, compareOp, &vv);
+
+ free(q->dataSlice);
+ q->dataSlice = bitSlice;
+
+ fastbit_iapi_free_array_by_addr(q->dataSlice);
+
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
+ //fastbit_adios_util_checkNotNull(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, bitsArrayName);
+}
+//
+// for index that based on one block
+//
+int evaluateWithIdxOnBBoxWithBitArrayOnVar0(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
+{
+ int blockStart=0; // relative
+ int blockEnd = 0; // relative
+ int i=0;
+
+ ADIOS_SELECTION* sel = q->sel;
+ ADIOS_VARINFO* v = q->varinfo;
+
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT *bb = NULL;
+ if (sel == NULL) {
+ blockStart=0;
+ if (v->nsteps == 1) { // could be streaming open
+ blockEnd = v->nblocks[0]-1;
+ } else {
+ blockEnd = v->nblocks[timeStep] -1;
+ }
+ log_debug(" got blockStart = %d, blockEnd = %d\n", blockStart, blockEnd);
+ } else {
+ bb = &(sel->u.bb);
+ if (v->blockinfo == NULL) {
+ common_read_inq_var_blockinfo(q->file, v);
+ }
+ blockStart = fastbit_adios_util_getRelativeBlockNumForPoint(v,bb->start,timeStep);
+ uint64_t end[v->ndim];
+ for (i=0; i<v->ndim; i++) {
+ end[i] = bb->start[i]+bb->count[i]-1;
+ }
+ blockEnd = fastbit_adios_util_getRelativeBlockNumForPoint(v, end, timeStep);
+ log_debug(" figured blockStart = %d, blockEnd = %d\n", blockStart, blockEnd);
+ }
+
+ if ((blockStart < 0) || (blockEnd < 0) || (blockStart > blockEnd)) {
+ adios_error (err_invalid_query_value, "Query processing failed. Unable to continue using index. vid=%d, dim[0]=%lld\n", v->varid, v->dims[0]);
+ return -1;
+ }
+
+ casestudyLogger_setPrefix(" computed block ids to scan");
+
+ uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+
+ int rank;
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ char bitsArrayName[60];
+ sprintf(bitsArrayName, "%ld_%d_%d_%d", fastbit_adios_getCurrentTimeMillis(), v->varid, timeStep, rank);
+
+ uint64_t currBlockIdx = blockStart;
+
+ uint64_t sumBlocksBeforeThisTimeStep = 0;
+ if (v->nsteps > 1) { // non streaming case
+ for (i=0;i<timeStep; i++) {
+ sumBlocksBeforeThisTimeStep += v->nblocks[i];
+ }
+ }
+
+ casestudyLogger_setPrefix(" start scanning");
+ char casestudyLoggerPrefix[30];
+
+ for (currBlockIdx=blockStart; currBlockIdx <= blockEnd; currBlockIdx++) {
+ getHandle(timeStep, currBlockIdx, idxFile, q, 0);
+ if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle == 0) {
+ log_warn(" Unable to construct fastbit query with NULL. Use _no_o idx method \n");
+ return -1;
+ }
+
+ sprintf(casestudyLoggerPrefix, "block:%llu", currBlockIdx);
+ casestudyLogger_setPrefix(casestudyLoggerPrefix);
+
+ struct timespec evalStartT;
+ casestudyLogger_getRealtime(&evalStartT);
+
+ uint64_t count = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ int64_t coordinateArray[count];
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, count, 0);
+
+ casestudyLogger_pro_writeout(&evalStartT, "fastbitevaluated");
+
+ struct timespec frameStartT;
+ casestudyLogger_getRealtime(&frameStartT);
+ clear_fastbit_internal_recursive(q);
- getCoordinateFromVariable(stepUp, var, n-1, coordinates);
-}
+ int absBlockIdx = currBlockIdx+sumBlocksBeforeThisTimeStep;
+ int k=0;
+ int isDefaultSelection = isSameRegion(v, bb, timeStep);
+ /*
+ for (k=0; k<count; k++) {
+ uint64_t currPosInBlock = coordinateArray[k];
+ int64_t currPos = currPosInBlock;
+
+ if (!isDefaultSelection) {
+ currPos = getRelativeIdx(currPosInBlock, v, bb, absBlockIdx, timeStep);
+ }
-/* static ADIOS_VARINFO* getAdiosVariable(ADIOS_FILE* f, const char* varName)
-{
- ADIOS_VARINFO * v = common_read_inq_var(f, varName);
+ log_debug("%lld th in block[%d], => in actual box %lld \n", currPosInBlock, absBlockIdx, currPos);
+ if (currPos >= 0) {
+ #ifdef BITARRAY
+ bitarray_setbit(bitSlice, currPos);
+ #else
+ bitSlice[currPos] = 1;
+ #endif
+ }
+ }
+ */
+ if (isDefaultSelection) {
+ // no need to do mapping , to do: check
+ } else {
+ int isFortranClient = futils_is_called_from_fortran();
+ if (isFortranClient) { // to do: check
+ for (k=0; k<count; k++) {
+ uint64_t currPosInBlock = coordinateArray[k];
+ coordinateArray[k] = getRelativeIdx(currPosInBlock, v, bb, absBlockIdx, timeStep);
+ }
+ } else { // fastscan on c-clients
+ ADIOS_VARBLOCK* blockSel = &(v->blockinfo[absBlockIdx]);
+ fastscan(coordinateArray, 0, count, v, blockSel->start, blockSel->count, bb);
+ }
+ }
- if (v != NULL) {
- log_debug(" found variable [%s] in file\n", varName);
- return v;
- }
+ // set bits
+ for (k=0; k<count; k++) {
+ int64_t currPosInBlock = coordinateArray[k];
+ if (currPosInBlock >= 0) {
+ bitarray_setbit(bitSlice, currPosInBlock);
+ }
+ }
+
+ //casestudyLogger_frame_writeout(&frameStartT, "block processed");
+ casestudyLogger_pro_writeout(&frameStartT, "block processed");
+ log_debug("----\n");
+ }
- return NULL;
-}*/
+ casestudyLogger_setPrefix(" blocksProcessedIndividually!");
+ //return fastbit_selection_create(dataType, dataOfInterest, dataSize, compareOp, &vv);
+ free(q->dataSlice);
+ q->dataSlice = bitSlice;
-//
-// Initialization is private business, Finalize is called by ADIOS when read is finalized
-//
-static int is_method_initialized = 0;
-static void adios_query_fastbit_init()
-{
- const char* conffile = 0;
-#ifdef DEBUG
- int msglvl = 200;
-#else
- int msglvl = 0;
-#endif
- if (!is_method_initialized) {
- fastbit_init(conffile);
- fastbit_set_verbose_level(msglvl);
- log_debug("[fastbit has initialized with verbosity level = %d]\n", msglvl);
- is_method_initialized = 1;
- }
+ fastbit_iapi_free_array_by_addr(q->dataSlice);
+
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
+ //fastbit_adios_util_checkNotNull(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, bitsArrayName);
}
-int adios_query_fastbit_finalize()
+
+int isSameBB(ADIOS_QUERY* q, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb)
{
- if (is_method_initialized) {
- fastbit_iapi_free_all();
- fastbit_cleanup();
- is_method_initialized = 0;
+ if (q->left == NULL) {
+ if (q->sel != NULL) {
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* cbb = &(q->sel->u.bb);
+ int i=0;
+ for (i=0; i<bb->ndim; i++) {
+ if (bb->start[i] != cbb->start[i]) {
+ return 0;
+ }
+ if (bb->count[i] != cbb->count[i]) {
+ return 0;
+ }
+ }
+ return 1;
+ }
+ return 0; // skip furthur investigation
}
+ if (isSameBB(q->left, bb) && isSameBB(q->right, bb)) {
+ return 1;
+ }
+
return 0;
}
+// roughly
+int isBasedOnSameBB(ADIOS_QUERY* q) {
+ if (q->left == NULL) { // leaf query, ok
+ return 1;
+ }
-
-
-int64_t getPosInBox(const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* sel, int n, uint64_t* spatialCoordinates)
-{
- if (sel->ndim <= 0) {
- return -1;
+ if (getFirstLeaf(q)->sel == NULL) {
+ return 0;
}
- int fortran_order = futils_is_called_from_fortran();
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb = &(getFirstLeaf(q)->sel->u.bb);
- int i=0;
- if (n == sel->ndim) { // check validation once
- for (i=0; i<sel->ndim; i++) {
- int matchingBoxDim = i;
- if (fortran_order == 1) {
- matchingBoxDim = sel->ndim - 1 - i;
- }
- uint64_t min = sel->start[matchingBoxDim];
- uint64_t max = sel->count[matchingBoxDim] + min;
- if (spatialCoordinates[i] >= max) {
- return -1;
- }
- if (spatialCoordinates[i] < min) {
- return -1;
- }
+ if (isSameBB(q->left, bb) && isSameBB(q->right, bb)) {
+ return 1;
+ }
+ return 0;
+}
+ //
+ // in a general case, left query can have a different bb than right query
+ // thus the index alighment is different. e.g. left ([0,0]-[N,N]), right ([N, N] - [2N, 2N])
+ // index starts at 0 for left but something different likely for right query.
+ // therefore get handle on each leaf and combine is not right, as handles would be covering more than the actual data size.
+ // and each leaf will vary
+ //
+// we identify the case when bb is the same through all the leaves,
+// then we do composite query in fastbit to get best efficiency
+int evaluateWithIdxOnBoundingBoxWithBitArray(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
+{
+
+ if (isBasedOnSameBB(q) > 0) {
+ if (getFirstLeaf(q)->sel != NULL) {
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb = &(getFirstLeaf(q)->sel->u.bb);
+ mEvaluateBBRangeFancyQueryOnWhole(idxFile, q, timeStep, bb->start, bb->count);
+ } else {
+ mEvaluateBBRangeFancyQueryOnWhole(idxFile, q, timeStep, NULL, NULL);
}
+ return 0;
}
- // spatial Coordinate is valid
- if (fortran_order == 1) {
- int matchingBoxDim = sel->ndim - n;
- if (n == 1) {
- //log_debug("n=1, c[0]=%lld , start[%d]=%lld", spatialCoordinates[0], matchingBoxDim, sel->start[matchingBoxDim]);
- return spatialCoordinates[0] - sel->start[matchingBoxDim];
- }
- //log_debug("n=%d, c[n-1]=%lld, start/count[%d]= %lld/%lld \n", n, spatialCoordinates[n-1], matchingBoxDim, sel->start[matchingBoxDim], sel->count[matchingBoxDim]);
- return (spatialCoordinates[n-1]- sel->start[matchingBoxDim]) + sel->count[matchingBoxDim] * getPosInBox(sel, n-1, spatialCoordinates);
+ //ADIOS_SELECTION* sel = q->sel;
+ ADIOS_VARINFO* v = q->varinfo;
+
+ create_fastbit_internal(q);
+ casestudyLogger_setPrefix(" created fastbit internal ");
+
+ if (v == NULL) {
+ ADIOS_QUERY* left = (ADIOS_QUERY*)(q->left);
+ ADIOS_QUERY* right = (ADIOS_QUERY*)(q->right);
+
+ if (evaluateWithIdxOnBoundingBoxWithBitArray(idxFile, left, timeStep) < 0) {
+ return -1;
+ }
+ if (evaluateWithIdxOnBoundingBoxWithBitArray(idxFile, right, timeStep) < 0) {
+ return -1;
+ }
+
+ casestudyLogger_setPrefix(" merge bitarray ");
+ free(q->dataSlice);
+ q->dataSlice = bitarray_create(q->rawDataSize);
+ if (q->combineOp == ADIOS_QUERY_OP_OR) {
+ bitarray_or((uint32_t*)(left->dataSlice), (uint32_t*)(right->dataSlice), (uint32_t*)(q->dataSlice), BITNSLOTS(q->rawDataSize));
+ } else {
+ bitarray_and((uint32_t*)(left->dataSlice), (uint32_t*)(right->dataSlice), (uint32_t*)(q->dataSlice), BITNSLOTS(q->rawDataSize));
+ }
+ free(left->dataSlice);
+ free(right->dataSlice);
+ left->dataSlice = 0;
+ right->dataSlice = 0;
+ return 0;
} else {
- if (n == 1) {
- return spatialCoordinates[0]-sel->start[0];
- }
- return (spatialCoordinates[n-1]-sel->start[n-1]) + sel->count[n-1]*getPosInBox(sel, n-1, spatialCoordinates);
+ // is a leaf
+ if (q->rawDataSize == 0) {
+ return 0;
+ }
+ //return mEvaluateWithIdxOnBBoxWithBitArrayOnVar(idxFile, q, timeStep);
+ //!!return mEvaluateTestFullRange(idxFile, q, timeStep);
+ if (getFirstLeaf(q)->sel != NULL) {
+ const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb = &(getFirstLeaf(q)->sel->u.bb);
+ mEvaluateBBRangeFancyQueryOnWhole(idxFile, q, timeStep, bb->start, bb->count);
+ } else {
+ mEvaluateBBRangeFancyQueryOnWhole(idxFile, q, timeStep, NULL, NULL);
+ }
+ return 0;
+
}
+
}
-int64_t getPosInVariable(const ADIOS_VARINFO* v, int n, uint64_t* spatialCoordinates)
-{
- if (v->ndim <= 0) {
- return -1;
- }
- //
- // no need for fortran order here.
- //
- log_debug("getPosInVariables() v->dim[0]=%d sp[%d]=%lld\n", v->dims[0], n-1, spatialCoordinates[n-1]);
+int evaluateWithIdxOnBlockWithBitArray(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
+{
+
+ ADIOS_VARINFO* v = q->varinfo;
- if (n == 1) {
- return spatialCoordinates[0];
- }
+ create_fastbit_internal(q);
+ casestudyLogger_setPrefix(" created fastbit internal ");
- return spatialCoordinates[n-1] + v->dims[n-1]*getPosInVariable(v, n-1, spatialCoordinates);
-}
+ if (v == NULL) {
+ ADIOS_QUERY* left = (ADIOS_QUERY*)(q->left);
+ ADIOS_QUERY* right = (ADIOS_QUERY*)(q->right);
+
+ if (evaluateWithIdxOnBlockWithBitArray(idxFile, left, timeStep) < 0) {
+ return -1;
+ }
+ if (evaluateWithIdxOnBlockWithBitArray(idxFile, right, timeStep) < 0) {
+ return -1;
+ }
+ casestudyLogger_setPrefix(" merge bitarray ");
+ free(q->dataSlice);
+ q->dataSlice = bitarray_create(q->rawDataSize);
+ if (q->combineOp == ADIOS_QUERY_OP_OR) {
+ bitarray_or((uint32_t*)(left->dataSlice), (uint32_t*)(right->dataSlice), (uint32_t*)(q->dataSlice), BITNSLOTS(q->rawDataSize));
+ } else {
+ bitarray_and((uint32_t*)(left->dataSlice), (uint32_t*)(right->dataSlice), (uint32_t*)(q->dataSlice), BITNSLOTS(q->rawDataSize));
+ }
+ free(left->dataSlice);
+ free(right->dataSlice);
+ left->dataSlice = 0;
+ right->dataSlice = 0;
+ return 0;
+ } else {
+ // is a leaf
+ if (q->rawDataSize == 0) {
+ return 0;
+ }
-int64_t getRelativeIdxInBoundingBox(uint64_t currPosInBlock, const ADIOS_SELECTION_BOUNDINGBOX_STRUCT* bb, const ADIOS_VARBLOCK* blockSel)
-{
- uint64_t spatialCoordinates[bb->ndim];
- getCoordinateFromBlock(currPosInBlock, blockSel, bb->ndim, spatialCoordinates, bb->ndim);
- return getPosInBox(bb, bb->ndim, spatialCoordinates);
-}
+ if (q->sel != NULL) {
+ const ADIOS_SELECTION_WRITEBLOCK_STRUCT *wb = &(q->sel->u.block);
+
+ int absBlockCounter = wb->index;
+ if (!q->file->is_streaming)
+ absBlockCounter = query_utils_getGlobalWriteBlockId(wb->index, timeStep, v);
+
+ if (v->blockinfo == NULL) {
+ common_read_inq_var_blockinfo(q->file, v);
+ }
+
+ ADIOS_VARBLOCK* blockSel = &(v->blockinfo[absBlockCounter]);
+
+ mEvaluateBBRangeFancyQueryOnWhole(idxFile, q, timeStep, blockSel->start, blockSel->count);
+ return 0;
+ }
+ return -1;
+ }
-int64_t getRelativeIdxInVariable(uint64_t currPosInBlock, const ADIOS_VARINFO* v, const ADIOS_VARBLOCK* blockSel)
-{
- uint64_t spatialCoordinates[v->ndim];
- getCoordinateFromBlock(currPosInBlock, blockSel, v->ndim, spatialCoordinates, v->ndim);
- return getPosInVariable(v, v->ndim, spatialCoordinates);
}
int evaluateWithIdxOnBoundingBox(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeStep)
{
+
ADIOS_SELECTION* sel = q->sel;
ADIOS_VARINFO* v = q->varinfo;
create_fastbit_internal(q);
+ casestudyLogger_setPrefix(" created fastbit internal ");
if (v == NULL) {
ADIOS_QUERY* left = (ADIOS_QUERY*)(q->left);
@@ -478,8 +2228,23 @@ int evaluateWithIdxOnBoundingBox(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeSt
if (evaluateWithIdxOnBoundingBox(idxFile, right, timeStep) < 0) {
return -1;
}
-
+#ifdef BITARRAY
+ casestudyLogger_setPrefix(" merge bitarray ");
+ free(q->dataSlice);
+ q->dataSlice = bitarray_create(q->rawDataSize);
+ if (q->combineOp == ADIOS_QUERY_OP_OR) {
+ bitarray_or((uint32_t*)(left->dataSlice), (uint32_t*)(right->dataSlice), (uint32_t*)(q->dataSlice), BITNSLOTS(q->rawDataSize));
+ } else {
+ bitarray_and((uint32_t*)(left->dataSlice), (uint32_t*)(right->dataSlice), (uint32_t*)(q->dataSlice), BITNSLOTS(q->rawDataSize));
+ }
+ free(left->dataSlice);
+ free(right->dataSlice);
+ left->dataSlice = 0;
+ right->dataSlice = 0;
+#else
setCombinedQueryInternal(q);
+#endif
+ return 0;
} else {
// is a leaf
if (q->rawDataSize == 0) {
@@ -517,35 +2282,69 @@ int evaluateWithIdxOnBoundingBox(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeSt
adios_error (err_invalid_query_value, "Query processing failed. Unable to continue using index. vid=%d, dim[0]=%lld\n", v->varid, v->dims[0]);
return -1;
}
+
+ casestudyLogger_setPrefix(" computed block ids to scan");
+#ifdef FANCY_QUERY
+#else
+ #ifdef BITARRAY
+ uint32_t* bitSlice = bitarray_create(q->rawDataSize);
+ #else
uint16_t* bitSlice = malloc((q->rawDataSize)* sizeof(uint16_t));
for (i=0; i<q->rawDataSize; i++) {
bitSlice[i] = 0;
}
+ #endif
+#endif
+
+ int rank;
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ char bitsArrayName[60];
+ sprintf(bitsArrayName, "%ld_%d_%d_%d", fastbit_adios_getCurrentTimeMillis(), v->varid, timeStep, rank);
uint64_t currBlockIdx = blockStart;
uint64_t sumBlocksBeforeThisTimeStep = 0;
if (v->nsteps > 1) { // non streaming case
for (i=0;i<timeStep; i++) {
- sumBlocksBeforeThisTimeStep = v->nblocks[i];
+ sumBlocksBeforeThisTimeStep += v->nblocks[i];
}
}
- uint64_t junk=0;
+
+ casestudyLogger_setPrefix(" start scanning");
+ char casestudyLoggerPrefix[30];
+
for (currBlockIdx=blockStart; currBlockIdx <= blockEnd; currBlockIdx++) {
- getHandle(timeStep, currBlockIdx, idxFile, q);
+ getHandle(timeStep, currBlockIdx, idxFile, q, 0);
if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle == 0) {
log_warn(" Unable to construct fastbit query with NULL. Use _no_o idx method \n");
return -1;
}
+
+ sprintf(casestudyLoggerPrefix, "block:%llu", currBlockIdx);
+ casestudyLogger_setPrefix(casestudyLoggerPrefix);
+
+ struct timespec evalStartT;
+ casestudyLogger_getRealtime(&evalStartT);
+
uint64_t count = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
- junk += count;
- log_debug("condition, %s, block: %lld hits = %lld, sum of hits so far: %lld\n", q->condition, currBlockIdx, count, junk);
+#ifdef FANCY_QUERY
+ //printf("\nNot that this only works if the region covered exactly by blocks.\n");
+ if (currBlockIdx == blockStart) {
+ fastbit_iapi_register_selection_as_bit_array(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ } else {
+ fastbit_iapi_extend_bit_array_with_selection(bitsArrayName, ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ }
+#else
//i = currBlockIdx-blockStart;
uint64_t coordinateArray[count];
fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinateArray, count, 0);
+ casestudyLogger_pro_writeout(&evalStartT, "fastbitevaluated");
+
+ struct timespec frameStartT;
+ casestudyLogger_getRealtime(&frameStartT);
//fastbit_selection_free(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
////fastbit_iapi_free_array_by_addr(q->_dataSlice); // if attached index
//fastbit_iapi_free_array_by_addr(q->dataSlice); // if attached index
@@ -553,45 +2352,64 @@ int evaluateWithIdxOnBoundingBox(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeSt
int absBlockIdx = currBlockIdx+sumBlocksBeforeThisTimeStep;
int k=0;
+
+ int isDefaultSelection = isSameRegion(v, bb, timeStep);
+
for (k=0; k<count; k++) {
uint64_t currPosInBlock = coordinateArray[k];
- int64_t currPos = 0;
- if (bb != NULL) {
- currPos = getRelativeIdxInBoundingBox(currPosInBlock, bb, &(v->blockinfo[absBlockIdx]));
- } else {
- currPos = getRelativeIdxInVariable(currPosInBlock, v, &(v->blockinfo[absBlockIdx]));
+ int64_t currPos = currPosInBlock;
+
+ if (!isDefaultSelection) {
+ currPos = getRelativeIdx(currPosInBlock, v, bb, absBlockIdx, timeStep);
}
log_debug("%lld th in block[%d], => in actual box %lld \n", currPosInBlock, absBlockIdx, currPos);
- //log_warn("%lld th in block[%d], => in actual %lld, limit: %lld \n", currPosInBlock, currBlockIdx, currPos, q->rawDataSize);
- //if ((currPos >= 0) && (currPos < q->rawDataSize)) {
if (currPos >= 0) {
- bitSlice[currPos] = 1;
+ #ifdef BITARRAY
+ bitarray_setbit(bitSlice, currPos);
+ #else
+ bitSlice[currPos] = 1;
+ #endif
}
}
-
+ casestudyLogger_frame_writeout(&frameStartT, "block processed");
+#endif
+ //casestudyLogger_setPrefix(" block processed");
log_debug("----\n");
}
- int rank;
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ casestudyLogger_setPrefix(" blocksProcessedIndividually ");
- char bitsArrayName[50+strlen(q->condition)];
- sprintf(bitsArrayName, "%ld-%d-%s-%d-%d", fastbit_adios_getCurrentTimeMillis(), v->varid, q->condition, timeStep, rank);
//return fastbit_selection_create(dataType, dataOfInterest, dataSize, compareOp, &vv);
+#ifdef FANCY_QUERY
+ //
+ // wrong result
+ //fastbit_iapi_register_array(bitsArrayName, FastBitDataTypeBitRaw, q->dataSlice, q->rawDataSize);
+ //FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0.1);
+ //
+ FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0.0);
+ fastbit_adios_util_checkNotNull(h, bitsArrayName);
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = h;
+
+#else
free(q->dataSlice);
q->dataSlice = bitSlice;
fastbit_iapi_free_array_by_addr(q->dataSlice);
- fastbit_iapi_register_array(bitsArrayName, FastBitDataTypeUShort, q->dataSlice, q->rawDataSize);
- //printData(q->_dataSlice, adios_unsigned_short, q->_rawDataSize);
- //fastbit_selection_free(q->_queryInternal);
- FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0.5);
+ #ifdef BITARRAY
+ ((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = 0;
+ #else
+ fastbit_iapi_register_array(bitsArrayName, FastBitDataTypeUShort, q->dataSlice, q->rawDataSize);
+ FastBitSelectionHandle h = fastbit_selection_osr(bitsArrayName, FastBitCompareGreater, 0);
fastbit_adios_util_checkNotNull(h, bitsArrayName);
((FASTBIT_INTERNAL*)(q->queryInternal))->_handle = h;
+ #endif
+
+#endif
+ casestudyLogger_setPrefix(" summarized evaluation for bb");
//fastbit_adios_util_checkNotNull(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, bitsArrayName);
}
}
@@ -624,7 +2442,7 @@ FastBitSelectionHandle createHandle(ADIOS_QUERY* q, const char* registeredArrayN
}
-void getHandleFromBlockAtLeafQuery(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q)
+void getHandleFromBlockAtLeafQuery(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q, uint64_t blockSize)
{
//double *keys = NULL; int64_t*offsets= NULL; uint32_t *bms = NULL;
uint64_t nk, no, nb;
@@ -642,21 +2460,28 @@ void getHandleFromBlockAtLeafQuery(int timeStep, int blockIdx, ADIOS_FILE* idxFi
common_read_inq_var_blockinfo(dataFile, v);
}
- uint64_t blockSize = 0;
- if (q->file->is_streaming == 1) {
+ //uint64_t blockSize = 0;
+ if (blockSize == 0) {
+ if (q->file->is_streaming == 1) {
blockSize = fastbit_adios_util_getBlockSize(v, -1, blockIdx);
- } else {
+ } else {
blockSize = fastbit_adios_util_getBlockSize(v, timeStep, blockIdx);
+ }
}
int rank;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
char blockDataName[40+strlen(q->condition)];
- sprintf(blockDataName, "%d-%s-%d-%d-%ld-%d", v->varid, q->condition, timeStep, blockIdx, fastbit_adios_getCurrentTimeMillis(), rank);
+ //sprintf(blockDataName, "%d-%s-%d-%d-%ld-%d", v->varid, q->condition, timeStep, blockIdx, fastbit_adios_getCurrentTimeMillis(), rank);
+ sprintf(blockDataName, "_%d_%d_%d_%ld_%d", v->varid,timeStep, blockIdx, fastbit_adios_getCurrentTimeMillis(), rank);
FASTBIT_INTERNAL* itn = (FASTBIT_INTERNAL*)(q->queryInternal);
-#ifdef _READ_BMS_AS_NEEDED
+
+ struct timespec idxStartT;
+ casestudyLogger_getRealtime(&idxStartT);
+
+#ifdef __READ_BMS_AS_NEEDED__
log_debug("FastBit will get bms as needed, not at the same time as key/offsets\n");
if (fastbit_adios_util_readNoBMSFromIndexFile(idxFile, v, timeStep, blockIdx, &(itn->_keys), &nk, &(itn->_offsets), &no, &(itn->_bmsVarName)) < 0)
#else
@@ -691,14 +2516,17 @@ void getHandleFromBlockAtLeafQuery(int timeStep, int blockIdx, ADIOS_FILE* idxFi
common_read_selection_delete(box);
return;
}
-
+
+ //casestudyLogger_idx_writeout(&idxStartT, "index file visited ");
+ casestudyLogger_idx_writeout(&idxStartT, "index file visited ");
+
//int err = fastbit_iapi_register_array(blockDataName, fastbit_adios_util_getFastbitDataType(v->type), q->_dataSlice, blockSize);
uint64_t nv = blockSize;
itn->_arrayName = malloc(strlen(blockDataName)+2);
sprintf(itn->_arrayName, "%s", blockDataName);
int ierr = fastbit_iapi_register_array_index_only(itn->_arrayName, fastbit_adios_util_getFastbitDataType(v->type), &nv, 1 ,
-#ifdef _READ_BMS_AS_NEEDED
+#ifdef __READ_BMS_AS_NEEDED__
itn->_keys, nk, itn->_offsets, no, itn, adios_bmreader);
#else
itn->_keys, nk, itn->_offsets, no, itn->_bms, adios_bmreader);
@@ -771,6 +2599,10 @@ int readWithTimeStepNoIdx(ADIOS_QUERY* q, int timeStep) {
if (q->file->is_streaming)
ts = 0; // if file is opened as stream, the actual 'actual timestep' is always 0
+ if (q->dataSlice == NULL) {
+ q->dataSlice = malloc(common_read_type_size(q->varinfo->type, q->varinfo->value)*q->rawDataSize);
+ }
+
int errorCode = common_read_schedule_read_byid (q->file, q->sel, q->varinfo->varid,
ts, 1, NULL, q->dataSlice);
log_debug(" schedule read error code = %d adios_error=%d \n", errorCode, adios_errno);
@@ -792,7 +2624,8 @@ int readWithTimeStepNoIdx(ADIOS_QUERY* q, int timeStep) {
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
char datasetName[strlen(q->condition) + 40];
- sprintf(datasetName, "noidx-%s-%d-%ld-%d", q->condition, timeStep, fastbit_adios_getCurrentTimeMillis(),rank);
+ //sprintf(datasetName, "noidx_%s_%d_%ld_%d", q->condition, timeStep, fastbit_adios_getCurrentTimeMillis(),rank);
+ sprintf(datasetName, "_noidx_%d_%ld_%d", timeStep, fastbit_adios_getCurrentTimeMillis(),rank);
setQueryInternal(q, compareOp, dataType, dataSize, datasetName);
return 0;
@@ -882,7 +2715,7 @@ void blockSelectionFastbitHandle(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeSt
if (q->varinfo != NULL) {
const ADIOS_SELECTION_WRITEBLOCK_STRUCT *wb = &(q->sel->u.block);
//int absBlockCounter = query_utils_getGlobalWriteBlockId(wb->index, timeStep, q->_var);
- getHandleFromBlockAtLeafQuery(timeStep, wb->index, idxFile, q);
+ getHandleFromBlockAtLeafQuery(timeStep, wb->index, idxFile, q, 0);
} else {
blockSelectionFastbitHandle(idxFile, q->left, timeStep);
blockSelectionFastbitHandle(idxFile, q->right, timeStep);
@@ -892,15 +2725,15 @@ void blockSelectionFastbitHandle(ADIOS_FILE* idxFile, ADIOS_QUERY* q, int timeSt
}
-void getHandle(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q)
+void getHandle(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q, uint64_t blockSize)
{
ADIOS_FILE* dataFile = q->file;
ADIOS_VARINFO* v = q->varinfo;
FastBitSelectionHandle result = NULL;
if (v == NULL) {
- getHandle(timeStep, blockIdx, idxFile, q->left);
- getHandle(timeStep, blockIdx, idxFile, q->right);
+ getHandle(timeStep, blockIdx, idxFile, q->left, blockSize);
+ getHandle(timeStep, blockIdx, idxFile, q->right, blockSize);
setCombinedQueryInternal(q);
/*
@@ -913,7 +2746,7 @@ void getHandle(int timeStep, int blockIdx, ADIOS_FILE* idxFile, ADIOS_QUERY* q)
q->_queryInternal = fastbit_selection_combine(left->_queryInternal, FastBitCombineOr, right->_queryInternal);
} */
} else {
- getHandleFromBlockAtLeafQuery(timeStep, blockIdx, idxFile, q);
+ getHandleFromBlockAtLeafQuery(timeStep, blockIdx, idxFile, q, blockSize);
}
}
@@ -937,14 +2770,41 @@ int64_t applyIndexIfExists (ADIOS_QUERY* q, int timeStep)
//ADIOS_FILE* idxFile = fastbit_adios_util_getFastbitIndexFileToRead(basefileName, comm_dummy);
if (idxFile != NULL) {
+ //casestudyLogger_starts("idxEval");
//clear_fastbit_internal(q);
if ((leaf->sel == NULL) || (leaf->sel->type == ADIOS_SELECTION_BOUNDINGBOX)) {
+#ifdef BITARRAY
+ if (evaluateWithIdxOnBoundingBoxWithBitArray(idxFile, q, timeStep) >= 0) {
+#else
if (evaluateWithIdxOnBoundingBox(idxFile, q, timeStep) >= 0) {
- result = fastbit_selection_estimate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+#endif
+ casestudyLogger_bms_print();
+ casestudyLogger_idx_print();
+ casestudyLogger_pro_print();
+ casestudyLogger_frame_print();
+ casestudyLogger_setPrefix(" preparedBoundingBox ");
+ if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle != 0) {
+ result = fastbit_selection_estimate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ casestudyLogger_setPrefix(" estimateDone ");
+ } else {
+ result = bitarray_countHits(q->dataSlice, BITNSLOTS(q->rawDataSize));
+ casestudyLogger_setPrefix(" estimateDoneBitArray ");
+ }
}
} else if (leaf->sel->type == ADIOS_SELECTION_WRITEBLOCK) {
- blockSelectionFastbitHandle(idxFile, q, timeStep);
- result= fastbit_selection_estimate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+#ifdef BITARRAY
+ evaluateWithIdxOnBlockWithBitArray(idxFile, q, timeStep);
+#else
+ blockSelectionFastbitHandle(idxFile, q, timeStep);
+#endif
+ //result= fastbit_selection_estimate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle != 0) {
+ result = fastbit_selection_estimate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ casestudyLogger_setPrefix(" estimateDone ");
+ } else {
+ result = bitarray_countHits(q->dataSlice, BITNSLOTS(q->rawDataSize));
+ casestudyLogger_setPrefix(" estimateDoneBitArray ");
+ }
}
log_debug("idx evaluated with result=%" PRId64 "\n", result);
@@ -956,6 +2816,7 @@ int64_t applyIndexIfExists (ADIOS_QUERY* q, int timeStep)
//return result;
} // otherwise, use no idx method
//common_read_close(idxFile);
+ //casestudyLogger_ends("idxEval");
}
@@ -1064,14 +2925,29 @@ int64_t call_fastbit_evaluate(ADIOS_QUERY* q, int timeStep, uint64_t _maxResult)
log_debug(":: user required more results. will evaluate again. \n");
}
+ //casestudyLogger_starts("evaluatingFastbit");
+
+#ifdef BITARRAY
+ if (q->queryInternal == 0) {
+#else
if ((q->queryInternal == 0) || (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle == 0)) {
+#endif
//log_error(">> Unable to use fastbit to evaluate NULL query.\n");
log_debug("query is NULL, result is NULL.");
return 0;
}
- int64_t numHits = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+
+ int64_t numHits = -1;
+ if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle != 0) {
+ numHits = fastbit_selection_evaluate(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle);
+ } else {
+ numHits = bitarray_countHits(q->dataSlice, BITNSLOTS(q->rawDataSize));
+ }
+
log_debug(":: ==> fastbit_evaluate() num of hits found for [%s] = %lld, at timestep %d \n", q->condition, numHits, timeStep);
+ //casestudyLogger_ends("evaluatingFastbit");
+
if (numHits < 0) {
return 0;
}
@@ -1100,11 +2976,11 @@ void printOneSpatialCoordinate(int dim, uint64_t* spatialCoordinates)
}
-void fillUp(int dimSize, uint64_t* spatialCoordinates, uint64_t i, uint64_t* pointArray)
+ void fillUp(int dimSize, uint64_t* spatialCoordinates, uint64_t i, uint64_t* pointArray, int fortran_order)
{
int k=0;
- int fortran_order = futils_is_called_from_fortran();
+ // int fortran_order = futils_is_called_from_fortran();
for (k = 0; k < dimSize; k++) {
uint64_t idx = i * dimSize + k;
@@ -1129,12 +3005,14 @@ ADIOS_SELECTION* getSpatialCoordinatesDefault(ADIOS_VARINFO* var, uint64_t* coor
uint64_t arraySize = retrivalSize * (var->ndim);
uint64_t* pointArray = (uint64_t*) (malloc(arraySize * sizeof(uint64_t)));
+ int isFortranClient = futils_is_called_from_fortran();
+
int i;
for (i=0; i<retrivalSize; i++) {
uint64_t spatialCoordinates[var->ndim];
getCoordinateFromVariable(coordinates[i], var, var->ndim, spatialCoordinates);
- fillUp(var->ndim, spatialCoordinates, i, pointArray);
+ fillUp(var->ndim, spatialCoordinates, i, pointArray, isFortranClient);
}
ADIOS_SELECTION* result = common_read_selection_points(var->ndim, retrivalSize, pointArray);
//free(pointArray); // user has to free this
@@ -1145,6 +3023,7 @@ ADIOS_SELECTION* getSpatialCoordinates(ADIOS_SELECTION* outputBoundary, uint64_t
{
int k = 0;
uint64_t i=0;
+ int isFortranClient = futils_is_called_from_fortran();
switch (outputBoundary->type) {
case ADIOS_SELECTION_BOUNDINGBOX:
@@ -1156,9 +3035,11 @@ ADIOS_SELECTION* getSpatialCoordinates(ADIOS_SELECTION* outputBoundary, uint64_t
for (i=0; i<retrivalSize; i++) {
uint64_t spatialCoordinates[bb->ndim];
- getCoordinateFromBox(coordinates[i], bb, bb->ndim, spatialCoordinates);
+ //getCoordinateFromBox(coordinates[i], bb, bb->ndim, spatialCoordinates);
+ posToSpace(coordinates[i], isFortranClient, bb->count, spatialCoordinates, bb->ndim, bb->start);
+ //fillUp(bb->ndim, spatialCoordinates, i, pointArray, isFortranClient);
- fillUp(bb->ndim, spatialCoordinates, i, pointArray);
+ fillUp(bb->ndim, spatialCoordinates, i, pointArray, 0); // already fortran coordinates from posToSpace(.. isFortranClient ..)
}
ADIOS_SELECTION* result = common_read_selection_points(bb->ndim, retrivalSize, pointArray);
//free(pointArray); // user has to free this
@@ -1175,7 +3056,7 @@ ADIOS_SELECTION* getSpatialCoordinates(ADIOS_SELECTION* outputBoundary, uint64_t
for (i=0; i<retrivalSize; i++) {
uint64_t spatialCoordinates[points->ndim];
getCoordinateFromPoints(coordinates[i], points, spatialCoordinates);
- fillUp(points->ndim, spatialCoordinates, i, pointArray);
+ fillUp(points->ndim, spatialCoordinates, i, pointArray, isFortranClient);
}
ADIOS_SELECTION* result = common_read_selection_points(points->ndim, retrivalSize, pointArray);
//free(pointArray); // user has to free this
@@ -1196,9 +3077,12 @@ ADIOS_SELECTION* getSpatialCoordinates(ADIOS_SELECTION* outputBoundary, uint64_t
uint64_t spatialCoordinates[v->ndim];
//create bb from block;
int absBlockCounter = query_utils_getGlobalWriteBlockId(wb->index, timeStep, v);
- getCoordinateFromBlock(coordinates[i], &(v->blockinfo[absBlockCounter]), v->ndim, spatialCoordinates, v->ndim);
+ //getCoordinateFromBlock(coordinates[i], &(v->blockinfo[absBlockCounter]), v->ndim, spatialCoordinates, v->ndim);
+ ADIOS_VARBLOCK* blockSel = &(v->blockinfo[absBlockCounter]);
+ posToSpace(coordinates[i], isFortranClient, blockSel->count, spatialCoordinates, v->ndim, blockSel->start);
- fillUp(v->ndim, spatialCoordinates, i, pointArray);
+ //fillUp(v->ndim, spatialCoordinates, i, pointArray, isFortranClient);
+ fillUp(v->ndim, spatialCoordinates, i, pointArray, 0); // already fortran coordinates from posToSpace(.. isFortranClient ..)
}
ADIOS_SELECTION* result = common_read_selection_points(v->ndim, retrivalSize, pointArray);
//free(pointArray); // user has to free this
@@ -1228,13 +3112,17 @@ int adios_query_fastbit_evaluate(ADIOS_QUERY* q,
ADIOS_SELECTION* outputBoundary,
ADIOS_SELECTION** result)
{
+ casestudyLogger_init();
+ casestudyLogger_starts("queryArrived. initfastbit");
+
+ adios_query_fastbit_init();
+
/*
if (q->_onTimeStep < 0) {
log_error(":: Error: need to call evaluate first! Exit.\n");
return -1;
}
*/
- adios_query_fastbit_init();
/*if (assertTimeStepValidWithQuery(q) != 0) {
return -1;
@@ -1248,7 +3136,7 @@ int adios_query_fastbit_evaluate(ADIOS_QUERY* q,
int timeStep = adios_get_actual_timestep(q, incomingTimestep);
call_fastbit_evaluate(q, timeStep, 0);
- log_debug("::\t max=%llu lastRead=%llu batchsize=\n", q->maxResultsDesired, q->resultsReadSoFar, batchSize);
+ log_debug("::\t max=%llu lastRead=%llu batchsize=%llu\n", q->maxResultsDesired, q->resultsReadSoFar, batchSize);
uint64_t retrivalSize = q->maxResultsDesired - q->resultsReadSoFar;
if (retrivalSize == 0) {
@@ -1260,16 +3148,30 @@ int adios_query_fastbit_evaluate(ADIOS_QUERY* q,
retrivalSize = batchSize;
}
- uint64_t coordinates[retrivalSize];
+ //uint64_t coordinates[retrivalSize];
+ uint64_t* coordinates = (uint64_t*) calloc(retrivalSize, sizeof(uint64_t));
+ if (coordinates == 0) {
+ log_error("Unable to allocate for coordiantes.");
+ return -1;
+ }
+
+ struct timespec startT;
+ casestudyLogger_getRealtime(&startT);
+
+ if (((FASTBIT_INTERNAL*)(q->queryInternal))->_handle != 0) {
+ fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinates, retrivalSize, q->resultsReadSoFar);
+ casestudyLogger_idx_writeout(&startT, "getCoordinates");
+ } else {
+ bitarray_getHits(q->dataSlice, coordinates, BITNSLOTS(q->rawDataSize), q->resultsReadSoFar, retrivalSize);
+ }
- fastbit_selection_get_coordinates(((FASTBIT_INTERNAL*)(q->queryInternal))->_handle, coordinates, retrivalSize, q->resultsReadSoFar);
-
q->resultsReadSoFar += retrivalSize;
if (outputBoundary == 0) {
ADIOS_QUERY* firstLeaf = getFirstLeaf(q);
if ((firstLeaf == NULL) || (firstLeaf->varinfo == NULL)) {
log_error(":: Error: unable to get a valid first leaf! Exit. \n");
+ free(coordinates);
return -1;
}
if (firstLeaf->sel == NULL) {
@@ -1283,10 +3185,13 @@ int adios_query_fastbit_evaluate(ADIOS_QUERY* q,
// not sure wheather this is well defined case of combined query?! but the first varibale will be used for block information calculation
*result = getSpatialCoordinates(outputBoundary, coordinates, retrivalSize, getFirstLeaf(q)->varinfo, timeStep);
+ free(coordinates);
if (*result == 0) {
return -1;
}
}
+ casestudyLogger_frame_writeout(&startT, "bitarrayGetHits");
+
// print results
/*
int i=0;
@@ -1300,6 +3205,9 @@ int adios_query_fastbit_evaluate(ADIOS_QUERY* q,
}
log_debug("]\n\n");
*/
+ casestudyLogger_frame_print();
+ casestudyLogger_ends("evaluation_total");
+
if (q->resultsReadSoFar == q->maxResultsDesired) {
return 0;
} else {
diff --git a/src/query/query_utils.c b/src/query/query_utils.c
index 11cb59c..760215e 100644
--- a/src/query/query_utils.c
+++ b/src/query/query_utils.c
@@ -35,3 +35,10 @@ int query_utils_file_exists (char * path)
return 0;
}
+// records the current time-stamp
+double dclock(void) {
+ struct timeval tv;
+ gettimeofday(&tv, 0);
+
+ return (double) tv.tv_sec + (double) tv.tv_usec * 1e-6;
+}
diff --git a/src/query/query_utils.h b/src/query/query_utils.h
index 39c534f..bc2ca3d 100644
--- a/src/query/query_utils.h
+++ b/src/query/query_utils.h
@@ -18,7 +18,8 @@ int query_utils_getGlobalWriteBlockId(int idxRelativeToTimeStep, int timeStep, A
/* Return 1 if path exists on the file system, 0 otherwise */
int query_utils_file_exists (char * path);
-
+//current timestamp
+double dclock(void);
#ifdef __cplusplus
}
diff --git a/src/read/read_bp.c b/src/read/read_bp.c
index 8cc57cb..b04e650 100644
--- a/src/read/read_bp.c
+++ b/src/read/read_bp.c
@@ -85,9 +85,7 @@ static int adios_wbidx_to_pgidx (const ADIOS_FILE * fp, read_request * r, int st
fh->b->offset = 0; \
\
MPI_File * sfh; \
- sfh = get_BP_file_handle (fh->sfh \
- ,v->characteristics[start_idx + idx].file_index \
- ); \
+ sfh = get_BP_subfile_handle (fh, v->characteristics[start_idx + idx].file_index); \
if (!sfh) \
{ \
int err; \
@@ -122,9 +120,7 @@ static int adios_wbidx_to_pgidx (const ADIOS_FILE * fp, read_request * r, int st
fprintf (stderr, "can not open file %s\n", name); \
return 0; \
} \
- add_BP_file_handle (&fh->sfh \
- ,new_h \
- ); \
+ add_BP_subfile_handle (fh, new_h); \
sfh = &new_h->fh; \
\
free (name_no_path); \
@@ -179,9 +175,7 @@ static int adios_wbidx_to_pgidx (const ADIOS_FILE * fp, read_request * r, int st
// To read subfiles
#define MPI_FILE_READ_OPS2_BUF(buf) \
MPI_File * sfh; \
- sfh = get_BP_file_handle (fh->sfh \
- ,v->characteristics[start_idx + idx].file_index \
- ); \
+ sfh = get_BP_subfile_handle (fh, v->characteristics[start_idx + idx].file_index); \
if (!sfh) \
{ \
int err; \
@@ -216,9 +210,7 @@ static int adios_wbidx_to_pgidx (const ADIOS_FILE * fp, read_request * r, int st
fprintf (stderr, "can not open file %s\n", name); \
return 0; \
} \
- add_BP_file_handle (&fh->sfh \
- ,new_h \
- ); \
+ add_BP_subfile_handle (fh, new_h); \
sfh = &new_h->fh; \
\
free (name_no_path); \
@@ -292,19 +284,7 @@ static BP_FILE * open_file (const char * fname, MPI_Comm comm)
return 0;
}
- fh = (BP_FILE *) malloc (sizeof (BP_FILE));
- assert (fh);
-
- fh->fname = (fname ? strdup (fname) : 0L);
- fh->sfh = 0;
- fh->comm = comm;
- fh->gvar_h = 0;
- fh->pgs_root = 0;
- fh->vars_root = 0;
- fh->attrs_root = 0;
- fh->vars_table = 0;
- fh->b = malloc (sizeof (struct adios_bp_buffer_struct_v1));
- assert (fh->b);
+ fh = BP_FILE_alloc (fname, comm);
bp_open (fname, comm, fh);
@@ -1137,19 +1117,7 @@ static int open_stream (ADIOS_FILE * fp, const char * fname,
return err_file_not_found;
}
- fh = (BP_FILE *) malloc (sizeof (BP_FILE));
- assert (fh);
-
- fh->fname = (fname ? strdup (fname) : 0L);
- fh->sfh = 0;
- fh->comm = comm;
- fh->gvar_h = 0;
- fh->pgs_root = 0;
- fh->vars_root = 0;
- fh->attrs_root = 0;
- fh->vars_table = 0;
- fh->b = malloc (sizeof (struct adios_bp_buffer_struct_v1));
- assert (fh->b);
+ fh = BP_FILE_alloc (fname, comm);
p = (BP_PROC *) malloc (sizeof (BP_PROC));
assert (p);
@@ -1209,19 +1177,7 @@ ADIOS_FILE * adios_read_bp_open_file (const char * fname, MPI_Comm comm)
MPI_Comm_rank (comm, &rank);
- fh = (BP_FILE *) malloc (sizeof (BP_FILE));
- assert (fh);
-
- fh->fname = (fname ? strdup (fname) : 0L);
- fh->sfh = 0;
- fh->comm = comm;
- fh->gvar_h = 0;
- fh->pgs_root = 0;
- fh->vars_root = 0;
- fh->attrs_root = 0;
- fh->vars_table = 0;
- fh->b = malloc (sizeof (struct adios_bp_buffer_struct_v1));
- assert (fh->b);
+ fh = BP_FILE_alloc (fname, comm);
p = (BP_PROC *) malloc (sizeof (BP_PROC));
assert (p);
@@ -2292,6 +2248,8 @@ static ADIOS_VARBLOCK * inq_var_blockinfo(const ADIOS_FILE * fp, const ADIOS_VAR
uint64_t * ldims, * gdims, * offsets;
int dummy = -1;
struct adios_index_var_struct_v1 * var_root;
+ struct bp_index_pg_struct_v1 * pgs = fh->pgs_root;
+ uint32_t current_process_id = pgs->process_id;
ADIOS_VARBLOCK *blockinfo;
assert (varinfo);
@@ -2329,6 +2287,7 @@ static ADIOS_VARBLOCK * inq_var_blockinfo(const ADIOS_FILE * fp, const ADIOS_VAR
j = 0;
for (i = 0; i < nblks; i++)
{
+ int k; /* to save i or j for the process_id determination step below */
blockinfo[i].start = (uint64_t *) malloc (dimcount * 8);
blockinfo[i].count = (uint64_t *) malloc (dimcount * 8);
assert (blockinfo[i].start && blockinfo[i].count);
@@ -2346,6 +2305,7 @@ static ADIOS_VARBLOCK * inq_var_blockinfo(const ADIOS_FILE * fp, const ADIOS_VAR
&blk_characteristic->dims;
bp_get_dimension_generic_notime(blk_dims, ldims, gdims, offsets, file_is_fortran);
+ k = i;
}
else
{
@@ -2367,6 +2327,7 @@ static ADIOS_VARBLOCK * inq_var_blockinfo(const ADIOS_FILE * fp, const ADIOS_VAR
&blk_characteristic->dims;
bp_get_dimension_generic_notime(blk_dims, ldims, gdims, offsets, file_is_fortran);
+ k = j;
j++;
}
else
@@ -2377,7 +2338,7 @@ static ADIOS_VARBLOCK * inq_var_blockinfo(const ADIOS_FILE * fp, const ADIOS_VAR
// NCSU ALACRITY-ADIOS - If a time dimension was removed above, update
// dimcount so that dimension copy/swapping works below
- if (dimcount > 0 && ldims[dimcount - 1] == 0)
+ if (dimcount > 0 && ldims[dimcount-1] == 0 && gdims[dimcount-1] != 0)
dimcount--;
/*Fix: the function above swaps the dimensions to C order in any case.
@@ -2397,6 +2358,18 @@ static ADIOS_VARBLOCK * inq_var_blockinfo(const ADIOS_FILE * fp, const ADIOS_VAR
// swap_order (dimcount, blockinfo[i].start, &timedim);
// swap_order (dimcount, blockinfo[i].count, &timedim);
// }
+
+ /* Find the process ID */
+ //blockinfo[i].process_id = (uint32_t)-1;
+ while (pgs != NULL &&
+ pgs->offset_in_file <= var_root->characteristics[k].offset)
+ {
+ current_process_id = pgs->process_id;
+ pgs = pgs->next;
+ }
+ blockinfo[i].process_id = current_process_id;
+ blockinfo[i].time_index = var_root->characteristics[k].time_index;
+
}
free (ldims);
@@ -3151,8 +3124,13 @@ int adios_read_bp_get_attr_byid (const ADIOS_FILE * fp, int attrid, enum ADIOS_D
if (attr_root->characteristics[attr_c_index].value)
{
/* Attribute has its own value */
- *size = bp_get_type_size (attr_root->type, attr_root->characteristics[attr_c_index].value);
*type = attr_root->type;
+ int type_size = bp_get_type_size (attr_root->type, attr_root->characteristics[attr_c_index].value);
+ if (*type == adios_string) {
+ *size = type_size;
+ } else {
+ *size = attr_root->nelems * type_size;
+ }
*data = (void *) malloc (*size);
assert (*data);
diff --git a/src/read/read_bp_staged.c b/src/read/read_bp_staged.c
index f5f8c6e..f241e16 100644
--- a/src/read/read_bp_staged.c
+++ b/src/read/read_bp_staged.c
@@ -957,7 +957,7 @@ static void read_chunk (const ADIOS_FILE * fp,
if (has_subfile)
{
- sfh = get_BP_file_handle (fh->sfh, file_idx);
+ sfh = get_BP_subfile_handle (fh, file_idx);
if (!sfh)
{
@@ -994,7 +994,7 @@ static void read_chunk (const ADIOS_FILE * fp,
return;
}
- add_BP_file_handle (&fh->sfh, new_h);
+ add_BP_subfile_handle (fh, new_h);
sfh = &new_h->fh;
free (name_no_path);
@@ -2145,7 +2145,7 @@ ADIOS_FILE * adios_read_bp_staged_open_file (const char * fname, MPI_Comm comm)
assert (fh);
fh->fname = (fname ? strdup (fname) : 0L);
fh->mpi_fh = 0;
- fh->sfh = 0;
+ fh->subfile_handles.n_handles = 0;
fh->comm = comm;
fh->gvar_h = 0;
fh->pgs_root = 0;
diff --git a/src/read/read_dataspaces.c b/src/read/read_dataspaces.c
index 8cb2dde..89f454c 100644
--- a/src/read/read_dataspaces.c
+++ b/src/read/read_dataspaces.c
@@ -1108,6 +1108,8 @@ int adios_read_dataspaces_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO
varinfo->blockinfo->start[i] = 0;
varinfo->blockinfo->count[i] = ds->vars[varinfo->varid].dims[i];
}
+ varinfo->blockinfo->process_id = 0;
+ varinfo->blockinfo->time_index = fp->current_step;
return 0;
}
diff --git a/src/read/read_dimes.c b/src/read/read_dimes.c
index 62f2f89..8a8bc85 100644
--- a/src/read/read_dimes.c
+++ b/src/read/read_dimes.c
@@ -1138,6 +1138,8 @@ int adios_read_dimes_inq_var_blockinfo (const ADIOS_FILE *fp, ADIOS_VARINFO * va
varinfo->blockinfo->start[i] = 0;
varinfo->blockinfo->count[i] = ds->vars[varinfo->varid].dims[i];
}
+ varinfo->blockinfo->process_id = 0;
+ varinfo->blockinfo->time_index = fp->current_step;
return 0;
}
diff --git a/src/read/read_flexpath.c b/src/read/read_flexpath.c
index 3b6496f..dc31011 100644
--- a/src/read/read_flexpath.c
+++ b/src/read/read_flexpath.c
@@ -1,6 +1,6 @@
/*
- read_flexpath.c
- Goal: to create evpath io connection layer in conjunction with
+ read_flexpath.c
+ Goal: to create evpath io connection layer in conjunction with
write/adios_flexpath.c
*/
@@ -50,7 +50,10 @@
#include "dmalloc.h"
#endif
-#define FP_BATCH_SIZE 1
+#define FP_BATCH_SIZE 4
+
+#define MAX(x, y) (((x) > (y)) ? (x) : (y))
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
typedef struct _bridge_info
{
@@ -90,7 +93,7 @@ typedef struct _array_displ
int ndims;
uint64_t pos;
uint64_t *start;
- uint64_t *count;
+ uint64_t *count;
}array_displacements;
typedef struct _flexpath_var
@@ -169,7 +172,7 @@ flexpath_read_data* fp_read_data = NULL;
/********** Helper functions. **********/
-static void
+static void
reverse_dims(uint64_t *dims, int len)
{
int i;
@@ -182,10 +185,10 @@ reverse_dims(uint64_t *dims, int len)
}
}
-void build_bridge(bridge_info* bridge)
+void build_bridge(bridge_info* bridge)
{
attr_list contact_list = attr_list_from_string(bridge->contact);
- if(bridge->created == 0){
+ if (bridge->created == 0) {
bridge->bridge_stone =
EVcreate_bridge_action(fp_read_data->cm,
contact_list,
@@ -213,9 +216,9 @@ void build_bridge(bridge_info* bridge)
void
free_displacements(array_displacements *displ, int num)
{
- if(displ){
+ if (displ) {
int i;
- for(i=0; i<num; i++){
+ for (i=0; i<num; i++) {
free(displ[i].start);
free(displ[i].count);
}
@@ -233,11 +236,11 @@ flexpath_var*
new_flexpath_var(const char *varname, int id, uint64_t type_size)
{
flexpath_var *var = malloc(sizeof(flexpath_var));
- if(var == NULL){
+ if (var == NULL) {
log_error("Error creating new var: %s\n", varname);
return NULL;
}
-
+
memset(var, 0, sizeof(flexpath_var));
// free this when freeing vars.
var->varname = strdup(varname);
@@ -252,21 +255,21 @@ flexpath_reader_file*
new_flexpath_reader_file(const char *fname)
{
flexpath_reader_file *fp = calloc(1, sizeof(*fp));
- if(fp == NULL){
+ if (fp == NULL) {
log_error("Cannot create data for new file.\n");
exit(1);
}
fp->file_name = strdup(fname);
fp->writer_coordinator = -1;
fp->last_writer_step = -1;
- fp->req = (flexpath_read_request){.num_pending = 0, .num_completed = 0, .condition = -1};
+ fp->req = (flexpath_read_request) {.num_pending = 0, .num_completed = 0, .condition = -1};
pthread_mutex_init(&fp->data_mutex, NULL);
pthread_cond_init(&fp->data_condition, NULL);
- return fp;
+ return fp;
}
enum ADIOS_DATATYPES
-ffs_type_to_adios_type(const char *ffs_type)
+ffs_type_to_adios_type(const char *ffs_type, int size)
{
char *bracket = "[";
@@ -278,70 +281,89 @@ ffs_type_to_adios_type(const char *ffs_type)
else {
filtered_type = malloc(posfound+1);
memset(filtered_type, '\0', posfound+1);
- filtered_type = strncpy(filtered_type, ffs_type, posfound);
+ filtered_type = strncpy(filtered_type, ffs_type, posfound);
}
- if (!strcmp("integer", filtered_type))
- return adios_integer;
- else if(!strcmp("float", filtered_type))
+ if (!strcmp("integer", filtered_type)) {
+ if (size == sizeof(int)) {
+ return adios_integer;
+ } else if (size == sizeof(long)) {
+ return adios_long;
+ }
+ }
+ else if (!strcmp("unsigned integer", filtered_type)) {
+ if (size == sizeof(unsigned int)) {
+ return adios_unsigned_integer;
+ } else if (size == sizeof(unsigned long)) {
+ return adios_unsigned_long;
+ }
+ }
+ else if (!strcmp("float", filtered_type))
return adios_real;
- else if(!strcmp("string", filtered_type))
+ else if (!strcmp("string", filtered_type))
return adios_string;
- else if(!strcmp("double", filtered_type))
- return adios_double;
- else if(!strcmp("char", filtered_type))
+ else if (!strcmp("double", filtered_type)) {
+ if (size == sizeof(double)) {
+ return adios_double;
+ } else if (size == sizeof(long double)) {
+ return adios_long_double;
+ }
+ }
+ else if (!strcmp("char", filtered_type))
return adios_byte;
- else if(!strcmp("complex", filtered_type))
+ else if (!strcmp("complex", filtered_type))
return adios_complex;
- else if(!strcmp("double_complex", filtered_type))
+ else if (!strcmp("double_complex", filtered_type))
return adios_double_complex;
- else
+ else {
+ fprintf(stderr, "returning unknown for: ffs_type: %s\n", ffs_type);
return adios_unknown;
+ }
}
-ADIOS_VARINFO*
+ADIOS_VARINFO*
convert_var_info(flexpath_var * fpvar,
- ADIOS_VARINFO * v,
+ ADIOS_VARINFO * v,
const char* varname,
const ADIOS_FILE *adiosfile)
{
int i;
- flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
+ flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
v->type = fpvar->type;
v->ndim = fpvar->ndims;
// needs to change. Has to get information from write.
v->nsteps = 1;
v->nblocks = malloc(sizeof(int)*v->nsteps);
- v->sum_nblocks = 1;
+ v->sum_nblocks = 1;
v->nblocks[0] = 1;
v->statistics = NULL;
v->blockinfo = NULL;
- if(v->ndim == 0){
- int value_size = fpvar->type_size;
+ if (v->ndim == 0) {
+ int value_size = fpvar->type_size;
v->value = malloc(value_size);
if(!v->value) {
- adios_error(err_no_memory,
+ adios_error(err_no_memory,
"Cannot allocate buffer in adios_read_flexpath_inq_var()");
return NULL;
}
flexpath_var_chunk * chunk = &fpvar->chunks[0];
memcpy(v->value, chunk->data, value_size);
- v->global = 0;
- }else{ // arrays
+ v->global = 0;
+ } else { // arrays
v->dims = (uint64_t*)malloc(v->ndim * sizeof(uint64_t));
- if(!v->dims) {
- adios_error(err_no_memory,
+ if (!v->dims) {
+ adios_error(err_no_memory,
"Cannot allocate buffer in adios_read_flexpath_inq_var()");
return NULL;
}
// broken. fix. -- why did I put this comment here?
int cpysize = fpvar->ndims*sizeof(uint64_t);
- if(fpvar->global_dims){
+ if (fpvar->global_dims) {
v->global = 1;
memcpy(v->dims, fpvar->global_dims, cpysize);
}
- else{
+ else {
v->global = 0;
}
}
@@ -351,8 +373,8 @@ convert_var_info(flexpath_var * fpvar,
flexpath_var *
find_fp_var(flexpath_var * var_list, const char * varname)
{
- while(var_list){
- if(!strcmp(varname, var_list->varname)){
+ while (var_list) {
+ if (!strcmp(varname, var_list->varname)) {
return var_list;
}
var_list = var_list->next;
@@ -360,12 +382,12 @@ find_fp_var(flexpath_var * var_list, const char * varname)
return NULL;
}
-global_var*
+global_var*
find_gbl_var(global_var *vars, const char *name, int num_vars)
{
int i;
- for(i=0; i<num_vars; i++){
- if(!strcmp(vars[i].name, name))
+ for (i=0; i<num_vars; i++) {
+ if (!strcmp(vars[i].name, name))
return &vars[i];
}
return NULL;
@@ -377,7 +399,7 @@ find_field_by_name (const char *name, const FMFieldList flist)
FMField *f = flist;
while (f->field_name != NULL)
{
- if(!strcmp(name, f->field_name))
+ if (!strcmp(name, f->field_name))
return f;
else
f++;
@@ -389,21 +411,21 @@ static uint64_t
calc_ffspacket_size(FMField *f, attr_list attrs, void *buffer)
{
uint64_t size = 0;
- while(f->field_name){
+ while (f->field_name) {
char atom_name[200] = "";
strcat(atom_name, FP_NDIMS_ATTR_NAME);
strcat(atom_name, "_");
strcat(atom_name, f->field_name);
- int num_dims = 0;
+ int num_dims = 0;
get_int_attr(attrs, attr_atom_from_string(atom_name), &num_dims);
- if(num_dims == 0){
+ if (num_dims == 0) {
size += (uint64_t)f->field_size;
}
- else{
+ else {
int i;
uint64_t tmpsize = (uint64_t)f->field_size;
- for(i=0; i<num_dims; i++){
+ for (i=0; i<num_dims; i++) {
char *dim;
char atom_name[200] ="";
strcat(atom_name, FP_DIM_ATTR_NAME);
@@ -418,7 +440,7 @@ calc_ffspacket_size(FMField *f, attr_list attrs, void *buffer)
FMField *temp_field = find_field_by_name(dim, f);
uint64_t *temp_val = get_FMfieldAddr_by_name(temp_field,
temp_field->field_name,
- buffer);
+ buffer);
uint64_t dimval = *temp_val;
tmpsize *= dimval;
}
@@ -434,7 +456,7 @@ print_displacement(array_displacements *disp, int myrank)
{
printf("rank: %d, writer displacements for writer: %d\n", myrank, disp->writer_rank);
printf("\tndims: %d, pos: %d\n", disp->ndims, (int)disp->pos);
-
+
int i;
printf("\tstarts: ");
for (i = 0; i<disp->ndims; i++) {
@@ -455,9 +477,9 @@ array_displacements*
find_displacement(array_displacements *list, int rank, int num_displ)
{
int i;
- for(i=0; i<num_displ; i++){
- if(list[i].writer_rank == rank)
- return &list[i];
+ for (i=0; i<num_displ; i++) {
+ if (list[i].writer_rank == rank)
+ return &list[i];
}
return NULL;
}
@@ -465,8 +487,8 @@ find_displacement(array_displacements *list, int rank, int num_displ)
array_displacements*
get_writer_displacements(
- int writer_rank,
- const ADIOS_SELECTION * sel,
+ int writer_rank,
+ const ADIOS_SELECTION * sel,
global_var* gvar,
uint64_t *size)
{
@@ -476,7 +498,7 @@ get_writer_displacements(
displ->writer_rank = writer_rank;
displ->start = malloc(sizeof(uint64_t) * ndims);
- displ->count = malloc(sizeof(uint64_t) * ndims);
+ displ->count = malloc(sizeof(uint64_t) * ndims);
memset(displ->start, 0, sizeof(uint64_t) * ndims);
memset(displ->count, 0, sizeof(uint64_t) * ndims);
@@ -487,19 +509,19 @@ get_writer_displacements(
int i;
int _size = 1;
- for(i=0; i<ndims; i++){
- if(sel->u.bb.start[i] >= offsets[pos+i]){
+ for (i=0; i<ndims; i++) {
+ if (sel->u.bb.start[i] >= offsets[pos+i]) {
int start = sel->u.bb.start[i] - offsets[pos+i];
displ->start[i] = start;
}
- if((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) <=
- (offsets[pos+i] + local_dims[pos+i] - 1)){
- int count = ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) -
+ if ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) <=
+ (offsets[pos+i] + local_dims[pos+i] - 1)) {
+ int count = ((sel->u.bb.start[i] + sel->u.bb.count[i] - 1) -
offsets[pos+i]) - displ->start[i] + 1;
displ->count[i] = count;
-
- }else{
+
+ } else {
int count = (local_dims[pos+i] - 1) - displ->start[i] + 1;
displ->count[i] = count;
}
@@ -511,27 +533,27 @@ get_writer_displacements(
int
need_writer(
- flexpath_reader_file *fp,
- int writer,
- const ADIOS_SELECTION *sel,
- evgroup_ptr gp,
- char *varname)
-{
+ flexpath_reader_file *fp,
+ int writer,
+ const ADIOS_SELECTION *sel,
+ evgroup_ptr gp,
+ char *varname)
+{
//select var from group
global_var *gvar = find_gbl_var(gp->vars, varname, gp->num_vars);
//for each dimension
int i=0;
offset_struct var_offsets = gvar->offsets[0];
- for (i=0; i< var_offsets.offsets_per_rank; i++) {
+ for (i=0; i< var_offsets.offsets_per_rank; i++) {
int pos = writer*(var_offsets.offsets_per_rank) + i;
uint64_t sel_offset = sel->u.bb.start[i];
- uint64_t sel_size = sel->u.bb.count[i];
-
+ uint64_t sel_size = sel->u.bb.count[i];
+
uint64_t rank_offset = var_offsets.local_offsets[pos];
- uint64_t rank_size = var_offsets.local_dimensions[pos];
-
+ uint64_t rank_size = var_offsets.local_dimensions[pos];
+
/* printf("need writer rank: %d writer: %d sel_start: %d sel_count: %d rank_offset: %d rank_size: %d\n", */
/* fp->rank, writer, (int)sel_offset, (int)sel_size, (int)rank_offset, (int)rank_size); */
@@ -553,16 +575,16 @@ void
free_fmstructdesclist(FMStructDescList struct_list)
{
FMField *f = struct_list[0].field_list;
-
+
//cant free field_name because it's const.
/* FMField *temp = f; */
- /* while(temp->field_name){ */
+ /* while (temp->field_name) { */
/* free(temp->field_name); */
/* temp++; */
/* } */
- free(f);
+ free(f);
free(struct_list[0].opt_info);
- free(struct_list);
+ free(struct_list);
}
int
@@ -584,15 +606,15 @@ setup_flexpath_vars(FMField *f, int *num)
flexpath_var *vars = NULL;
int var_count = 0;
- while(f->field_name != NULL){
+ while (f->field_name != NULL) {
flexpath_var *curr_var = new_flexpath_var(f->field_name,
- var_count,
+ var_count,
f->field_size);
curr_var->num_chunks = 1;
curr_var->chunks = malloc(sizeof(flexpath_var_chunk)*curr_var->num_chunks);
memset(curr_var->chunks, 0, sizeof(flexpath_var_chunk)*curr_var->num_chunks);
curr_var->sel = NULL;
- curr_var->type = ffs_type_to_adios_type(f->field_type);
+ curr_var->type = ffs_type_to_adios_type(f->field_type, f->field_size);
flexpath_var *temp = vars;
curr_var->next = temp;
vars = curr_var;
@@ -610,7 +632,7 @@ setup_flexpath_vars(FMField *f, int *num)
void
send_open_msg(flexpath_reader_file *fp, int destination)
{
- if(!fp->bridges[destination].created){
+ if (!fp->bridges[destination].created) {
build_bridge(&(fp->bridges[destination]));
}
op_msg msg;
@@ -621,7 +643,7 @@ send_open_msg(flexpath_reader_file *fp, int destination)
int cond = CMCondition_get(fp_read_data->cm, NULL);
msg.condition = cond;
- EVsubmit(fp->bridges[destination].op_source, &msg, NULL);
+ EVsubmit(fp->bridges[destination].op_source, &msg, NULL);
CMCondition_wait(fp_read_data->cm, cond);
fp->bridges[destination].opened = 1;
}
@@ -629,7 +651,7 @@ send_open_msg(flexpath_reader_file *fp, int destination)
void
send_close_msg(flexpath_reader_file *fp, int destination)
{
- if(!fp->bridges[destination].created){
+ if (!fp->bridges[destination].created) {
build_bridge(&(fp->bridges[destination]));
}
op_msg msg;
@@ -640,8 +662,8 @@ send_close_msg(flexpath_reader_file *fp, int destination)
//msg.condition = -1;
int cond = CMCondition_get(fp_read_data->cm, NULL);
msg.condition = cond;
- EVsubmit(fp->bridges[destination].op_source, &msg, NULL);
- CMCondition_wait(fp_read_data->cm, cond);
+ EVsubmit(fp->bridges[destination].op_source, &msg, NULL);
+ CMCondition_wait(fp_read_data->cm, cond);
fp->bridges[destination].opened = 0;
}
@@ -653,44 +675,44 @@ send_flush_msg(flexpath_reader_file *fp, int destination, Flush_type type, int u
msg.process_id = fp->rank;
msg.id = fp->mystep;
- if(use_condition)
+ if (use_condition)
msg.condition = CMCondition_get(fp_read_data->cm, NULL);
else
msg.condition = -1;
// maybe check to see if the bridge is create first.
EVsubmit(fp->bridges[destination].flush_source, &msg, NULL);
- if(use_condition){
+ if (use_condition) {
CMCondition_wait(fp_read_data->cm, msg.condition);
}
}
-void
+void
send_var_message(flexpath_reader_file *fp, int destination, char *varname)
{
int i = 0;
int found = 0;
- for(i=0; i<fp->num_sendees; i++) {
- if(fp->sendees[i]==destination) {
+ for (i=0; i<fp->num_sendees; i++) {
+ if (fp->sendees[i]==destination) {
found=1;
break;
}
}
- if(!found) {
+ if (!found) {
fp->num_sendees+=1;
fp->sendees=realloc(fp->sendees, fp->num_sendees*sizeof(int));
fp->sendees[fp->num_sendees-1] = destination;
}
- if(!fp->bridges[destination].created) {
+ if (!fp->bridges[destination].created) {
build_bridge(&(fp->bridges[destination]));
}
- if(!fp->bridges[destination].opened){
+ if (!fp->bridges[destination].opened) {
fp->bridges[destination].opened = 1;
send_open_msg(fp, destination);
}
Var_msg var;
var.process_id = fp->rank;
var.var_name = varname;
- EVsubmit(fp->bridges[destination].var_source, &var, NULL);
+ EVsubmit(fp->bridges[destination].var_source, &var, NULL);
}
/********** EVPath Handlers **********/
@@ -704,7 +726,7 @@ update_step_msg_handler(
{
update_step_msg *msg = (update_step_msg*)vevent;
ADIOS_FILE *adiosfile = (ADIOS_FILE*)client_data;
- flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
+ flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
fp->last_writer_step = msg->step;
fp->writer_finalized = msg->finalized;
@@ -713,21 +735,21 @@ update_step_msg_handler(
return 0;
}
-static int
+static int
op_msg_handler(CManager cm, void *vevent, void *client_data, attr_list attrs) {
- op_msg* msg = (op_msg*)vevent;
+ op_msg* msg = (op_msg*)vevent;
ADIOS_FILE *adiosfile = (ADIOS_FILE*)client_data;
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
- if(msg->type==ACK_MSG) {
- if(msg->condition != -1){
+ if (msg->type==ACK_MSG) {
+ if (msg->condition != -1) {
CMCondition_signal(fp_read_data->cm, msg->condition);
}
//ackCondition = CMCondition_get(fp_read_data->cm, NULL);
}
- if(msg->type == EOS_MSG){
+ if (msg->type == EOS_MSG) {
adios_errno = err_end_of_stream;
CMCondition_signal(fp_read_data->cm, msg->condition);
- }
+ }
return 0;
}
@@ -743,7 +765,7 @@ group_msg_handler(CManager cm, void *vevent, void *client_data, attr_list attrs)
}
fp->gp = msg;
int i;
- for(i = 0; i<msg->num_vars; i++){
+ for (i = 0; i<msg->num_vars; i++) {
global_var *gblvar = &msg->vars[i];
flexpath_var *fpvar = find_fp_var(fp->var_list, gblvar->name);
if (fpvar) {
@@ -755,19 +777,18 @@ group_msg_handler(CManager cm, void *vevent, void *client_data, attr_list attrs)
fpvar->ndims = offset->offsets_per_rank;
fpvar->global_dims = malloc(sizeof(uint64_t)*fpvar->ndims);
memcpy(fpvar->global_dims, global_dimensions, sizeof(uint64_t)*fpvar->ndims);
- }else{
- adios_error(err_corrupted_variable,
+ } else {
+ adios_error(err_corrupted_variable,
"Mismatch between global variables and variables specified %s.",
gblvar->name);
return err_corrupted_variable;
}
}
- CMCondition_signal(fp_read_data->cm, msg->condition);
+ CMCondition_signal(fp_read_data->cm, msg->condition);
return 0;
}
-
int
increment_index(int64_t ndim, uint64_t *dimen_array, uint64_t *index_array)
{
@@ -802,19 +823,6 @@ map_global_to_local_index(uint64_t ndim, uint64_t *global_index, uint64_t *local
}
int
-index_in_selection(uint64_t ndim, uint64_t *global_index, uint64_t *selection_offsets, uint64_t *selection_counts)
-{
- int i;
- for (i=0; i < ndim; i++) {
- if ((global_index[i] < selection_offsets[i]) ||
- (global_index[i] >= selection_offsets[i] + selection_counts[i])) {
- return 0;
- }
- }
- return 1;
-}
-
-int
find_offset(uint64_t ndim, uint64_t *size, uint64_t *index)
{
int offset = 0;
@@ -827,67 +835,107 @@ find_offset(uint64_t ndim, uint64_t *size, uint64_t *index)
/*
* element_size is the byte size of the array elements
- * ndim is the number of dimensions in the variable
- * global_dimens is an array, ndim long, giving the size of each dimension
- * partial_offsets is an array, ndim long, giving the starting offsets per dimension
+ * dims is the number of dimensions in the variable
+ * global_dimens is an array, dims long, giving the size of each dimension
+ * partial_offsets is an array, dims long, giving the starting offsets per dimension
* of this data block in the global array
- * partial_counts is an array, ndim long, giving the size per dimension
+ * partial_counts is an array, dims long, giving the size per dimension
* of this data block in the global array
- * selection_offsets is an array, ndim long, giving the starting offsets in the global array
+ * selection_offsets is an array, dims long, giving the starting offsets in the global array
* of the output selection.
- * selection_counts is an array, ndim long, giving the size per dimension
+ * selection_counts is an array, dims long, giving the size per dimension
* of the output selection.
* data is the input, a slab of the global array
* selection is the output, to be filled with the selection array.
*/
void
-extract_selection_from_partial(int element_size, int ndim, uint64_t *global_dimens,
+extract_selection_from_partial(int element_size, uint64_t dims, uint64_t *global_dimens,
uint64_t *partial_offsets, uint64_t *partial_counts,
uint64_t *selection_offsets, uint64_t *selection_counts,
char *data, char *selection)
{
- uint64_t *partial_index = malloc(ndim * sizeof(partial_index[0]));
- uint64_t *global_index = malloc(ndim * sizeof(global_index[0]));
- uint64_t *selection_index = malloc(ndim * sizeof(selection_index[0]));
- memset(partial_index, 0, ndim * sizeof(partial_index[0]));
- memset(selection_index, 0, ndim * sizeof(selection_index[0]));
- do {
- /* walk through incoming (partial) element by element, keeping partial_index up to date */
- map_local_to_global_index(ndim, partial_index, partial_offsets, global_index);
- /* find the global index for the incoming one */
- if (index_in_selection(ndim, global_index, selection_offsets, selection_counts)) {
- int offset;
- /* if it's in the selection, map it to the local index of the selection */
- map_global_to_local_index(ndim, global_index, selection_offsets, selection_index);
- /* find location in selection*/
- offset = find_offset(ndim, selection_counts, selection_index);
- memcpy(selection + offset * element_size, data, element_size);
+ int block_size;
+ int source_block_stride;
+ int dest_block_stride;
+ int source_block_start_offset;
+ int dest_block_start_offset;
+ int block_count;
+ int dim;
+ int operant_dims;
+ int operant_element_size;
+
+ block_size = 1;
+ operant_dims = dims;
+ operant_element_size = element_size;
+ for (dim = dims-1; dim >= 0; dim--) {
+ if ((global_dimens[dim] == partial_counts[dim]) &&
+ (selection_counts[dim] == partial_counts[dim])) {
+ block_size *= global_dimens[dim];
+ operant_dims--; /* last dimension doesn't matter, we got all and we want all */
+ operant_element_size *= global_dimens[dim];
+ } else {
+ int left = MAX(partial_offsets[dim], selection_offsets[dim]);
+ int right = MIN(partial_offsets[dim] + partial_counts[dim],
+ selection_offsets[dim] + selection_counts[dim]);
+ block_size *= (right - left);
+ break;
}
- data += element_size;
- } while (increment_index(ndim, partial_counts, partial_index));
- free(partial_index);
- free(global_index);
+ }
+ source_block_stride = partial_counts[operant_dims-1] * operant_element_size;
+ dest_block_stride = selection_counts[operant_dims-1] * operant_element_size;
+
+ /* calculate first selected element and count */
+ block_count = 1;
+ uint64_t *first_index = malloc(dims * sizeof(first_index[0]));
+ for (dim = 0; dim < dims; dim++) {
+ int left = MAX(partial_offsets[dim], selection_offsets[dim]);
+ int right = MIN(partial_offsets[dim] + partial_counts[dim],
+ selection_offsets[dim] + selection_counts[dim]);
+ if (dim < operant_dims-1) {
+ block_count *= (right-left);
+ }
+ first_index[dim] = left;
+ }
+ uint64_t *selection_index = malloc(dims * sizeof(selection_index[0]));
+ map_global_to_local_index(dims, first_index, selection_offsets, selection_index);
+ dest_block_start_offset = find_offset(dims, selection_counts, selection_index);
free(selection_index);
+ dest_block_start_offset *= element_size;
+
+ uint64_t *partial_index = malloc(dims * sizeof(selection_index[0]));
+ map_global_to_local_index(dims, first_index, partial_offsets, partial_index);
+ source_block_start_offset = find_offset(dims, partial_counts, partial_index);
+ free(partial_index);
+ source_block_start_offset *= element_size;
+
+ data += source_block_start_offset;
+ selection += dest_block_start_offset;
+ int i;
+ for (i=0 ; i < block_count; i++) {
+ memcpy(selection, data, block_size * element_size);
+ data += source_block_stride;
+ selection += dest_block_stride;
+ }
}
-static int
+ static int
raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list attrs)
{
ADIOS_FILE *adiosfile = client_data;
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
- int writer_rank;
+ int writer_rank;
int flush_id;
double data_start;
get_double_attr(attrs, attr_atom_from_string("fp_starttime"), &data_start);
- get_int_attr(attrs, attr_atom_from_string(FP_RANK_ATTR_NAME), &writer_rank);
+ get_int_attr(attrs, attr_atom_from_string(FP_RANK_ATTR_NAME), &writer_rank);
get_int_attr(attrs, attr_atom_from_string("fp_flush_id"), &flush_id);
FMContext context = CMget_FMcontext(cm);
void *base_data = FMheader_skip(context, vevent);
- FMFormat format = FMformat_from_ID(context, vevent);
-
+ FMFormat format = FMformat_from_ID(context, vevent);
+
// copy //FMfree_struct_desc_list call
- FMStructDescList struct_list =
+ FMStructDescList struct_list =
FMcopy_struct_list(format_list_of_FMFormat(format));
FMField *f = struct_list[0].field_list;
@@ -897,14 +945,14 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
#endif
/* setting up initial vars from the format list that comes along with the
message. Message contains both an FFS description and the data. */
- if(fp->num_vars == 0){
+ if (fp->num_vars == 0) {
int var_count = 0;
fp->var_list = setup_flexpath_vars(f, &var_count);
-
+
adiosfile->var_namelist = malloc(var_count * sizeof(char *));
int i = 0;
- while(f->field_name != NULL) {
- if (strncmp(f->field_name, "FPDIM", 5)) {
+ while (f->field_name != NULL) {
+ if (strncmp(f->field_name, "FPDIM", 5)) {
adiosfile->var_namelist[i++] = strdup(f->field_name);
}
f++;
@@ -916,11 +964,11 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
f = struct_list[0].field_list;
char *curr_offset = NULL;
- while(f->field_name){
+ while (f->field_name) {
char atom_name[200] = "";
- flexpath_var *var = find_fp_var(fp->var_list, f->field_name);
+ flexpath_var *var = find_fp_var(fp->var_list, f->field_name);
- if(!var){
+ if (!var) {
adios_error(err_file_open_error,
"file not opened correctly. var does not match format.\n");
return err_file_open_error;
@@ -932,21 +980,21 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
flexpath_var_chunk *curr_chunk = &var->chunks[0];
// has the var been scheduled?
- if(var->sel){
- if(var->sel->type == ADIOS_SELECTION_WRITEBLOCK){
- if(num_dims == 0){ // writeblock selection for scalar
- if(var->sel->u.block.index == writer_rank){
- void *tmp_data = get_FMfieldAddr_by_name(f,
- f->field_name,
+ if (var->sel) {
+ if (var->sel->type == ADIOS_SELECTION_WRITEBLOCK) {
+ if (num_dims == 0) { // writeblock selection for scalar
+ if (var->sel->u.block.index == writer_rank) {
+ void *tmp_data = get_FMfieldAddr_by_name(f,
+ f->field_name,
base_data);
memcpy(var->chunks[0].user_buf, tmp_data, f->field_size);
}
}
else { // writeblock selection for arrays
- if(var->sel->u.block.index == writer_rank){
+ if (var->sel->u.block.index == writer_rank) {
var->array_size = var->type_size;
int i;
- for(i=0; i<num_dims; i++){
+ for (i=0; i<num_dims; i++) {
char *dim;
atom_name[0] ='\0';
strcat(atom_name, FP_DIM_ATTR_NAME);
@@ -957,13 +1005,13 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
sprintf(dim_num, "%d", i+1);
strcat(atom_name, dim_num);
get_string_attr(attrs, attr_atom_from_string(atom_name), &dim);
-
+
FMField *temp_field = find_field_by_name(dim, f);
if (!temp_field) {
adios_error(err_corrupted_variable,
"Could not find fieldname: %s\n",
dim);
- } else {
+ } else {
int *temp_data = get_FMfieldAddr_by_name
(
temp_field,
@@ -974,10 +1022,10 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
uint64_t dim = (uint64_t)(*temp_data);
var->array_size = var->array_size * dim;
}
- }
- void *arrays_data = get_FMPtrField_by_name(f,
- f->field_name,
- base_data,
+ }
+ void *arrays_data = get_FMPtrField_by_name(f,
+ f->field_name,
+ base_data,
1);
memcpy(var->chunks[0].user_buf, arrays_data, var->array_size);
}
@@ -1006,9 +1054,9 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
int offsets_per_rank = gv->offsets[0].offsets_per_rank;
uint64_t *writer_sizes = &temp[offsets_per_rank * writer_rank];
uint64_t *writer_offsets = &temp2[offsets_per_rank * writer_rank];
-
- char *writer_array = (char*)get_FMPtrField_by_name(f,
- f->field_name,
+
+ char *writer_array = (char*)get_FMPtrField_by_name(f,
+ f->field_name,
base_data, 1);
char *reader_array = (char*)var->chunks[0].user_buf;
@@ -1020,29 +1068,29 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
}
}
}
- else { //var has not been scheduled;
- if(num_dims == 0){ // only worry about scalars
+ else { //var has not been scheduled;
+ if (num_dims == 0) { // only worry about scalars
flexpath_var_chunk *chunk = &var->chunks[0];
- if(!chunk->has_data){
+ if (!chunk->has_data) {
void *tmp_data = get_FMfieldAddr_by_name(f, f->field_name, base_data);
chunk->data = malloc(f->field_size);
- memcpy(chunk->data, tmp_data, f->field_size);
+ memcpy(chunk->data, tmp_data, f->field_size);
chunk->has_data = 1;
}
}
}
f++;
}
-
-
+
+
fp->req.num_completed++;
- if(fp->req.num_completed == fp->req.num_pending){
+ if (fp->req.num_completed == fp->req.num_pending) {
CMCondition_signal(fp_read_data->cm, fp->req.condition);
}
-
+
free_fmstructdesclist(struct_list);
- return 0;
+ return 0;
}
/********** Core ADIOS Read functions. **********/
@@ -1052,15 +1100,15 @@ raw_handler(CManager cm, void *vevent, int len, void *client_data, attr_list att
*/
int
adios_read_flexpath_init_method (MPI_Comm comm, PairStruct* params)
-{
+{
setenv("CMSelfFormats", "1", 1);
- fp_read_data = malloc(sizeof(flexpath_read_data));
- if(!fp_read_data) {
+ fp_read_data = malloc(sizeof(flexpath_read_data));
+ if (!fp_read_data) {
adios_error(err_no_memory, "Cannot allocate memory for flexpath.");
return -1;
}
memset(fp_read_data, 0, sizeof(flexpath_read_data));
-
+
fp_read_data->CM_TRANSPORT = attr_atom_from_string("CM_TRANSPORT");
attr_list listen_list = NULL;
char * transport = NULL;
@@ -1072,19 +1120,19 @@ adios_read_flexpath_init_method (MPI_Comm comm, PairStruct* params)
MPI_Comm_rank(fp_read_data->comm, &(fp_read_data->rank));
fp_read_data->cm = CManager_create();
- if(transport == NULL){
- if(CMlisten(fp_read_data->cm) == 0) {
+ if (transport == NULL) {
+ if (CMlisten(fp_read_data->cm) == 0) {
fprintf(stderr, "Flexpath ERROR: reader %d unable to initialize connection manager.\n",
fp_read_data->rank);
}
- }else{
+ } else {
listen_list = create_attr_list();
- add_attr(listen_list, fp_read_data->CM_TRANSPORT, Attr_String,
+ add_attr(listen_list, fp_read_data->CM_TRANSPORT, Attr_String,
(attr_value)strdup(transport));
CMlisten_specific(fp_read_data->cm, listen_list);
}
int forked = CMfork_comm_thread(fp_read_data->cm);
- if(!forked) {
+ if (!forked) {
fprintf(stderr, "reader %d failed to fork comm_thread.\n", fp_read_data->rank);
/*log_debug( "forked\n");*/
}
@@ -1101,7 +1149,7 @@ adios_read_flexpath_open_file(const char * fname, MPI_Comm comm)
}
/*
- * Still have work to do here.
+ * Still have work to do here.
* Change it so that we can support the timeouts and lock_modes.
*/
/*
@@ -1119,17 +1167,17 @@ adios_read_flexpath_open(const char * fname,
float timeout_sec)
{
fp_log("FUNC", "entering flexpath_open\n");
- ADIOS_FILE *adiosfile = malloc(sizeof(ADIOS_FILE));
- if(!adiosfile){
- adios_error (err_no_memory,
+ ADIOS_FILE *adiosfile = malloc(sizeof(ADIOS_FILE));
+ if (!adiosfile) {
+ adios_error (err_no_memory,
"Cannot allocate memory for file info.\n");
return NULL;
- }
-
+ }
+
flexpath_reader_file *fp = new_flexpath_reader_file(fname);
fp->host_language = futils_is_called_from_fortran();
adios_errno = 0;
- fp->stone = EValloc_stone(fp_read_data->cm);
+ fp->stone = EValloc_stone(fp_read_data->cm);
fp->comm = comm;
MPI_Comm_size(fp->comm, &(fp->size));
@@ -1139,13 +1187,13 @@ adios_read_flexpath_open(const char * fname,
fp->stone,
op_format_list,
op_msg_handler,
- adiosfile);
+ adiosfile);
EVassoc_terminal_action(fp_read_data->cm,
fp->stone,
update_step_msg_format_list,
update_step_msg_handler,
- adiosfile);
+ adiosfile);
EVassoc_terminal_action(fp_read_data->cm,
@@ -1166,12 +1214,12 @@ adios_read_flexpath_open(const char * fname,
char writer_info_filename[200];
char reader_ready_filename[200];
char reader_info_filename[200];
-
+
sprintf(reader_ready_filename, "%s_%s", fname, READER_READY_FILE);
sprintf(reader_info_filename, "%s_%s", fname, READER_CONTACT_FILE);
sprintf(writer_ready_filename, "%s_%s", fname, WRITER_READY_FILE);
sprintf(writer_info_filename, "%s_%s", fname, WRITER_CONTACT_FILE);
-
+
char *string_list;
char data_contact_info[CONTACT_LENGTH];
string_list = attr_list_to_string(CMget_contact_list(fp_read_data->cm));
@@ -1179,28 +1227,28 @@ adios_read_flexpath_open(const char * fname,
free(string_list);
char * recvbuf;
- if(fp->rank == 0){
+ if (fp->rank == 0) {
recvbuf = (char*)malloc(sizeof(char)*CONTACT_LENGTH*(fp->size));
}
MPI_Gather(data_contact_info, CONTACT_LENGTH, MPI_CHAR, recvbuf,
CONTACT_LENGTH, MPI_CHAR, 0, fp->comm);
- if(fp->rank == 0){
+ if (fp->rank == 0) {
// print our own contact information
FILE * fp_out = fopen(reader_info_filename, "w");
int i;
- if(!fp_out){
+ if (!fp_out) {
adios_error(err_file_open_error,
"File for contact info could not be opened for writing.\n");
exit(1);
}
- for(i=0; i<fp->size; i++) {
+ for (i=0; i<fp->size; i++) {
fprintf(fp_out,"%s\n", &recvbuf[i*CONTACT_LENGTH]);
}
fclose(fp_out);
free(recvbuf);
-
+
FILE * read_ready = fopen(reader_ready_filename, "w");
fprintf(read_ready, "ready");
fclose(read_ready);
@@ -1208,14 +1256,14 @@ adios_read_flexpath_open(const char * fname,
MPI_Barrier(fp->comm);
FILE * fp_in = fopen(writer_ready_filename,"r");
- while(!fp_in) {
+ while (!fp_in) {
//CMsleep(fp_read_data->cm, 1);
fp_in = fopen(writer_ready_filename, "r");
}
fclose(fp_in);
fp_in = fopen(writer_info_filename, "r");
- while(!fp_in){
+ while (!fp_in) {
//CMsleep(fp_read_data->cm, 1);
fp_in = fopen(writer_info_filename, "r");
}
@@ -1226,7 +1274,7 @@ adios_read_flexpath_open(const char * fname,
int their_stone;
// change to read all numbers, dont create stones, turn bridge array into linked list
- while(fscanf(fp_in, "%d:%s", &their_stone, in_contact) != EOF){
+ while (fscanf(fp_in, "%d:%s", &their_stone, in_contact) != EOF) {
//fprintf(stderr, "writer contact: %d:%s\n", their_stone, in_contact);
fp->bridges = realloc(fp->bridges,
sizeof(bridge_info) * (num_bridges+1));
@@ -1242,27 +1290,27 @@ adios_read_flexpath_open(const char * fname,
fp->num_bridges = num_bridges;
// clean up of writer's files
MPI_Barrier(fp->comm);
- if(fp->rank == 0){
+ if (fp->rank == 0) {
unlink(writer_info_filename);
unlink(writer_ready_filename);
- }
+ }
adiosfile->fh = (uint64_t)fp;
adiosfile->current_step = 0;
-
+
/* Init with a writer to get initial scalar
data so we can handle inq_var calls and
also populate the ADIOS_FILE struct. */
- if(fp->size < num_bridges){
+ if (fp->size < num_bridges) {
int mystart = (num_bridges/fp->size) * fp->rank;
int myend = (num_bridges/fp->size) * (fp->rank+1);
fp->writer_coordinator = mystart;
int z;
- for(z=mystart; z<myend; z++){
+ for (z=mystart; z<myend; z++) {
build_bridge(&fp->bridges[z]);
}
}
- else{
+ else {
int writer_rank = fp->rank % num_bridges;
build_bridge(&fp->bridges[writer_rank]);
fp->writer_coordinator = writer_rank;
@@ -1270,7 +1318,7 @@ adios_read_flexpath_open(const char * fname,
// requesting initial data.
send_open_msg(fp, fp->writer_coordinator);
-
+
fp->data_read = 0;
fp->req.condition = CMCondition_get(fp_read_data->cm, NULL);
@@ -1290,14 +1338,14 @@ adios_read_flexpath_open(const char * fname,
// first step is at least one, otherwise raw_handler will not execute.
// in reality, writer might be further along, so we might have to make
// the writer explitly send across messages each time it calls close, to
- // indicate which timesteps are available.
+ // indicate which timesteps are available.
adiosfile->last_step = 1;
adiosfile->path = strdup(fname);
// verifies these two fields. It's not BP, so no BP version.
// It's a stream, so how can the file size be known?
adiosfile->version = -1;
adiosfile->file_size = 0;
- adios_errno = err_no_error;
+ adios_errno = err_no_error;
fp_log("FUNC", "leaving flexpath_open\n");
return adiosfile;
}
@@ -1311,8 +1359,8 @@ void adios_read_flexpath_release_step(ADIOS_FILE *adiosfile) {
int i;
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
MPI_Barrier(fp->comm);
- for(i=0; i<fp->num_bridges; i++) {
- if(fp->bridges[i].created && !fp->bridges[i].opened) {
+ for (i=0; i<fp->num_bridges; i++) {
+ if (fp->bridges[i].created && !fp->bridges[i].opened) {
send_open_msg(fp, i);
}
}
@@ -1320,10 +1368,10 @@ void adios_read_flexpath_release_step(ADIOS_FILE *adiosfile) {
fp->gp = NULL;
flexpath_var *tmpvars = fp->var_list;
- while(tmpvars){
+ while (tmpvars) {
- if(tmpvars->ndims > 0){
- free(tmpvars->global_dims);
+ if (tmpvars->ndims > 0) {
+ free(tmpvars->global_dims);
tmpvars->ndims = 0;
}
if (tmpvars->displ) {
@@ -1336,13 +1384,13 @@ void adios_read_flexpath_release_step(ADIOS_FILE *adiosfile) {
tmpvars->sel = NULL;
}
- tmpvars->sel = NULL;
- for(i=0; i<tmpvars->num_chunks; i++){
- flexpath_var_chunk *chunk = &tmpvars->chunks[i];
- if(chunk->has_data){
+ tmpvars->sel = NULL;
+ for (i=0; i<tmpvars->num_chunks; i++) {
+ flexpath_var_chunk *chunk = &tmpvars->chunks[i];
+ if (chunk->has_data) {
free(chunk->data);
chunk->data = NULL;
- chunk->has_data = 0;
+ chunk->has_data = 0;
}
chunk->rank = 0;
}
@@ -1350,16 +1398,16 @@ void adios_read_flexpath_release_step(ADIOS_FILE *adiosfile) {
}
}
-int
-adios_read_flexpath_advance_step(ADIOS_FILE *adiosfile, int last, float timeout_sec)
+int
+adios_read_flexpath_advance_step(ADIOS_FILE *adiosfile, int last, float timeout_sec)
{
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
MPI_Barrier(fp->comm);
int count = 0; // for perf measurements
send_flush_msg(fp, fp->writer_coordinator, STEP, 1);
//put this on a timer, so to speak, for timeout_sec
- while(fp->mystep == fp->last_writer_step){
- if(fp->writer_finalized){
+ while (fp->mystep == fp->last_writer_step) {
+ if (fp->writer_finalized) {
adios_errno = err_end_of_stream;
return err_end_of_stream;
}
@@ -1367,9 +1415,9 @@ adios_read_flexpath_advance_step(ADIOS_FILE *adiosfile, int last, float timeout_
send_flush_msg(fp, fp->writer_coordinator, STEP, 1);
}
- int i=0;
- for(i=0; i<fp->num_bridges; i++) {
- if(fp->bridges[i].created && fp->bridges[i].opened) {
+ int i=0;
+ for (i=0; i<fp->num_bridges; i++) {
+ if (fp->bridges[i].created && fp->bridges[i].opened) {
count++;
send_close_msg(fp, i);
}
@@ -1379,13 +1427,13 @@ adios_read_flexpath_advance_step(ADIOS_FILE *adiosfile, int last, float timeout_
count = 0;
adiosfile->current_step++;
fp->mystep = adiosfile->current_step;
-
- for(i=0; i<fp->num_bridges; i++){
- if(fp->bridges[i].created && !fp->bridges[i].opened){
+
+ for (i=0; i<fp->num_bridges; i++) {
+ if (fp->bridges[i].created && !fp->bridges[i].opened) {
send_open_msg(fp, i);
count++;
}
- }
+ }
// need to remove selectors from each var now.
fp->req.num_completed = 0;
fp->req.num_pending = 1;
@@ -1403,29 +1451,29 @@ int adios_read_flexpath_close(ADIOS_FILE * fp)
flexpath_reader_file *file = (flexpath_reader_file*)fp->fh;
//send to each opened link
int i;
- for(i = 0; i<file->num_bridges; i++){
- if(file->bridges[i].created && file->bridges[i].opened) {
+ for (i = 0; i<file->num_bridges; i++) {
+ if (file->bridges[i].created && file->bridges[i].opened) {
send_close_msg(file, i);
}
}
/*
start to cleanup. Clean up var_lists for now, as the
data has already been copied over to ADIOS_VARINFO structs
- that the user maintains a copy of.
+ that the user maintains a copy of.
*/
flexpath_var *v = file->var_list;
- while (v) {
+ while (v) {
// free chunks; data has already been copied to user
- int i;
- for(i = 0; i<v->num_chunks; i++){
- flexpath_var_chunk *c = &v->chunks[i];
- if(!c)
+ int i;
+ for (i = 0; i<v->num_chunks; i++) {
+ flexpath_var_chunk *c = &v->chunks[i];
+ if (!c)
log_error("FLEXPATH: %s This should not happen! line %d\n",__func__,__LINE__);
- //free(c->data);
+ //free(c->data);
c->data = NULL;
free(c);
}
- flexpath_var *tmp = v->next;
+ flexpath_var *tmp = v->next;
free(v);
v = tmp;
//v=v->next;
@@ -1440,11 +1488,11 @@ ADIOS_FILE *adios_read_flexpath_fopen(const char *fname, MPI_Comm comm) {
int adios_read_flexpath_is_var_timed(const ADIOS_FILE* fp, int varid) { return 0; }
void adios_read_flexpath_get_groupinfo(
- const ADIOS_FILE *adiosfile,
- int *ngroups,
- char ***group_namelist,
- uint32_t **nvars_per_group,
- uint32_t **nattrs_per_group)
+ const ADIOS_FILE *adiosfile,
+ int *ngroups,
+ char ***group_namelist,
+ uint32_t **nvars_per_group,
+ uint32_t **nattrs_per_group)
{
flexpath_reader_file *fp;
if (adiosfile) {
@@ -1472,7 +1520,7 @@ int adios_read_flexpath_perform_reads(const ADIOS_FILE *adiosfile, int blocking)
fp->req.num_pending = FP_BATCH_SIZE;
fp->req.condition = CMCondition_get(fp_read_data->cm, NULL);
- for(i = 0; i<num_sendees; i++){
+ for (i = 0; i<num_sendees; i++) {
int sendee = fp->sendees[i];
batchcount++;
total_sent++;
@@ -1491,21 +1539,21 @@ int adios_read_flexpath_perform_reads(const ADIOS_FILE *adiosfile, int blocking)
}
free(fp->sendees);
- fp->sendees = NULL;
+ fp->sendees = NULL;
fp->num_sendees = 0;
-
+
flexpath_var *tmpvars = fp->var_list;
while (tmpvars) {
if (tmpvars->displ) {
free_displacements(tmpvars->displ, tmpvars->num_displ);
tmpvars->displ = NULL;
}
-
+
if (tmpvars->sel) {
common_read_selection_delete(tmpvars->sel);
tmpvars->sel = NULL;
}
-
+
tmpvars = tmpvars->next;
}
fp_log("FUNC", "leaving perform_reads.\n");
@@ -1525,14 +1573,14 @@ adios_read_flexpath_inq_var_stat(const ADIOS_FILE* fp,
{ /*log_debug( "flexpath:adios function inq var stat\n");*/ return 0; }
-int
+int
adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
const ADIOS_SELECTION *sel,
int varid,
int from_steps,
int nsteps,
void *data)
-{
+{
fp_log("FUNC", "entering schedule_read_byid\n");
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
flexpath_var *fpvar = fp->var_list;
@@ -1543,23 +1591,23 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
else
fpvar=fpvar->next;
}
- if(!fpvar){
+ if (!fpvar) {
adios_error(err_invalid_varid,
"Invalid variable id: %d\n",
varid);
return err_invalid_varid;
- }
+ }
//store the user allocated buffer.
- flexpath_var_chunk *chunk = &fpvar->chunks[0];
+ flexpath_var_chunk *chunk = &fpvar->chunks[0];
if (nsteps != 1) {
adios_error (err_invalid_timestep,
"Only one step can be read from a stream at a time. "
- "You requested % steps in adios_schedule_read()\n",
+ "You requested % steps in adios_schedule_read()\n",
nsteps);
return err_invalid_timestep;
}
// this is done so that the user can do multiple schedule_read/perform_reads
- // within before doing release/advance step. Might need a better way to
+ // within before doing release/advance step. Might need a better way to
// manage the ADIOS selections.
if (fpvar->sel) {
common_read_selection_delete(fpvar->sel);
@@ -1568,7 +1616,7 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
if (!sel) { // null selection; read whole variable
//TODO: This will have to be fixed for local arrays,
// but dataspaces doesn't have local arrays so there
- // are no use cases for it.
+ // are no use cases for it.
uint64_t *starts = calloc(fpvar->ndims, sizeof(uint64_t));
uint64_t *counts = calloc(fpvar->ndims, sizeof(uint64_t));
memcpy(counts, fpvar->global_dims, fpvar->ndims*sizeof(uint64_t));
@@ -1593,9 +1641,9 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
break;
}
case ADIOS_SELECTION_BOUNDINGBOX:
- {
+ {
// boundingbox for a scalar; handle it as we do with inq_var
- if (fpvar->ndims == 0) {
+ if (fpvar->ndims == 0) {
memcpy(data, chunk->data, fpvar->type_size);
} else {
if (fp->host_language == FP_FORTRAN_MODE) {
@@ -1611,8 +1659,8 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
array_displacements *all_disp = NULL;
uint64_t pos = 0;
for (j=0; j<fp->num_bridges; j++) {
- int destination=0;
- if(need_writer(fp, j, fpvar->sel, fp->gp, fpvar->varname)==1){
+ int destination=0;
+ if (need_writer(fp, j, fpvar->sel, fp->gp, fpvar->varname)==1) {
//printf("\t\trank: %d need_writer: %d\n", fp->rank, j);
uint64_t _pos = 0;
need_count++;
@@ -1621,12 +1669,12 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
// displ is freed in release_step.
array_displacements *displ = get_writer_displacements(j, fpvar->sel, gvar, &_pos);
displ->pos = pos;
- _pos *= (uint64_t)fpvar->type_size;
+ _pos *= (uint64_t)fpvar->type_size;
pos += _pos;
-
+
all_disp = realloc(all_disp, sizeof(array_displacements)*need_count);
all_disp[need_count-1] = *displ;
- send_var_message(fp, j, fpvar->varname);
+ send_var_message(fp, j, fpvar->varname);
}
}
fpvar->displ = all_disp;
@@ -1651,7 +1699,7 @@ adios_read_flexpath_schedule_read_byid(const ADIOS_FILE *adiosfile,
return 0;
}
-int
+int
adios_read_flexpath_schedule_read(const ADIOS_FILE *adiosfile,
const ADIOS_SELECTION * sel,
const char * varname,
@@ -1663,14 +1711,14 @@ adios_read_flexpath_schedule_read(const ADIOS_FILE *adiosfile,
return 0;
}
-int
+int
adios_read_flexpath_get_attr (int *gp, const char *attrname,
enum ADIOS_DATATYPES *type,
int *size, void **data)
{
//log_debug( "debug: adios_read_flexpath_get_attr\n");
// TODO: borrowed from dimes
- adios_error(err_invalid_read_method,
+ adios_error(err_invalid_read_method,
"adios_read_flexpath_get_attr is not implemented.");
*size = 0;
*type = adios_unknown;
@@ -1678,14 +1726,14 @@ adios_read_flexpath_get_attr (int *gp, const char *attrname,
return adios_errno;
}
-int
+int
adios_read_flexpath_get_attr_byid (const ADIOS_FILE *adiosfile, int attrid,
enum ADIOS_DATATYPES *type,
int *size, void **data)
{
// log_debug( "debug: adios_read_flexpath_get_attr_byid\n");
// TODO: borrowed from dimes
- adios_error(err_invalid_read_method,
+ adios_error(err_invalid_read_method,
"adios_read_flexpath_get_attr_byid is not implemented.");
*size = 0;
*type = adios_unknown;
@@ -1693,22 +1741,22 @@ adios_read_flexpath_get_attr_byid (const ADIOS_FILE *adiosfile, int attrid,
return adios_errno;
}
-ADIOS_VARINFO*
+ADIOS_VARINFO*
adios_read_flexpath_inq_var(const ADIOS_FILE * adiosfile, const char* varname)
{
fp_log("FUNC", "entering flexpath_inq_var\n");
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
ADIOS_VARINFO *v = NULL;
-
+
flexpath_var *fpvar = find_fp_var(fp->var_list, varname);
if (fpvar) {
v = calloc(1, sizeof(ADIOS_VARINFO));
if (!v) {
- adios_error(err_no_memory,
+ adios_error(err_no_memory,
"Cannot allocate buffer in adios_read_flexpath_inq_var()");
return NULL;
- }
+ }
v = convert_var_info(fpvar, v, varname, adiosfile);
fp_log("FUNC", "leaving flexpath_inq_var\n");
@@ -1719,12 +1767,12 @@ adios_read_flexpath_inq_var(const ADIOS_FILE * adiosfile, const char* varname)
return v;
}
-ADIOS_VARINFO*
+ADIOS_VARINFO*
adios_read_flexpath_inq_var_byid (const ADIOS_FILE * adiosfile, int varid)
{
fp_log("FUNC", "entering flexpath_inq_var_byid\n");
flexpath_reader_file *fp = (flexpath_reader_file*)adiosfile->fh;
- if(varid >= 0 && varid < adiosfile->nvars) {
+ if (varid >= 0 && varid < adiosfile->nvars) {
ADIOS_VARINFO *v = adios_read_flexpath_inq_var(adiosfile, adiosfile->var_namelist[varid]);
fp_log("FUNC", "leaving flexpath_inq_var_byid\n");
return v;
@@ -1735,7 +1783,7 @@ adios_read_flexpath_inq_var_byid (const ADIOS_FILE * adiosfile, int varid)
}
}
-void
+void
adios_read_flexpath_free_varinfo (ADIOS_VARINFO *adiosvar)
{
//log_debug( "debug: adios_read_flexpath_free_varinfo\n");
@@ -1744,9 +1792,9 @@ adios_read_flexpath_free_varinfo (ADIOS_VARINFO *adiosvar)
}
-ADIOS_TRANSINFO*
+ADIOS_TRANSINFO*
adios_read_flexpath_inq_var_transinfo(const ADIOS_FILE *gp, const ADIOS_VARINFO *vi)
-{
+{
//adios_error(err_operation_not_supported, "Flexpath does not yet support transforms: var_transinfo.\n");
ADIOS_TRANSINFO *trans = malloc(sizeof(ADIOS_TRANSINFO));
memset(trans, 0, sizeof(ADIOS_TRANSINFO));
@@ -1755,7 +1803,7 @@ adios_read_flexpath_inq_var_transinfo(const ADIOS_FILE *gp, const ADIOS_VARINFO
}
-int
+int
adios_read_flexpath_inq_var_trans_blockinfo(const ADIOS_FILE *gp, const ADIOS_VARINFO *vi, ADIOS_TRANSINFO *ti)
{
adios_error(err_operation_not_supported, "Flexpath does not yet support transforms: trans_blockinfo.\n");
@@ -1768,7 +1816,7 @@ int adios_read_flexpath_get_dimension_order (const ADIOS_FILE *adiosfile)
return (fp->host_language == FP_FORTRAN_MODE);
}
-void
+void
adios_read_flexpath_reset_dimension_order (const ADIOS_FILE *adiosfile, int is_fortran)
{
//log_debug( "debug: adios_read_flexpath_reset_dimension_order\n");
diff --git a/src/read/read_icee.c b/src/read/read_icee.c
index 1e5fb72..413948a 100644
--- a/src/read/read_icee.c
+++ b/src/read/read_icee.c
@@ -1404,7 +1404,8 @@ adios_read_icee_inq_var_byid (const ADIOS_FILE * adiosfile, int varid)
a->varid = vp->varid;
a->type = vp->type;
a->ndim = vp->ndims;
-
+ a->nsteps = 1;
+
if (vp->ndims == 0)
{
a->value = malloc(vp->typesize);
diff --git a/src/transforms/adios_transform_alacrity_write.c b/src/transforms/adios_transform_alacrity_write.c
index 360474b..dd2e0c5 100644
--- a/src/transforms/adios_transform_alacrity_write.c
+++ b/src/transforms/adios_transform_alacrity_write.c
@@ -246,7 +246,7 @@ int adios_transform_alacrity_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
- } else { // Else, fall back to var->data memory allocation
+ } else { // Else, fall back to var->adata memory allocation
output_buff = malloc(output_size);
assert(output_buff);
}
@@ -285,7 +285,7 @@ int adios_transform_alacrity_apply(struct adios_file_struct *fd,
if (*wrote_to_shared_buffer) {
shared_buffer_mark_written(fd, output_size);
} else {
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/transforms/adios_transform_aplod_write.c b/src/transforms/adios_transform_aplod_write.c
index 8690b02..68904f8 100644
--- a/src/transforms/adios_transform_aplod_write.c
+++ b/src/transforms/adios_transform_aplod_write.c
@@ -144,7 +144,7 @@ int adios_transform_aplod_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
- } else { // Else, fall back to var->data memory allocation
+ } else { // Else, fall back to var->adata memory allocation
output_buff = malloc(output_size);
assert(output_buff);
}
@@ -170,7 +170,7 @@ int adios_transform_aplod_apply(struct adios_file_struct *fd,
if (*wrote_to_shared_buffer) {
shared_buffer_mark_written(fd, output_size);
} else {
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/transforms/adios_transform_bzip2_write.c b/src/transforms/adios_transform_bzip2_write.c
index 6c8729a..e3f071c 100755
--- a/src/transforms/adios_transform_bzip2_write.c
+++ b/src/transforms/adios_transform_bzip2_write.c
@@ -101,7 +101,7 @@ int adios_transform_bzip2_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
}
- else // Else, fall back to var->data memory allocation
+ else // Else, fall back to var->adata memory allocation
{
*wrote_to_shared_buffer = 0;
output_buff = malloc(output_size);
@@ -133,7 +133,7 @@ int adios_transform_bzip2_apply(struct adios_file_struct *fd,
}
else
{
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = actual_output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/transforms/adios_transform_isobar_write.c b/src/transforms/adios_transform_isobar_write.c
index 7b6081d..869e977 100755
--- a/src/transforms/adios_transform_isobar_write.c
+++ b/src/transforms/adios_transform_isobar_write.c
@@ -135,7 +135,7 @@ int adios_transform_isobar_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
}
- else // Else, fall back to var->data memory allocation
+ else // Else, fall back to var->adata memory allocation
{
*wrote_to_shared_buffer = 0;
output_buff = malloc(output_size);
@@ -168,7 +168,7 @@ int adios_transform_isobar_apply(struct adios_file_struct *fd,
}
else
{
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = actual_output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/transforms/adios_transform_szip_write.c b/src/transforms/adios_transform_szip_write.c
index f82855e..6fed29d 100755
--- a/src/transforms/adios_transform_szip_write.c
+++ b/src/transforms/adios_transform_szip_write.c
@@ -76,7 +76,7 @@ int adios_transform_szip_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
- } else { // Else, fall back to var->data memory allocation
+ } else { // Else, fall back to var->adata memory allocation
output_buff = malloc(output_size);
assert(output_buff);
}
@@ -102,7 +102,7 @@ int adios_transform_szip_apply(struct adios_file_struct *fd,
if (*wrote_to_shared_buffer) {
shared_buffer_mark_written(fd, output_size);
} else {
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/transforms/adios_transform_template_write.c b/src/transforms/adios_transform_template_write.c
index 8740ff2..7438c4e 100644
--- a/src/transforms/adios_transform_template_write.c
+++ b/src/transforms/adios_transform_template_write.c
@@ -43,7 +43,7 @@ int adios_transform_template_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
- } else { // Else, fall back to var->data memory allocation
+ } else { // Else, fall back to var->adata memory allocation
output_buff = malloc(output_size);
assert(output_buff);
}
@@ -55,7 +55,7 @@ int adios_transform_template_apply(struct adios_file_struct *fd,
if (*wrote_to_shared_buffer) {
shared_buffer_mark_written(fd, output_size);
} else {
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/transforms/adios_transform_zlib_write.c b/src/transforms/adios_transform_zlib_write.c
index ab20798..56a510b 100755
--- a/src/transforms/adios_transform_zlib_write.c
+++ b/src/transforms/adios_transform_zlib_write.c
@@ -121,7 +121,7 @@ int adios_transform_zlib_apply(struct adios_file_struct *fd,
// Write directly to the shared buffer
output_buff = fd->buffer + fd->offset;
}
- else // Else, fall back to var->data memory allocation
+ else // Else, fall back to var->adata memory allocation
{
*wrote_to_shared_buffer = 0;
output_buff = malloc(output_size);
@@ -154,7 +154,7 @@ int adios_transform_zlib_apply(struct adios_file_struct *fd,
}
else
{
- var->data = output_buff;
+ var->adata = output_buff;
var->data_size = actual_output_size;
var->free_data = adios_flag_yes;
}
diff --git a/src/write/adios_dataspaces.c b/src/write/adios_dataspaces.c
index 061393a..92a78f5 100644
--- a/src/write/adios_dataspaces.c
+++ b/src/write/adios_dataspaces.c
@@ -287,7 +287,7 @@ enum ADIOS_FLAG adios_dataspaces_should_buffer (struct adios_file_struct * fd
void adios_dataspaces_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -425,11 +425,11 @@ void adios_dataspaces_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data == adios_flag_yes)
+ if (v->adata && v->free_data == adios_flag_yes)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
- v->data = NULL;
+ free (v->adata);
+ v->data = v->adata = NULL;
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -544,7 +544,7 @@ static void adios_dataspaces_gather_indices (struct adios_file_struct * fd
,&new_attrs_root
);
adios_merge_index_v1 (index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
diff --git a/src/write/adios_datatap.c b/src/write/adios_datatap.c
index 4e9b8c3..02abf84 100644
--- a/src/write/adios_datatap.c
+++ b/src/write/adios_datatap.c
@@ -672,7 +672,7 @@ extern enum ADIOS_FLAG adios_datatap_should_buffer (struct adios_file_struct * f
extern void
adios_datatap_write(struct adios_file_struct *fd,
struct adios_var_struct *f,
- void *data, struct adios_method_struct *method)
+ const void *data, struct adios_method_struct *method)
{
struct fm_structure *fm;
dmd *mdata = (dmd *) method->method_data;
diff --git a/src/write/adios_dimes.c b/src/write/adios_dimes.c
index 76acf59..53b67b8 100644
--- a/src/write/adios_dimes.c
+++ b/src/write/adios_dimes.c
@@ -422,7 +422,7 @@ enum ADIOS_FLAG adios_dimes_should_buffer (struct adios_file_struct * fd
void adios_dimes_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -561,11 +561,11 @@ void adios_dimes_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data == adios_flag_yes)
+ if (v->adata && v->free_data == adios_flag_yes)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
- v->data = NULL;
+ free (v->adata);
+ v->data = v->adata = NULL;
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -680,7 +680,7 @@ static void adios_dimes_gather_indices (struct adios_file_struct * fd
,&new_attrs_root
);
adios_merge_index_v1 (index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
diff --git a/src/write/adios_flexpath.c b/src/write/adios_flexpath.c
index 53f29af..cbe3740 100644
--- a/src/write/adios_flexpath.c
+++ b/src/write/adios_flexpath.c
@@ -192,9 +192,9 @@ char*
resolve_path_name(char *path, char *name)
{
char *fullname = NULL;
- if(name){
- if(path){
- if(strcmp(path, "")){
+ if (name) {
+ if (path) {
+ if (strcmp(path, "")) {
fullname = malloc(strlen(path) + strlen(name) + 2);
strcpy(fullname, path);
strcat(fullname, "/");
@@ -238,7 +238,7 @@ set_flush_id_atom(attr_list attrs, int value)
{
atom_t dst_atom = attr_atom_from_string("fp_flush_id");
int dst;
- if(!get_int_attr(attrs, dst_atom, &dst)) {
+ if (!get_int_attr(attrs, dst_atom, &dst)) {
add_int_attr(attrs, dst_atom, value);
}
set_int_attr(attrs, dst_atom, value);
@@ -251,7 +251,7 @@ set_size_atom(attr_list attrs, int value)
{
atom_t dst_atom = attr_atom_from_string("fp_size");
int size;
- if(!get_int_attr(attrs, dst_atom, &size)) {
+ if (!get_int_attr(attrs, dst_atom, &size)) {
add_int_attr(attrs, dst_atom, value);
}
set_int_attr(attrs, dst_atom, value);
@@ -264,7 +264,7 @@ set_dst_rank_atom(attr_list attrs, int value)
{
atom_t dst_atom = attr_atom_from_string("fp_dst_rank");
int dst;
- if(!get_int_attr(attrs, dst_atom, &dst)) {
+ if (!get_int_attr(attrs, dst_atom, &dst)) {
add_int_attr(attrs, dst_atom, value);
}
set_int_attr(attrs, dst_atom, value);
@@ -277,7 +277,7 @@ set_dst_condition_atom(attr_list attrs, int condition)
{
atom_t dst_atom = attr_atom_from_string("fp_dst_condition");
int dst;
- if(!get_int_attr(attrs, dst_atom, &dst)){
+ if (!get_int_attr(attrs, dst_atom, &dst)) {
add_int_attr(attrs, dst_atom, condition);
}
set_int_attr(attrs, dst_atom, condition);
@@ -293,7 +293,7 @@ evgroup_msg_free(void *eventData, void *clientData)
/* evgroup *msg = (evgroup*)eventData; */
/* int num_vars = msg->num_vars; */
/* int i; */
- /* for(i=0; i<num_vars; i++){ */
+ /* for (i=0; i<num_vars; i++) { */
/* free(msg->vars[i].offsets); */
/* } */
/* free(msg); */
@@ -327,7 +327,7 @@ op_free(void* eventData, void* clientData)
{
fp_write_log("OP", "freeing an op message\n");
op_msg* op = (op_msg*) eventData;
- if(op->file_name) {
+ if (op->file_name) {
free(op->file_name);
}
free(op);
@@ -337,12 +337,12 @@ op_free(void* eventData, void* clientData)
int
queue_count(FlexpathQueueNode** queue)
{
- if(*queue==NULL) {
+ if (*queue==NULL) {
return 0;
}
int count = 1;
FlexpathQueueNode* current = *queue;
- while(current && current->next) {
+ while (current && current->next) {
count++;
current = current->next;
}
@@ -360,8 +360,8 @@ threaded_enqueue(
int max_size)
{
pthread_mutex_lock(mutex);
- if(max_size > 0){
- while(queue_count(queue) > max_size){
+ if (max_size > 0) {
+ while (queue_count(queue) > max_size) {
pthread_cond_wait(condition, mutex);
}
}
@@ -383,23 +383,23 @@ threaded_dequeue(
int signal_dequeue)
{
pthread_mutex_lock(mutex);
- while(queue_count(queue) == 0) {
+ while (queue_count(queue) == 0) {
pthread_cond_wait(condition, mutex);
}
FlexpathQueueNode *tail;
FlexpathQueueNode *prev = NULL;
tail = *queue;
- while(tail && tail->next) {
+ while (tail && tail->next) {
prev=tail;
tail=tail->next;
}
- if(prev) {
+ if (prev) {
prev->next = NULL;
} else {
*queue = NULL;
}
pthread_mutex_unlock(mutex);
- if(signal_dequeue==1) {
+ if (signal_dequeue==1) {
pthread_cond_broadcast(condition);
}
return tail;
@@ -413,12 +413,12 @@ threaded_peek(FlexpathQueueNode** queue,
{
pthread_mutex_lock(mutex);
int q = queue_count(queue);
- if(q == 0) {
+ if (q == 0) {
pthread_cond_wait(condition, mutex);
}
FlexpathQueueNode* tail;
tail = *queue;
- while(tail && tail->next) {
+ while (tail && tail->next) {
tail=tail->next;
}
pthread_mutex_unlock(mutex);
@@ -429,7 +429,7 @@ threaded_peek(FlexpathQueueNode** queue,
FlexpathVarNode*
add_var(FlexpathVarNode* queue, char* varName, FlexpathVarNode* dims, int rank)
{
- if(queue) {
+ if (queue) {
queue->next=add_var(queue->next, varName, dims, rank);
return queue;
} else {
@@ -446,7 +446,7 @@ add_var(FlexpathVarNode* queue, char* varName, FlexpathVarNode* dims, int rank)
void
free_vars(FlexpathVarNode* queue)
{
- if(queue) {
+ if (queue) {
free_vars(queue->next);
free(queue->varName);
free(queue);
@@ -458,14 +458,14 @@ FlexpathVarNode*
queue_contains(FlexpathVarNode* queue, const char* name, int rank)
{
int compare_rank = 0;
- if(rank >= 0 ) {
+ if (rank >= 0 ) {
compare_rank = 1;
}
FlexpathVarNode* tmp = queue;
- while(tmp) {
- if(strcmp(tmp->varName, name)==0){
- if(compare_rank) {
- if(tmp->rank == rank) {
+ while (tmp) {
+ if (strcmp(tmp->varName, name)==0) {
+ if (compare_rank) {
+ if (tmp->rank == rank) {
return tmp;
}
} else {
@@ -534,21 +534,22 @@ get_var_offsets(struct adios_var_struct *v,
uint64_t **local_dimensions,
uint64_t **global_dimensions)
{
- struct adios_dimension_struct * dim_list = v->dimensions;
-
+ struct adios_dimension_struct * dim_list = v->dimensions;
int ndims = 0;
while (dim_list) {
ndims++;
dim_list = dim_list->next;
}
- dim_list = v->dimensions;
-
- if(ndims){
+ dim_list = v->dimensions;
+
+ if (ndims) {
+ uint64_t global = adios_get_dim_value(&dim_list->global_dimension);
+ if (global == 0) { return 0;}
uint64_t *local_offsets = (uint64_t*)malloc(sizeof(uint64_t) * ndims);
uint64_t *local_sizes = (uint64_t*)malloc(sizeof(uint64_t) * ndims);
uint64_t *global_sizes = (uint64_t*)malloc(sizeof(uint64_t) * ndims);
int n = 0;
- while(dim_list) {
+ while (dim_list) {
local_sizes[n] = (uint64_t)adios_get_dim_value(&dim_list->dimension);
local_offsets[n] = (uint64_t)adios_get_dim_value(&dim_list->local_offset);
global_sizes[n] = (uint64_t)adios_get_dim_value(&dim_list->global_dimension);
@@ -572,40 +573,40 @@ char *multiqueue_action = "{\n\
int flush_data_count = 0; \n\
int my_rank = -1;\n\
attr_list mine;\n\
- if(EVcount_varMsg()>0) {\n\
+ if (EVcount_varMsg()>0) {\n\
EVdiscard_and_submit_varMsg(0, 0);\n\
}\n\
- if(EVcount_update_step_msg() > 1) {\n\
+ if (EVcount_update_step_msg() > 1) {\n\
EVdiscard_update_step_msg(0);\n\
}\n\
- if(EVcount_drop_evgroup_msg()>0) {\n\
- if(EVcount_evgroup()>0) {\n\
+ if (EVcount_drop_evgroup_msg()>0) {\n\
+ if (EVcount_evgroup()>0) {\n\
EVdiscard_evgroup(0);\n\
}\n\
EVdiscard_and_submit_drop_evgroup_msg(0,0);\n\
}\n\
- if(EVcount_op_msg()>0) {\n\
+ if (EVcount_op_msg()>0) {\n\
op_msg *msg = EVdata_op_msg(0);\n\
mine = EVget_attrs_op_msg(0);\n\
found = attr_ivalue(mine, \"fp_dst_rank\");\n\
- if(found > 0) {\n\
+ if (found > 0) {\n\
EVdiscard_and_submit_op_msg(found, 0);\n\
} else {\n\
EVdiscard_and_submit_op_msg(0,0);\n\
}\n\
}\n\
- if(EVcount_flush()>0) {\n\
+ if (EVcount_flush()>0) {\n\
flush *c = EVdata_flush(0);\n\
- if(c->type == 2) { \n\
- if(EVcount_evgroup()>0){\n\
+ if (c->type == 2) { \n\
+ if (EVcount_evgroup()>0) {\n\
evgroup *g = EVdata_evgroup(0); \n\
g->condition = c->condition;\n\
EVsubmit(c->process_id+1, g);\n\
EVdiscard_flush(0);\n\
}\n\
}\n\
- else if(c->type == 3) {\n\
- if(EVcount_update_step_msg()>0) {\n\
+ else if (c->type == 3) {\n\
+ if (EVcount_update_step_msg()>0) {\n\
update_step_msg *stepmsg = EVdata_update_step_msg(0);\n\
stepmsg->condition = c->condition;\n\
EVsubmit(c->process_id+1, stepmsg);\n\
@@ -617,7 +618,7 @@ char *multiqueue_action = "{\n\
flush_data_count++;\n\
}\n\
}\n\
- if(EVcount_anonymous()>0){\n\
+ if (EVcount_anonymous()>0) {\n\
mine = EVget_attrs_anonymous(0);\n\
found = attr_ivalue(mine, \"fp_dst_rank\");\n\
EVdiscard_and_submit_anonymous(found+1,0);\n\
@@ -631,7 +632,7 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
FMFieldList field_list = *field_list_ptr;
switch (type) {
case adios_unknown:
- perr("set_field: Bad Type Error\n");
+ fprintf(stderr, "set_field: Bad Type Error %d\n", type);
break;
case adios_unsigned_integer:
@@ -640,13 +641,7 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
field_list[fieldNo].field_offset = *size;
*size += sizeof(unsigned int);
break;
-
- case adios_unsigned_long:
- field_list[fieldNo].field_type = strdup("unsigned long");
- field_list[fieldNo].field_size = sizeof(unsigned long);
- field_list[fieldNo].field_offset = *size;
- *size += sizeof(unsigned long);
-
+
case adios_integer:
field_list[fieldNo].field_type = strdup("integer");
field_list[fieldNo].field_size = sizeof(int);
@@ -654,7 +649,7 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
*size += sizeof(int);
break;
- case adios_real:
+ case adios_real:
field_list[fieldNo].field_type = strdup("float");
field_list[fieldNo].field_size = sizeof(float);
field_list[fieldNo].field_offset = *size;
@@ -669,12 +664,19 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
break;
case adios_double:
- field_list[fieldNo].field_type = strdup("float");
+ field_list[fieldNo].field_type = strdup("double");
field_list[fieldNo].field_size = sizeof(double);
field_list[fieldNo].field_offset = *size;
*size += sizeof(double);
break;
+ case adios_long_double:
+ field_list[fieldNo].field_type = strdup("double");
+ field_list[fieldNo].field_size = sizeof(long double);
+ field_list[fieldNo].field_offset = *size;
+ *size += sizeof(long double);
+ break;
+
case adios_byte:
field_list[fieldNo].field_type = strdup("char");
field_list[fieldNo].field_size = sizeof(char);
@@ -682,6 +684,20 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
*size += sizeof(char);
break;
+ case adios_long:
+ field_list[fieldNo].field_type = strdup("integer");
+ field_list[fieldNo].field_size = sizeof(long);
+ field_list[fieldNo].field_offset = *size;
+ *size += sizeof(long);
+ break;
+
+ case adios_unsigned_long:
+ field_list[fieldNo].field_type = strdup("unsigned integer");
+ field_list[fieldNo].field_size = sizeof(unsigned long);
+ field_list[fieldNo].field_offset = *size;
+ *size += sizeof(unsigned long);
+ break;
+
case adios_complex:
field_list[fieldNo].field_type = strdup("complex");
field_list[fieldNo].field_size = sizeof(complex_dummy);
@@ -697,7 +713,7 @@ set_field(int type, FMFieldList* field_list_ptr, int fieldNo, int* size)
break;
default:
- perr("set_field: Unknown Type Error\n");
+ fprintf(stderr, "set_field: Unknown Type Error %d\n", type);
break;
}
*field_list_ptr = field_list;
@@ -718,7 +734,7 @@ internal_find_field(char *name, FMFieldList flist)
void
mem_check(void* ptr, const char* str)
{
- if(!ptr) {
+ if (!ptr) {
adios_error(err_no_memory, "Cannot allocate memory for flexpath %s.", str);
}
}
@@ -776,17 +792,16 @@ set_format(struct adios_group_struct *t,
// use the mangled name for the field.
field_list[fieldNo].field_name = fullname;
- if(fullname!=NULL) {
+ if (fullname!=NULL) {
int num_dims = 0;
char atom_name[200] = "";
FlexpathVarNode *dims=NULL;
- if(adios_var->dimensions) {
+ if (adios_var->dimensions) {
struct adios_dimension_struct *adim = adios_var->dimensions;
// attach appropriate attrs for dimensions
- for(; adim != NULL; adim = adim->next) {
+ for (; adim != NULL; adim = adim->next) {
num_dims++;
-
// have to change get_alt_name to append FPVAR at the start of each varname.
char *vname = get_dim_name(&adim->dimension);
if (vname) {
@@ -798,13 +813,16 @@ set_format(struct adios_group_struct *t,
set_attr_dimensions(fullname, aname, num_dims, fileData->attrs);
}
char *gname = get_dim_name(&adim->global_dimension);
- if(gname) {
+ if (gname) {
fileData->globalCount++;
//char *name = find_fixed_name(currentFm, gname);
char *aname = get_alt_name(fullname, gname);
dims=add_var(dims, strdup(aname), NULL, 0);
set_attr_dimensions(fullname, aname, num_dims, fileData->attrs);
}
+ if (adim->global_dimension.rank > 0) {
+ fileData->globalCount++;
+ }
}
}
// attach ndims attr
@@ -846,7 +864,7 @@ set_format(struct adios_group_struct *t,
}
v_offset *= -1;
- while(currentFm->size % 8 != 0) {
+ while (currentFm->size % 8 != 0) {
currentFm->size ++;
}
@@ -884,21 +902,6 @@ set_format(struct adios_group_struct *t,
{ currentFm->size += (v_offset * sizeof(unsigned int)); }
break;
- case adios_unsigned_long: // needs to be unsigned integer in ffs
- // to distinguish on reader_side, I have to look at the size also
- field_list[fieldNo].field_type =
- (char *) malloc(sizeof(char) * 255);
- snprintf((char *) field_list[fieldNo].field_type, 255,
- "unsigned long%s", dims);
- field_list[fieldNo].field_size = sizeof(unsigned long);
-
- field_list[fieldNo].field_offset = currentFm->size;
- if (v_offset == 0 ) // pointer to variably sized array
- { currentFm->size += sizeof(void *); }
- else // statically sized array allocated inline
- { currentFm->size += (v_offset * sizeof(unsigned long)); }
- break;
-
case adios_real:
field_list[fieldNo].field_type =
(char *) malloc(sizeof(char) * 255);
@@ -931,6 +934,19 @@ set_format(struct adios_group_struct *t,
else // statically sized array allocated inline
{ currentFm->size += (v_offset * sizeof(double)); }
break;
+
+ case adios_long_double:
+ field_list[fieldNo].field_type =
+ (char *) malloc(sizeof(char) * 255);
+ snprintf((char *) field_list[fieldNo].field_type, 255,
+ "double%s", dims);
+ field_list[fieldNo].field_size = sizeof(long double);
+ field_list[fieldNo].field_offset = currentFm->size;
+ if (v_offset == 0 ) // pointer to variably sized array
+ { currentFm->size += sizeof(void *); }
+ else // statically sized array allocated inline
+ { currentFm->size += (v_offset * sizeof(long double)); }
+ break;
case adios_byte:
field_list[fieldNo].field_type =
@@ -945,7 +961,37 @@ set_format(struct adios_group_struct *t,
{ currentFm->size += (v_offset * sizeof(char)); }
break;
- case adios_complex:
+ case adios_long: // needs to be unsigned integer in ffs
+ // to distinguish on reader_side, I have to look at the size also
+ field_list[fieldNo].field_type =
+ (char *) malloc(sizeof(char) * 255);
+ snprintf((char *) field_list[fieldNo].field_type, 255,
+ "integer%s", dims);
+ field_list[fieldNo].field_size = sizeof(long);
+
+ field_list[fieldNo].field_offset = currentFm->size;
+ if (v_offset == 0 ) // pointer to variably sized array
+ { currentFm->size += sizeof(void *); }
+ else // statically sized array allocated inline
+ { currentFm->size += (v_offset * sizeof(long)); }
+ break;
+
+ case adios_unsigned_long: // needs to be unsigned integer in ffs
+ // to distinguish on reader_side, I have to look at the size also
+ field_list[fieldNo].field_type =
+ (char *) malloc(sizeof(char) * 255);
+ snprintf((char *) field_list[fieldNo].field_type, 255,
+ "unsigned integer%s", dims);
+ field_list[fieldNo].field_size = sizeof(unsigned long);
+
+ field_list[fieldNo].field_offset = currentFm->size;
+ if (v_offset == 0 ) // pointer to variably sized array
+ { currentFm->size += sizeof(void *); }
+ else // statically sized array allocated inline
+ { currentFm->size += (v_offset * sizeof(unsigned long)); }
+ break;
+
+ case adios_complex:
field_list[fieldNo].field_type =
(char *) malloc(sizeof(char) * 255);
snprintf((char *) field_list[fieldNo].field_type, 255, "complex%s",
@@ -1013,7 +1059,7 @@ set_format(struct adios_group_struct *t,
format[1].field_list = complex_dummy_field_list;
format[2].format_name = strdup("double_complex");
format[2].field_list = double_complex_dummy_field_list;
-
+
format[0].struct_size = currentFm->size;
format[1].struct_size = sizeof(complex_dummy);
format[2].struct_size = sizeof(double_complex_dummy);
@@ -1031,20 +1077,20 @@ void* copy_buffer(void* buffer, int rank, FlexpathWriteFileData* fileData)
while (f->field_name != NULL)
{
FlexpathVarNode* a;
- if(!queue_contains(fileData->askedVars, f->field_name, rank)) {
- if((a=queue_contains(fileData->formatVars, f->field_name, -1))
+ if (!queue_contains(fileData->askedVars, f->field_name, rank)) {
+ if ((a=queue_contains(fileData->formatVars, f->field_name, -1))
&&
(a->dimensions != NULL)) {
FlexpathVarNode* dim = a->dimensions;
- while(dim) {
+ while (dim) {
FMField *f2 = fileData->fm->format[0].field_list;
- while(f2->field_name != NULL) {
- if(strcmp(f2->field_name, dim->varName)==0) {
+ while (f2->field_name != NULL) {
+ if (strcmp(f2->field_name, dim->varName)==0) {
break;
}
f2++;
}
- if(f2->field_name != NULL) {
+ if (f2->field_name != NULL) {
memset(&temp[f2->field_offset], 0, f2->field_size);
}
dim = dim->next;
@@ -1067,7 +1113,7 @@ process_data_flush(FlexpathWriteFileData *fileData,
fileData->attrs = set_dst_rank_atom(fileData->attrs, flushMsg->process_id);
fileData->attrs = set_flush_id_atom(fileData->attrs, flushMsg->id);
- if(!fileData->bridges[flushMsg->process_id].opened) {
+ if (!fileData->bridges[flushMsg->process_id].opened) {
fileData->bridges[flushMsg->process_id].opened=1;
fileData->openCount++;
}
@@ -1089,7 +1135,7 @@ process_open_msg(FlexpathWriteFileData *fileData, op_msg *open)
{
fileData->bridges[open->process_id].step = open->step;
fileData->bridges[open->process_id].condition = open->condition;
- if(!fileData->bridges[open->process_id].created){
+ if (!fileData->bridges[open->process_id].created) {
fileData->bridges[open->process_id].created = 1;
fileData->bridges[open->process_id].myNum =
EVcreate_bridge_action(
@@ -1104,7 +1150,7 @@ process_open_msg(FlexpathWriteFileData *fileData, op_msg *open)
fileData->bridges[open->process_id].myNum);
}
- if (open->step == fileData->readerStep){
+ if (open->step == fileData->readerStep) {
pthread_mutex_lock(&fileData->openMutex);
fileData->openCount++;
fileData->bridges[open->process_id].opened = 1;
@@ -1119,7 +1165,7 @@ process_open_msg(FlexpathWriteFileData *fileData, op_msg *open)
fileData->attrs = set_dst_rank_atom(fileData->attrs, open->process_id+1);
EVsubmit_general(fileData->opSource, ack, op_free, fileData->attrs);
}
- else if(open->step < fileData->readerStep) {
+ else if (open->step < fileData->readerStep) {
log_error("Flexpath method control_thread: Received Past Step Open\n");
}
else {
@@ -1137,7 +1183,7 @@ process_close_msg(FlexpathWriteFileData *fileData, op_msg *close)
fileData->bridges[close->process_id].condition = close->condition;
pthread_mutex_unlock(&fileData->openMutex);
- if(fileData->openCount==0) {
+ if (fileData->openCount==0) {
FlexpathQueueNode* node = threaded_dequeue(&fileData->dataQueue,
&fileData->dataMutex,
&fileData->dataCondition, 1);
@@ -1194,7 +1240,7 @@ flush_handler(CManager cm, void* vevent, void* client_data, attr_list attrs)
}
static int
-drop_evgroup_handler(CManager cm, void *vevent, void *client_data, attr_list attrs){
+drop_evgroup_handler(CManager cm, void *vevent, void *client_data, attr_list attrs) {
drop_evgroup_msg *msg = vevent;
// will have to change when not using control thread.
CMCondition_signal(cm, msg->condition);
@@ -1207,10 +1253,10 @@ op_handler(CManager cm, void* vevent, void* client_data, attr_list attrs)
FlexpathWriteFileData* fileData = (FlexpathWriteFileData*) client_data;
op_msg* msg = (op_msg*) vevent;
EVtake_event_buffer(cm, vevent);
- if(msg->type == OPEN_MSG) {
+ if (msg->type == OPEN_MSG) {
threaded_enqueue(&fileData->controlQueue, msg, OPEN,
&fileData->controlMutex, &fileData->controlCondition, -1);
- } else if(msg->type == CLOSE_MSG) {
+ } else if (msg->type == CLOSE_MSG) {
threaded_enqueue(&fileData->controlQueue, msg, CLOSE,
&fileData->controlMutex, &fileData->controlCondition, -1);
}
@@ -1225,15 +1271,15 @@ control_thread(void *arg)
int rank = fileData->rank;
FlexpathQueueNode *controlMsg;
FlexpathQueueNode *dataNode;
- while(1) {
- if((controlMsg = threaded_dequeue(&fileData->controlQueue,
+ while (1) {
+ if ((controlMsg = threaded_dequeue(&fileData->controlQueue,
&fileData->controlMutex, &fileData->controlCondition, 0))) {
- if(controlMsg->type==VAR){
+ if (controlMsg->type==VAR) {
Var_msg *varMsg = (Var_msg*) controlMsg->data;
process_var_msg(fileData, varMsg);
EVreturn_event_buffer(flexpathWriteData.cm,controlMsg->data);
}
- else if(controlMsg->type==DATA_FLUSH) {
+ else if (controlMsg->type==DATA_FLUSH) {
Flush_msg *flushMsg = (Flush_msg*)controlMsg->data;
dataNode = threaded_peek(&fileData->dataQueue,
&fileData->dataMutex,
@@ -1241,17 +1287,17 @@ control_thread(void *arg)
process_data_flush(fileData, flushMsg, dataNode);
}
- else if(controlMsg->type==OPEN) {
+ else if (controlMsg->type==OPEN) {
op_msg *open = (op_msg*) controlMsg->data;
process_open_msg(fileData, open);
EVreturn_event_buffer(flexpathWriteData.cm, open);
}
- else if(controlMsg->type==CLOSE) {
+ else if (controlMsg->type==CLOSE) {
op_msg* close = (op_msg*) controlMsg->data;
process_close_msg(fileData, close);
EVreturn_event_buffer(flexpathWriteData.cm, close);
}
- else{
+ else {
log_error("control_thread: Unrecognized Control Message\n");
}
}
@@ -1264,10 +1310,10 @@ void
add_open_file(FlexpathWriteFileData* newFile)
{
FlexpathWriteFileData* last = flexpathWriteData.openFiles;
- while(last && last->next) {
+ while (last && last->next) {
last = last->next;
}
- if(last) {
+ if (last) {
last->next = newFile;
} else {
flexpathWriteData.openFiles = newFile;
@@ -1279,7 +1325,7 @@ FlexpathWriteFileData*
find_open_file(char* name)
{
FlexpathWriteFileData* file = flexpathWriteData.openFiles;
- while(file && strcmp(file->name, name)) {
+ while (file && strcmp(file->name, name)) {
file = file->next;
}
return file;
@@ -1299,8 +1345,8 @@ adios_flexpath_init(const PairStruct *params, struct adios_method_struct *method
flexpathWriteData.cm = CManager_create();
atom_t CM_TRANSPORT = attr_atom_from_string("CM_TRANSPORT");
char * transport = getenv("CMTransport");
- if(transport == NULL){
- if(CMlisten(flexpathWriteData.cm) == 0) {
+ if (transport == NULL) {
+ if (CMlisten(flexpathWriteData.cm) == 0) {
fprintf(stderr, "error: unable to initialize connection manager.\n");
exit(1);
}
@@ -1316,7 +1362,7 @@ adios_flexpath_init(const PairStruct *params, struct adios_method_struct *method
// fork communications thread
int forked = CMfork_comm_thread(flexpathWriteData.cm);
- if(!forked) {
+ if (!forked) {
fprintf(stderr, "Wrtier error forking comm thread\n");
}
}
@@ -1326,13 +1372,13 @@ adios_flexpath_open(struct adios_file_struct *fd,
struct adios_method_struct *method,
MPI_Comm comm)
{
- if( fd == NULL || method == NULL) {
+ if ( fd == NULL || method == NULL) {
perr("open: Bad input parameters\n");
return -1;
}
// file creation
- if(find_open_file(method->group->name)) {
+ if (find_open_file(method->group->name)) {
// stream already open
return 0;
}
@@ -1343,7 +1389,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
fileData->maxQueueSize = 1;
fileData->use_ctrl_thread = 1;
- if(method->parameters) {
+ if (method->parameters) {
sscanf(method->parameters,"QUEUE_SIZE=%d;", &fileData->maxQueueSize);
}
@@ -1376,7 +1422,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
MPI_Comm_size((fileData->mpiComm), &fileData->size);
char *recv_buff = NULL;
char sendmsg[CONTACT_LENGTH];
- if(fileData->rank == 0) {
+ if (fileData->rank == 0) {
recv_buff = (char *) malloc(fileData->size*CONTACT_LENGTH*sizeof(char));
}
@@ -1389,10 +1435,10 @@ adios_flexpath_open(struct adios_file_struct *fd,
CONTACT_LENGTH, MPI_CHAR, 0, (fileData->mpiComm));
// rank 0 prints contact info to file
- if(fileData->rank == 0) {
+ if (fileData->rank == 0) {
sprintf(writer_info_filename, "%s_%s", fd->name, "writer_info.txt");
FILE* writer_info = fopen(writer_info_filename,"w");
- for(i=0; i<fileData->size; i++) {
+ for (i=0; i<fileData->size; i++) {
fprintf(writer_info, "%s\n",&recv_buff[i*CONTACT_LENGTH]);
}
fclose(writer_info);
@@ -1401,7 +1447,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
// poll file - race condition issues
FILE* reader_ready = NULL;
sprintf(reader_ready_filename, "%s_%s", fd->name, "reader_ready.txt");
- while(!reader_ready){
+ while (!reader_ready) {
reader_ready = fopen(reader_ready_filename,"r");
}
fclose(reader_ready);
@@ -1409,14 +1455,14 @@ adios_flexpath_open(struct adios_file_struct *fd,
// read contact list
sprintf(reader_info_filename, "%s_%s", fd->name, "reader_info.txt");
FILE* reader_info = fopen(reader_info_filename, "r");
- if(!reader_info){
+ if (!reader_info) {
reader_info = fopen(reader_info_filename, "r");
}
char in_contact[CONTACT_LENGTH] = "";
int numBridges = 0;
int stone_num;
// build a bridge per line
- while(fscanf(reader_info, "%d:%s",&stone_num, in_contact)!=EOF){
+ while (fscanf(reader_info, "%d:%s",&stone_num, in_contact)!=EOF) {
//fprintf(stderr, "reader contact: %d:%s\n", stone_num, in_contact);
fileData->bridges = realloc(fileData->bridges, sizeof(FlexpathStone) * (numBridges + 1));
attr_list contact_list = attr_list_from_string(in_contact);
@@ -1433,7 +1479,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
MPI_Barrier((fileData->mpiComm));
// cleanup of reader files (writer is done with it).
- if(fileData->rank == 0){
+ if (fileData->rank == 0) {
unlink(reader_info_filename);
unlink(reader_ready_filename);
}
@@ -1441,14 +1487,14 @@ adios_flexpath_open(struct adios_file_struct *fd,
//process group format
struct adios_group_struct *t = method->group;
- if(t == NULL){
+ if (t == NULL) {
adios_error(err_invalid_group, "Invalid group.\n");
return err_invalid_group;
}
fileData->host_language = t->adios_host_language_fortran;
struct adios_var_struct *fields = t->vars;
- if(fields == NULL){
+ if (fields == NULL) {
adios_error(err_invalid_group, "Group has no variables.\n");
return err_invalid_group;
}
@@ -1514,7 +1560,7 @@ adios_flexpath_open(struct adios_file_struct *fd,
fileData->fm->ioFormat = register_data_format(my_context, fileData->fm->format);
sprintf(writer_ready_filename, "%s_%s", fd->name, "writer_ready.txt");
- if(fileData->rank == 0) {
+ if (fileData->rank == 0) {
FILE* writer_info = fopen(writer_ready_filename, "w");
fprintf(writer_info, "ready");
fclose(writer_info);
@@ -1532,7 +1578,7 @@ extern void
adios_flexpath_write(
struct adios_file_struct *fd,
struct adios_var_struct *f,
- void *data,
+ const void *data,
struct adios_method_struct *method)
{
FlexpathWriteFileData* fileData = find_open_file(method->group->name);
@@ -1555,10 +1601,15 @@ adios_flexpath_write(
if (!f->dimensions) {
if (data) {
//why wouldn't it have data?
- memcpy(&fm->buffer[field->field_offset], data, field->field_size);
+ if (f->type == adios_string) {
+ char *tmpstr = strdup((char*)data);
+ set_FMPtrField_by_name(flist, fullname, fm->buffer, tmpstr);
+ } else {
+ memcpy(&fm->buffer[field->field_offset], data, field->field_size);
+ }
//scalar quantities can have FlexpathAltNames also so assign those
- if(field->field_name != NULL) {
+ if (field->field_name != NULL) {
FlexpathDimNames *d = NULL;
for (d = fm->dimList.lh_first; d != NULL; d = d->entries.le_next) {
@@ -1567,11 +1618,15 @@ adios_flexpath_write(
//check if there are FlexpathAltNames
FlexpathAltName *a = NULL;
for (a = d->altList.lh_first; a != NULL; a = a->entries.le_next) {
- /* fprintf(stderr, "ALTNAME: %s, DIM: %s FIELD: %s\n", */
- /* a->name, d->name, field->field_name); */
- memcpy(&fm->buffer[a->field->field_offset],
- data,
- a->field->field_size);
+ if (f->type == adios_string) {
+ char *tmpstr = strdup((char*)data);
+ set_FMPtrField_by_name(flist, fullname, fm->buffer, tmpstr);
+ //(strcpy(&fm->buffer[a->field->field_offset], (char*)data));
+ } else {
+ memcpy(&fm->buffer[a->field->field_offset],
+ data,
+ a->field->field_size);
+ }
}
}
}
@@ -1608,8 +1663,8 @@ adios_flexpath_write(
extern void
adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *method)
{
- FlexpathWriteFileData* fileData = find_open_file(method->group->name);
- void* buffer = malloc(fileData->fm->size);
+ FlexpathWriteFileData *fileData = find_open_file(method->group->name);
+ void *buffer = malloc(fileData->fm->size);
memcpy(buffer, fileData->fm->buffer, fileData->fm->size);
threaded_enqueue(&fileData->dataQueue, buffer,
@@ -1618,25 +1673,21 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
&fileData->dataCondition,
fileData->maxQueueSize);
- int c = 0;
-
// now gather offsets and send them via MPI to root
struct adios_group_struct * g = fd->group;
struct adios_var_struct * list = g->vars;
evgroup *gp = malloc(sizeof(evgroup));
gp->group_name = strdup(method->group->name);
gp->process_id = fileData->rank;
- if(fileData->globalCount == 0){
+ if (fileData->globalCount == 0 ) {
gp->num_vars = 0;
gp->step = fileData->writerStep;
gp->vars = NULL;
- //fileData->gp = gp;
- //fileData->attrs = set_size_atom(fileData->attrs, fileData->size);
EVsubmit_general(fileData->offsetSource, gp, evgroup_msg_free, fileData->attrs);
}
- else{
+ else {
// process local offsets here
int num_gbl_vars = 0;
global_var * gbl_vars = NULL;
@@ -1644,7 +1695,7 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
int myrank = fileData->rank;
int commsize = fileData->size;
- while(list){
+ while (list) {
char *fullname = resolve_path_name(list->path, list->name);
//int num_local_offsets = 0;
uint64_t *local_offsets = NULL;
@@ -1661,7 +1712,7 @@ adios_flexpath_close(struct adios_file_struct *fd, struct adios_method_struct *m
reverse_dims(global_dimensions, num_local_offsets);
}
- if(num_local_offsets > 0){
+ if (num_local_offsets > 0) {
uint64_t *all_offsets = NULL;
uint64_t *all_local_dims = NULL;
@@ -1718,7 +1769,7 @@ extern void
adios_flexpath_finalize(int mype, struct adios_method_struct *method)
{
FlexpathWriteFileData* fileData = flexpathWriteData.openFiles;
- while(fileData) {
+ while (fileData) {
update_step_msg *stepmsg = malloc(sizeof(update_step_msg));
stepmsg->finalized = 1;
@@ -1727,7 +1778,7 @@ adios_flexpath_finalize(int mype, struct adios_method_struct *method)
EVsubmit_general(fileData->stepSource, stepmsg, update_step_msg_free, fileData->attrs);
pthread_mutex_lock(&fileData->dataMutex);
- while(fileData->dataQueue != NULL) {
+ while (fileData->dataQueue != NULL) {
pthread_cond_wait(&fileData->dataCondition, &fileData->dataMutex);
}
pthread_mutex_unlock(&fileData->dataMutex);
@@ -1772,21 +1823,21 @@ adios_flexpath_get_write_buffer(struct adios_file_struct *fd,
{
uint64_t mem_allowed;
- if (*size == 0){
+ if (*size == 0) {
*buffer = 0;
return;
}
- if (v->data && v->free_data == adios_flag_yes){
+ if (v->adata && v->free_data == adios_flag_yes) {
adios_method_buffer_free (v->data_size);
- free (v->data);
- v->data = NULL;
+ free (v->adata);
+ v->data = v->adata = NULL;
}
mem_allowed = adios_method_buffer_alloc (*size);
- if (mem_allowed == *size){
+ if (mem_allowed == *size) {
*buffer = malloc (*size);
- if (!*buffer){
+ if (!*buffer) {
adios_method_buffer_free (mem_allowed);
log_error ("ERROR: Out of memory allocating %llu bytes for %s in %s:%s()\n"
,*size, v->name, __FILE__, __func__
@@ -1798,14 +1849,14 @@ adios_flexpath_get_write_buffer(struct adios_file_struct *fd,
*size = 0;
*buffer = 0;
}
- else{
+ else {
v->got_buffer = adios_flag_yes;
v->free_data = adios_flag_yes;
v->data_size = mem_allowed;
v->data = *buffer;
}
}
- else{
+ else {
adios_method_buffer_free (mem_allowed);
log_error ("OVERFLOW: Cannot allocate requested buffer of %llu "
"bytes for %s in %s:%s()\n"
diff --git a/src/write/adios_icee.c b/src/write/adios_icee.c
index c2b59ad..31aafc0 100644
--- a/src/write/adios_icee.c
+++ b/src/write/adios_icee.c
@@ -931,7 +931,7 @@ extern void
adios_icee_write(
struct adios_file_struct *fd,
struct adios_var_struct *f,
- void *data,
+ const void *data,
struct adios_method_struct *method)
{
log_debug ("%s\n", __FUNCTION__);
@@ -1010,7 +1010,7 @@ adios_icee_write(
}
}
- vp->data = f->data;
+ vp->data = (char*)f->data;
if (adios_verbose_level > 5) icee_varinfo_print(vp);
fp->nvars++;
diff --git a/src/write/adios_mpi.c b/src/write/adios_mpi.c
index 16eea10..8221854 100644
--- a/src/write/adios_mpi.c
+++ b/src/write/adios_mpi.c
@@ -616,7 +616,7 @@ enum ADIOS_FLAG adios_mpi_should_buffer (struct adios_file_struct * fd
MPI_File_read (md->fh, md->b.buff, md->b.pg_size, MPI_BYTE
,&md->status
);
- adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root);
+ adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root, &md->index->pg_tail);
#if 1
adios_init_buffer_read_vars_index (&md->b);
@@ -878,7 +878,7 @@ enum ADIOS_FLAG adios_mpi_should_buffer (struct adios_file_struct * fd
,&md->status
);
- adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root);
+ adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root, &md->index->pg_tail);
// find the largest time index so we can append properly
struct adios_index_process_group_struct_v1 * p;
@@ -890,7 +890,10 @@ enum ADIOS_FLAG adios_mpi_should_buffer (struct adios_file_struct * fd
max_time_index = p->time_index;
p = p->next;
}
- fd->group->time_index = ++max_time_index;
+ if (fd->mode == adios_mode_append) {
+ ++max_time_index;
+ }
+ fd->group->time_index = max_time_index;
MPI_Bcast (&fd->group->time_index, 1, MPI_INT, 0
,md->group_comm
);
@@ -1091,7 +1094,7 @@ enum ADIOS_FLAG adios_mpi_should_buffer (struct adios_file_struct * fd
void adios_mpi_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -1104,7 +1107,7 @@ void adios_mpi_write (struct adios_file_struct * fd
{
if (v->free_data == adios_flag_yes)
{
- free (v->data);
+ free (v->adata);
adios_method_buffer_free (v->data_size);
}
}
@@ -1193,11 +1196,11 @@ void adios_mpi_write (struct adios_file_struct * fd
uint64_t to_write = var_size;
int write_len = 0;
int count;
- char * buf_ptr = v->data;
+ const char * buf_ptr = v->data;
while (total_written < var_size)
{
write_len = (to_write > MAX_MPIWRITE_SIZE) ? MAX_MPIWRITE_SIZE : to_write;
- err = MPI_File_write (md->fh, buf_ptr, write_len, MPI_BYTE, &md->status);
+ err = MPI_File_write (md->fh, (char*)buf_ptr, write_len, MPI_BYTE, &md->status);
MPI_Get_count(&md->status, MPI_BYTE, &count);
if (count != write_len)
{
@@ -1265,10 +1268,10 @@ void adios_mpi_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data)
+ if (v->adata && v->free_data)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
+ free (v->adata);
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -1315,7 +1318,7 @@ void adios_mpi_read (struct adios_file_struct * fd
,struct adios_method_struct * method
)
{
- v->data = buffer;
+ v->data = v->adata = buffer;
v->data_size = buffer_size;
}
@@ -1332,6 +1335,7 @@ static void adios_mpi_do_read (struct adios_file_struct * fd
{
case 1:
case 2:
+ case 3:
{
// the three section headers
struct adios_process_group_header_struct_v1 pg_header;
@@ -1379,7 +1383,7 @@ static void adios_mpi_do_read (struct adios_file_struct * fd
if (v1)
{
- var_payload.payload = v1->data;
+ var_payload.payload = v1->adata;
adios_parse_var_data_payload_v1 (&md->b, &var_header
,&var_payload
,v1->data_size
@@ -1448,7 +1452,7 @@ void adios_mpi_close (struct adios_file_struct * fd
struct adios_var_struct * v = fd->group->vars;
while (v)
{
- v->data = 0;
+ v->data = v->adata = 0;
v = v->next;
}
@@ -1705,9 +1709,7 @@ void adios_mpi_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
// do not merge attributes from other processes from 1.4
/*
@@ -1716,7 +1718,7 @@ void adios_mpi_close (struct adios_file_struct * fd
);
*/
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -2136,9 +2138,7 @@ timeval_subtract (&timing.t8, &b, &a);
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
// do not merge attributes from other processes from 1.4
/*
@@ -2147,7 +2147,7 @@ timeval_subtract (&timing.t8, &b, &a);
);
*/
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
diff --git a/src/write/adios_mpi_amr.c b/src/write/adios_mpi_amr.c
index af043dc..61d387f 100644
--- a/src/write/adios_mpi_amr.c
+++ b/src/write/adios_mpi_amr.c
@@ -132,7 +132,7 @@ struct adios_MPI_thread_data_write
MPI_File * fh;
uint64_t * base_offset;
void * aggr_buff;
- int * total_data_size;
+ uint64_t * total_data_size;
};
#if defined(__APPLE__)
@@ -823,6 +823,7 @@ struct adios_var_struct * adios_mpi_amr_copy_var (struct adios_var_struct * v)
v_new->stats = 0;
v_new->free_data = v->free_data;
v_new->data = 0;
+ v_new->adata = 0;
v_new->data_size = v->data_size;
v_new->next = 0;
@@ -1016,7 +1017,7 @@ void * adios_mpi_amr_do_reopen_thread (void * param)
MPI_File_seek (md->fh, md->b.pg_index_offset, MPI_SEEK_SET);
MPI_File_read (md->fh, md->b.buff, md->b.pg_size, MPI_BYTE, &md->status);
- adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root);
+ adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root, &md->index->pg_tail);
// find the largest time index so we can append properly
struct adios_index_process_group_struct_v1 * p;
@@ -1537,14 +1538,14 @@ enum ADIOS_FLAG adios_mpi_amr_should_buffer (struct adios_file_struct * fd
}
MPI_Bcast (&fd->group->time_index, 1, MPI_INT, 0, md->g_comm1);
- MPI_Bcast (&md->b.pg_index_offset, 1, MPI_INT, 0, md->g_comm1);
+ MPI_Bcast (&md->b.pg_index_offset, 1, MPI_LONG_LONG, 0, md->g_comm1);
}
else //non-aggregators
{
fd->base_offset = 0;
fd->pg_start_in_file = fd->base_offset;
MPI_Bcast (&fd->group->time_index, 1, MPI_INT, 0, md->g_comm1);
- MPI_Bcast (&md->b.pg_index_offset, 1, MPI_INT, 0, md->g_comm1);
+ MPI_Bcast (&md->b.pg_index_offset, 1, MPI_LONG_LONG, 0, md->g_comm1);
}
if (md->group_comm == MPI_COMM_NULL)
@@ -1613,7 +1614,7 @@ enum ADIOS_FLAG adios_mpi_amr_should_buffer (struct adios_file_struct * fd
void adios_mpi_amr_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -1626,7 +1627,7 @@ void adios_mpi_amr_write (struct adios_file_struct * fd
{
if (v->free_data == adios_flag_yes)
{
- free (v->data);
+ free (v->adata);
adios_method_buffer_free (v->data_size);
}
}
@@ -1749,10 +1750,10 @@ void adios_mpi_amr_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data)
+ if (v->adata && v->free_data)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
+ free (v->adata);
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -1822,6 +1823,7 @@ static void adios_mpi_amr_do_read (struct adios_file_struct * fd
{
case 1:
case 2:
+ case 3:
{
// the three section headers
struct adios_process_group_header_struct_v1 pg_header;
@@ -1931,6 +1933,49 @@ uint32_t adios_mpi_amr_calculate_attributes_size (struct adios_file_struct * fd)
return overhead;
}
+
+/* Help routine to send data size greater than 2 GB */
+int adios_MPI_Send(void *buf, uint64_t count, int dest, int tag,
+ MPI_Comm comm)
+{
+ while (count > INT32_MAX)
+ {
+ MPI_Send (buf, INT32_MAX, MPI_BYTE, dest, tag, comm);
+ count -= INT32_MAX;
+ buf += INT32_MAX;
+ }
+
+ if (count)
+ {
+ int temp_count = (int) count;
+ MPI_Send (buf, temp_count, MPI_BYTE, dest, tag, comm);
+ }
+
+ return 0;
+}
+
+
+/* Help routine to receive data size greater than 2 GB */
+int adios_MPI_Recv(void *buf, uint64_t count, int source,
+ int tag, MPI_Comm comm, MPI_Status *status)
+{
+ while (count > INT32_MAX)
+ {
+ MPI_Recv (buf, INT32_MAX, MPI_BYTE, source, tag, comm, status);
+ count -= INT32_MAX;
+ buf += INT32_MAX;
+ }
+
+ if (count)
+ {
+ int temp_count = (int) count;
+ MPI_Recv (buf, temp_count, MPI_BYTE, source, tag, comm, status);
+ }
+
+ return 0;
+
+}
+
void adios_mpi_amr_bg_close (struct adios_file_struct * fd
,struct adios_method_struct * method
)
@@ -1959,10 +2004,11 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
uint64_t buffer_size = 0;
uint64_t buffer_offset = 0;
uint64_t index_start1;
- int * pg_sizes = 0, * disp = 0;
+ uint64_t * pg_sizes = 0, * disp = 0;
void * aggr_buff = 0, * recv_buff = 0;
struct adios_MPI_thread_data_write write_thread_data;
- int i, new_rank, new_group_size, new_rank2, new_group_size2, max_data_size = 0, total_data_size = 0, total_data_size1 = 0;
+ int i, new_rank, new_group_size, new_rank2, new_group_size2;
+ uint64_t max_data_size = 0, total_data_size = 0, total_data_size1 = 0;
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
//MPI_Comm_split (md->group_comm, md->g_color1, md->rank, &md->g_comm1);
MPI_Comm_rank (md->g_comm1, &new_rank);
@@ -2138,14 +2184,13 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
if (fd->shared_buffer == adios_flag_yes && !md->g_merging_pgs)
{
//printf ("do not merge pg\n");
- int pg_size;
+ uint64_t pg_size;
MPI_Request request;
MPI_Status status;
pg_size = fd->bytes_written;
-
- pg_sizes = (int *) malloc (new_group_size * 4);
- disp = (int *) malloc (new_group_size * 4);
+ pg_sizes = (uint64_t *) malloc (new_group_size * 8);
+ disp = (uint64_t *) malloc (new_group_size * 8);
if (pg_sizes == 0 || disp == 0)
{
adios_error (err_no_memory, "MPI_AMR method: Cannot allocate memory "
@@ -2154,8 +2199,8 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
}
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Allgather (&pg_size, 1, MPI_INT
- ,pg_sizes, 1, MPI_INT
+ MPI_Allgather (&pg_size, 1, MPI_UNSIGNED_LONG_LONG
+ ,pg_sizes, 1, MPI_UNSIGNED_LONG_LONG
,md->g_comm1);
STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
@@ -2175,7 +2220,7 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
if (aggr_buff == 0 || recv_buff == 0)
{
adios_error (err_no_memory, "MPI_AMR method (with brigade strategy): Cannot allocate "
- "2 x %d bytes for aggregation buffers. "
+ "2 x %lu bytes for aggregation buffers. "
"An aggregator process needs a buffer to hold one process' output for writing, "
"while it needs another buffer to concurrently receive another process' output for "
"subsequent writing.\n",
@@ -2189,7 +2234,7 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
if (recv_buff == 0)
{
adios_error (err_no_memory, "MPI_AMR method (with brigade strategy): Cannot allocate "
- "%d bytes for receive buffer in a non-aggregator process. "
+ "%lu bytes for receive buffer in a non-aggregator process. "
"This method needs an extra buffer in every process to pass data along "
"towards the aggregator.\n",
max_data_size);
@@ -2213,8 +2258,8 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
if (i + 1 < new_group_size)
{
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Irecv (recv_buff, pg_sizes[i + 1], MPI_BYTE, new_rank + 1
- ,0, md->g_comm1, &request);
+ adios_MPI_Recv (recv_buff, pg_sizes[i + 1], new_rank + 1
+ ,0, md->g_comm1, &status);
STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
}
@@ -2235,10 +2280,6 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
if (i + 1 < new_group_size)
{
- START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Wait (&request, &status);
- STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
-
memcpy (aggr_buff, recv_buff, pg_sizes[i + 1]);
}
}
@@ -2248,7 +2289,7 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
if (new_rank == new_group_size - 1)
{
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Send (fd->buffer, pg_size, MPI_BYTE, new_rank - 1
+ adios_MPI_Send (fd->buffer, pg_size, new_rank - 1
,0, md->g_comm1);
STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
}
@@ -2258,17 +2299,17 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
{
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
// Recv data from upstream rank
- MPI_Irecv (recv_buff, pg_sizes[i], MPI_BYTE, new_rank + 1
- ,0, md->g_comm1, &request);
+ adios_MPI_Recv (recv_buff, pg_sizes[i], new_rank + 1
+ ,0, md->g_comm1, &status);
if (i == new_rank + 1)
// Send my data to downstream rank
- MPI_Send (fd->buffer, pg_size, MPI_BYTE, new_rank - 1
+ adios_MPI_Send (fd->buffer, pg_size, new_rank - 1
,0, md->g_comm1);
- MPI_Wait (&request, &status);
+ //MPI_Wait (&request, &status);
// Send it to downstream rank
- MPI_Send (recv_buff, pg_sizes[i], MPI_BYTE, new_rank - 1
+ adios_MPI_Send (recv_buff, pg_sizes[i], new_rank - 1
,0, md->g_comm1);
STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
}
@@ -2350,9 +2391,7 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -2361,7 +2400,7 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
new_pg_root = 0;
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -2489,17 +2528,17 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
);
+ // global index would become unsorted on main aggregator during merging
+ // so sort timesteps if appending
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
- // Note: timesteps are unsorted after this merge (in case of multiple steps (append))
+ new_vars_root, new_attrs_root,
+ (fd->mode == adios_mode_append));
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -2552,14 +2591,6 @@ void adios_mpi_amr_bg_close (struct adios_file_struct * fd
uint64_t global_index_start = 0;
uint16_t flag = 0;
- if (fd->mode == adios_mode_append)
- {
- double t=MPI_Wtime();
- // global index become unsorted on main aggregator during merging
- adios_sort_index_v1 (&md->index->pg_root
- ,&md->index->vars_root ,&md->index->attrs_root);
- log_debug ("MPI_AGGREGATE: Index sorting time = %g sec\n", MPI_Wtime()-t);
- }
adios_write_index_v1 (&global_index_buffer, &global_index_buffer_size
,&global_index_buffer_offset, global_index_start
@@ -2678,10 +2709,11 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
uint64_t buffer_size = 0;
uint64_t buffer_offset = 0;
uint64_t index_start1;
- int * pg_sizes = 0, * disp = 0, * sendbuf = 0, * recvbuf = 0, * attr_sizes = 0;
+ uint64_t * pg_sizes = 0, * disp = 0;
void * aggr_buff = 0;
struct adios_MPI_thread_data_write write_thread_data;
- int i, new_rank, new_group_size, new_rank2, new_group_size2, total_data_size = 0, total_data_size1 = 0;;
+ int i, new_rank, new_group_size, new_rank2, new_group_size2;
+ uint64_t total_data_size = 0, total_data_size1 = 0;;
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
//MPI_Comm_split (md->group_comm, md->g_color1, md->rank, &new_comm);
@@ -2863,12 +2895,16 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
// if not merge PG's on the aggregator side
if (fd->shared_buffer == adios_flag_yes && !md->g_merging_pgs)
{
- //printf ("do not merge pg\n");
- int pg_size;
+ uint64_t pg_size;
pg_size = fd->bytes_written;
- pg_sizes = (int *) malloc (new_group_size * 4);
- disp = (int *) malloc (new_group_size * 4);
+ if (pg_size > INT32_MAX)
+ {
+ log_warn ("Each processor writes out more than %d bytes, Not supported in aggregation mode.\n",
+ INT32_MAX);
+ }
+ pg_sizes = (uint64_t *) malloc (new_group_size * 8);
+ disp = (uint64_t *) malloc (new_group_size * 8);
if (pg_sizes == 0 || disp == 0)
{
adios_error (err_no_memory,
@@ -2880,8 +2916,8 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
}
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Allgather (&pg_size, 1, MPI_INT
- ,pg_sizes, 1, MPI_INT
+ MPI_Allgather (&pg_size, 1, MPI_UNSIGNED_LONG_LONG
+ ,pg_sizes, 1, MPI_UNSIGNED_LONG_LONG
,md->g_comm1);
STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
@@ -2895,17 +2931,11 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
if (is_aggregator (md->rank))
{
- if (total_data_size > MAX_AGG_BUF)
- {
- log_warn ("The max allowed aggregation buffer is %d. Requested %d.\n"
- "Need to increase the number of aggregators.\n",
- MAX_AGG_BUF, total_data_size);
- }
aggr_buff = malloc (total_data_size);
if (aggr_buff == 0)
{
adios_error (err_no_memory,
- "MPI_AMR method (AG): Cannot allocate %d bytes "
+ "MPI_AMR method (AG): Cannot allocate %lu bytes "
"for aggregation buffer.\n"
"Need to increase the number of aggregators.\n",
total_data_size);
@@ -2917,6 +2947,8 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
}
START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
+ // This needs to be changed in the future to support > 2 GB data.
+ // The compile warning is kept here as a reminder. Q. Liu
MPI_Gatherv (fd->buffer, pg_size, MPI_BYTE
,aggr_buff, pg_sizes, disp, MPI_BYTE
,0, md->g_comm1);
@@ -2927,240 +2959,6 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
if (fd->shared_buffer == adios_flag_yes && md->g_merging_pgs)
{
log_warn ("MPI_AMR method (AG): Merging process blocks is not supported yet\n");
- // Merge PG's on the aggregator side
- struct adios_bp_buffer_struct_v1 b;
- struct adios_process_group_header_struct_v1 pg_header;
- struct adios_vars_header_struct_v1 vars_header;
- int pg_size, header_size;
- uint32_t attr_size;
- uint64_t vars_count_offset;
-
- // Unfortunately, we need to walk through the buffer to get vars count
- b.buff = fd->buffer;
- b.change_endianness = md->b.change_endianness;
- b.offset = 0;
- b.length = fd->bytes_written;
-
- adios_parse_process_group_header_v1 (&b, &pg_header);
- vars_count_offset = b.offset;
- adios_clear_process_group_header_v1 (&pg_header);
-
- adios_parse_vars_header_v1 (&b, &vars_header);
- header_size = b.offset;
- attr_size = adios_mpi_amr_calculate_attributes_size (fd);
-
- // reset vars count
- if (vars_header.count * new_group_size > UINT16_MAX)
- {
- adios_error (err_too_many_variables,
- "MPI_AMR method (AG): Variable count exceeds UINT16_MAX (%d), UINT16_MAX");
- return;
- }
- *(uint16_t *) (b.buff + vars_count_offset) =
- vars_header.count * new_group_size;
-
- // attributes size is save in the end
- adios_mpi_amr_buffer_write (&fd->buffer, &fd->buffer_size, &fd->offset, &attr_size, SHIM_FOOTER_SIZE);
- fd->bytes_written += SHIM_FOOTER_SIZE;
-
- // PG header, vars header, vars, attrs header, attrs, 4 bytes
- if (is_aggregator(md->rank))
- {
- pg_size = fd->bytes_written;
- }
- else
- {
- // Non-aggregator process doesn't need to send pg header + vars header
- pg_size = fd->bytes_written - header_size;
- }
-
- pg_sizes = (int *) malloc (new_group_size * 4);
- attr_sizes = (int *) malloc (new_group_size * 4);
- disp = (int *) malloc (new_group_size * 4);
- sendbuf = (int *) malloc (2 * 4);
- recvbuf = (int *) malloc (new_group_size * 2 * 4);
- if (pg_sizes == 0 || attr_sizes == 0 || disp == 0
- || sendbuf == 0 || recvbuf == 0)
- {
- adios_error (err_no_memory,
- "MPI_AMR method (AG): Cannot allocate %llu bytes "
- "for send/recv/merge buffers.\n",
- 5*4*new_group_size + 2*4
- );
- return;
- }
-
- sendbuf[0] = pg_size;
- sendbuf[1] = attr_size + SHIM_FOOTER_SIZE;
-
- START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Allgather (sendbuf, 2, MPI_INT
- ,recvbuf, 2, MPI_INT
- ,md->g_comm1);
- STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
-
- for (i = 0; i < new_group_size; i++)
- {
- pg_sizes[i] = recvbuf[i * 2];
- attr_sizes[i] = recvbuf[i * 2 + 1];
- }
-
- free (sendbuf);
- free (recvbuf);
-
- disp[0] = 0;
- for (i = 1; i < new_group_size; i++)
- {
- disp[i] = disp[i - 1] + pg_sizes[i - 1];
- }
- total_data_size = disp[new_group_size - 1]
- + pg_sizes[new_group_size - 1];
-
- if (is_aggregator (md->rank))
- {
- aggr_buff = malloc (total_data_size);
- if (aggr_buff == 0)
- {
- adios_error (err_no_memory, "MPI_AMR method (AG): Cannot allocate "
- "%llu bytes for aggregation buffer.\n"
- "Need to increase the number of aggregators.\n",
- total_data_size);
- return;
- }
- }
- else
- {
- }
-
- if (is_aggregator (md->rank))
- {
- uint32_t aggr_attr_size = 0;
- void * aggr_attr_buff, * temp_aggr_buff, * temp_aggr_attr_buff;
- uint16_t new_attr_count = 0, new_attr_len = 0;
-
- START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Gatherv (fd->buffer, pg_size, MPI_BYTE
- ,aggr_buff, pg_sizes, disp, MPI_BYTE
- ,0, md->g_comm1);
- STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
-
- for (i= 0; i < new_group_size; i++)
- {
- aggr_attr_size += *(uint32_t *)(aggr_buff
- + disp[i]
- + pg_sizes[i]
- - SHIM_FOOTER_SIZE
- );
- }
-
- aggr_attr_buff = malloc (aggr_attr_size);
- if (aggr_attr_buff == 0)
- {
- adios_error (err_no_memory, "MPI_AMR method (AG): Cannot allocate "
- "%llu bytes for aggregation attribute buffer.\n"
- "Need to increase the number of aggregators.\n",
- aggr_attr_size);
- return;
- }
-
- temp_aggr_buff = aggr_buff
- + pg_sizes[0]
- - SHIM_FOOTER_SIZE
- - attr_size;
- temp_aggr_attr_buff = aggr_attr_buff;
-
- for (i= 0; i < new_group_size; i++)
- {
- uint32_t temp_attr_size = *(uint32_t *)(aggr_buff
- + disp[i]
- + pg_sizes[i]
- - SHIM_FOOTER_SIZE
- );
- void * temp_attr_ptr = aggr_buff + disp[i] + pg_sizes[i]
- - SHIM_FOOTER_SIZE - temp_attr_size;
-
- new_attr_count += *(uint16_t *)temp_attr_ptr;
-
- if (i == 0)
- {
- new_attr_len += *(uint64_t *)(temp_attr_ptr + ATTR_COUNT_SIZE);
-
- memcpy (temp_aggr_attr_buff, temp_attr_ptr, temp_attr_size);
- temp_aggr_attr_buff += temp_attr_size;
- }
- else
- {
- new_attr_len += *(uint64_t *)(temp_attr_ptr + ATTR_COUNT_SIZE)
- - ATTR_COUNT_SIZE - ATTR_LEN_SIZE;
-
- memcpy (temp_aggr_attr_buff
- ,temp_attr_ptr + ATTR_COUNT_SIZE + ATTR_LEN_SIZE
- ,temp_attr_size - ATTR_COUNT_SIZE - ATTR_LEN_SIZE
- );
- temp_aggr_attr_buff += temp_attr_size - ATTR_COUNT_SIZE - ATTR_LEN_SIZE;
-
- memmove (temp_aggr_buff
- ,aggr_buff + disp[i]
- ,pg_sizes[i] - temp_attr_size - SHIM_FOOTER_SIZE
- );
- temp_aggr_buff += pg_sizes[i] - temp_attr_size - SHIM_FOOTER_SIZE;
- }
- }
-
- memcpy (temp_aggr_buff, aggr_attr_buff, aggr_attr_size);
-
- *(uint16_t *)temp_aggr_buff = new_attr_count; //attrs count
- *(uint64_t *)(temp_aggr_buff + ATTR_COUNT_SIZE) = new_attr_len; //attrs length
-
- free (aggr_attr_buff);
- }
- else
- {
- START_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- MPI_Gatherv (fd->buffer + header_size, pg_size, MPI_BYTE
- ,aggr_buff, pg_sizes, disp, MPI_BYTE
- ,0, md->g_comm1);
- STOP_TIMER (ADIOS_TIMER_MPI_AMR_COMM);
- }
-
- if (is_aggregator(md->rank))
- {
-#if 0
- uint64_t count = 0;
- pthread_join (t, NULL);
-
- write_thread_data.fh = &md->fh;
- write_thread_data.base_offset = &fd->base_offset;
- write_thread_data.aggr_buff = aggr_buff;
- write_thread_data.total_data_size = &total_data_size;
-
- pthread_create (&t, NULL
- ,adios_mpi_amr_do_write_thread
- ,(void *) &write_thread_data
- );
-#endif
-
-#if 0
- count = adios_mpi_amr_striping_unit_write(
- md->fh
- ,fd->base_offset
- ,aggr_buff
- ,total_data_size
- ,md->block_unit);
-
- if (count != total_data_size)
- {
- adios_error (err_unspecified,
- "Error in adios_mpi_amr_striping_unit_write()\n");
- return;
- }
-
- free (aggr_buff);
-#endif
- }
- else
- {
- }
}
// build index appending to any existing index
@@ -3190,50 +2988,6 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
free (disp);
}
- if (fd->shared_buffer == adios_flag_yes && md->g_merging_pgs)
- {
- if (!is_aggregator(md->rank))
- {
- uint64_t var_offset_to_add = 0, attr_offset_to_add = 0;
- uint64_t var_base_offset = 0, attr_base_offset = 0;
-
- // change to relative offset
- if (md->index->vars_root)
- {
- var_base_offset = md->index->vars_root->characteristics [0].offset;
- }
-
- if (md->index->attrs_root)
- {
- attr_base_offset = md->index->attrs_root->characteristics [0].offset;
- }
-
- adios_mpi_amr_subtract_offset (var_base_offset
- ,attr_base_offset
- ,md->index
- );
-
- for (i = 0; i < new_group_size; i++)
- {
- attr_offset_to_add += pg_sizes[i] - attr_sizes[i];
- }
-
- for (i = 0; i < new_rank; i++)
- {
- attr_offset_to_add += attr_sizes[i] - SHIM_FOOTER_SIZE;
- var_offset_to_add += pg_sizes[i] - attr_sizes[i];
- }
-
- adios_mpi_amr_add_offset (0, var_offset_to_add,
- attr_offset_to_add, md->index);
- }
-
- // pg_sizes, attr_sizs, disp are no longer needed from this point on.
- free (pg_sizes);
- free (attr_sizes);
- free (disp);
- }
-
// if collective, gather the indexes from the rest and call
if (md->group_comm != MPI_COMM_NULL)
{
@@ -3278,9 +3032,7 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -3289,7 +3041,7 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
new_pg_root = 0;
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -3440,16 +3192,17 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
);
+ // global index would become unsorted on main aggregator during merging
+ // so sort timesteps if appending
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root,
+ (fd->mode == adios_mode_append));
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -3502,15 +3255,6 @@ void adios_mpi_amr_ag_close (struct adios_file_struct * fd
uint64_t global_index_start = 0;
uint16_t flag = 0;
- if (fd->mode == adios_mode_append)
- {
- double t=MPI_Wtime();
- // global index become unsorted on main aggregator during merging
- adios_sort_index_v1 (&md->index->pg_root
- ,&md->index->vars_root ,&md->index->attrs_root);
- log_warn ("Index sorting time = %g sec\n", MPI_Wtime()-t);
- }
-
adios_write_index_v1 (&global_index_buffer, &global_index_buffer_size
,&global_index_buffer_offset, global_index_start
,md->index
diff --git a/src/write/adios_mpi_bgq.c b/src/write/adios_mpi_bgq.c
index a5ef425..9cdd39f 100644
--- a/src/write/adios_mpi_bgq.c
+++ b/src/write/adios_mpi_bgq.c
@@ -29,6 +29,11 @@
#include "core/util.h"
#include "core/adios_logger.h"
+#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
+# include "core/adios_timing.h"
+#endif
+
+
enum ADIOS_MPI_BGQ_IO_TYPE
{
ADIOS_MPI_BGQ_IO_NONE = 0,
@@ -56,6 +61,18 @@ static int adios_mpi_bgq_initialized = 0;
// that concerns large runs. Q. Liu, 10/19/2014
#define BLOCK_UNIT 1
+#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
+# define START_TIMER(t) adios_timing_go (fd->group->timing_obj, (t) )
+#else
+# define START_TIMER(t) ;
+#endif
+
+#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
+# define STOP_TIMER(t) adios_timing_stop (fd->group->timing_obj, (t) )
+#else
+# define STOP_TIMER(t) ;
+#endif
+
struct adios_MPI_data_struct
{
MPI_File fh;
@@ -356,6 +373,7 @@ struct adios_var_struct * adios_mpi_bgq_copy_var (struct adios_var_struct * v)
v_new->stats = 0;
v_new->free_data = v->free_data;
v_new->data = 0;
+ v_new->adata = 0;
v_new->data_size = v->data_size;
v_new->next = 0;
@@ -609,6 +627,17 @@ void adios_mpi_bgq_init (const PairStruct * parameters
adios_buffer_struct_init (&md->b);
}
+#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
+// Indices for the timer object
+static int ADIOS_TIMER_MPI_BGQ_COMM = ADIOS_TIMING_MAX_USER_TIMERS + 0;
+static int ADIOS_TIMER_MPI_BGQ_IO = ADIOS_TIMING_MAX_USER_TIMERS + 1;
+static int ADIOS_TIMER_MPI_BGQ_MD = ADIOS_TIMING_MAX_USER_TIMERS + 2;
+static int ADIOS_TIMER_MPI_BGQ_AD_OPEN = ADIOS_TIMING_MAX_USER_TIMERS + 3;
+static int ADIOS_TIMER_MPI_BGQ_AD_SHOULD_BUFFER = ADIOS_TIMING_MAX_USER_TIMERS + 4;
+static int ADIOS_TIMER_MPI_BGQ_AD_WRITE = ADIOS_TIMING_MAX_USER_TIMERS + 4;
+static int ADIOS_TIMER_MPI_BGQ_AD_CLOSE = ADIOS_TIMING_MAX_USER_TIMERS + 6;
+#endif
+
int adios_mpi_bgq_open (struct adios_file_struct * fd
,struct adios_method_struct * method, MPI_Comm comm
)
@@ -623,6 +652,32 @@ int adios_mpi_bgq_open (struct adios_file_struct * fd
MPI_Comm_size (md->group_comm, &md->size);
}
+#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
+ int timer_count = 7;
+ char ** timer_names = (char**) malloc (timer_count * sizeof (char*) );
+ timer_names [0] = "Communication";
+ timer_names [1] = "I/O";
+ timer_names [2] = "Metadata";
+ timer_names [3] = "ad_open";
+ timer_names [4] = "ad_should_buffer";
+ timer_names [5] = "ad_write";
+ timer_names [6] = "ad_close";
+
+ // Ensure both timing objects exist
+ // timing_obj should get created at every open
+ // prev_timing_obj should only be created at the first open
+ if (fd->group)
+ {
+ if (!fd->group->timing_obj)
+ fd->group->timing_obj = adios_timing_create (timer_count, timer_names);
+
+ if (!fd->group->prev_timing_obj)
+ fd->group->prev_timing_obj = adios_timing_create (timer_count, timer_names);
+ }
+#endif
+
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_AD_OPEN);
+
// The following code is BGQ specific
#define UNIT_A 2
#define UNIT_B 2
@@ -682,6 +737,7 @@ int adios_mpi_bgq_open (struct adios_file_struct * fd
// to calculate stripe sizes from output sizes of the processes
// before we can do an open for any of the modes
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_AD_OPEN);
return 1;
}
@@ -728,6 +784,8 @@ enum ADIOS_FLAG adios_mpi_bgq_should_buffer (struct adios_file_struct * fd
int sig; // used for coordinating the MPI_File_open
uint16_t flag;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_AD_SHOULD_BUFFER);
+
name = malloc (strlen (method->base_path) + strlen (fd->name) + 1);
sprintf (name, "%s%s", method->base_path, fd->name);
@@ -935,25 +993,27 @@ enum ADIOS_FLAG adios_mpi_bgq_should_buffer (struct adios_file_struct * fd
adios_shared_buffer_free (&md->b);
}
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_AD_SHOULD_BUFFER);
return fd->shared_buffer;
}
void adios_mpi_bgq_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
struct adios_MPI_data_struct * md = (struct adios_MPI_data_struct *)
method->method_data;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_AD_WRITE);
if (v->got_buffer == adios_flag_yes)
{
if (data != v->data) // if the user didn't give back the same thing
{
if (v->free_data == adios_flag_yes)
{
- free (v->data);
+ free (v->adata);
adios_method_buffer_free (v->data_size);
}
}
@@ -968,6 +1028,7 @@ void adios_mpi_bgq_write (struct adios_file_struct * fd
{
log_warn ("The ADIOS buffer in the XML is not large enough for buffering.\n");
}
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_AD_WRITE);
}
void adios_mpi_bgq_get_write_buffer (struct adios_file_struct * fd
@@ -986,10 +1047,10 @@ void adios_mpi_bgq_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data)
+ if (v->adata && v->free_data)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
+ free (v->adata);
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -1035,7 +1096,7 @@ void adios_mpi_bgq_read (struct adios_file_struct * fd
,struct adios_method_struct * method
)
{
- v->data = buffer;
+ v->data = v->adata = buffer;
v->data_size = buffer_size;
}
@@ -1058,6 +1119,7 @@ static void adios_mpi_bgq_do_read (struct adios_file_struct * fd
{
case 1:
case 2:
+ case 3:
{
// the three section headers
struct adios_process_group_header_struct_v1 pg_header;
@@ -1105,7 +1167,7 @@ static void adios_mpi_bgq_do_read (struct adios_file_struct * fd
if (v1)
{
- var_payload.payload = v1->data;
+ var_payload.payload = v1->adata;
adios_parse_var_data_payload_v1 (&md->b, &var_header
,&var_payload
,v1->data_size
@@ -1178,6 +1240,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
struct adios_index_var_struct_v1 * new_vars_root = 0;
struct adios_index_attribute_struct_v1 * new_attrs_root = 0;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_AD_CLOSE);
switch (fd->mode)
{
case adios_mode_read:
@@ -1200,7 +1263,9 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
int i, max_data_size = 0, total_data_size = 0, total_data_size1 = 0;
MPI_Comm new_comm2;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
MPI_Comm_split (md->group_comm, md->file_comm_rank, md->rank, &new_comm2);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
if (fd->shared_buffer == adios_flag_yes)
{
@@ -1229,6 +1294,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
fd->base_offset - fd->pg_start_in_file + fd->bytes_written);
}
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_IO);
while (bytes_written < fd->bytes_written)
{
// everyone writes their data
@@ -1264,10 +1330,13 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
}
}
}
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_IO);
}
// build index appending to any existing index
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
adios_build_index_v1 (fd, md->index);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
// if collective, gather the indexes from the rest and call
if (md->group_comm != MPI_COMM_NULL)
@@ -1282,10 +1351,12 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
uint32_t size = 0, total_size = 0;
int i;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
MPI_Gather (&size, 1, MPI_INT
,index_sizes, 1, MPI_INT
,0, md->file_comm
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
for (i = 0; i < md->file_comm_size; i++)
{
@@ -1296,31 +1367,32 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
recv_buffer = malloc (total_size);
assert (recv_buffer);
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
MPI_Gatherv (&size, 0, MPI_BYTE
,recv_buffer, index_sizes, index_offsets
,MPI_BYTE, 0, md->file_comm
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
char * buffer_save = md->b.buff;
uint64_t buffer_size_save = md->b.length;
uint64_t offset_save = md->b.offset;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
for (i = 1; i < md->file_comm_size; i++)
{
md->b.buff = recv_buffer + index_offsets [i];
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
);
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root ,new_attrs_root);
+ new_vars_root ,new_attrs_root,0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -1333,14 +1405,18 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
free (recv_buffer);
free (index_sizes);
free (index_offsets);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
}
else
{
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
adios_write_index_v1 (&buffer, &buffer_size, &buffer_offset
,0, md->index);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
uint32_t temp_buffer_size = buffer_offset;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
/*
MPI_Gather ((uint32_t *)&buffer_size, 1, MPI_INT, 0, 0, MPI_INT
,0, md->file_comm
@@ -1359,6 +1435,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
,0, 0, 0, MPI_BYTE
,0, md->file_comm
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
}
}
@@ -1369,6 +1446,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
uint32_t flag = 0;
int err;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
index_start = md->b.pg_index_offset;;
adios_write_index_v1 (&buffer, &buffer_size
@@ -1421,6 +1499,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
"of %llu bytes to file %s failed: '%s'\n",
md->rank, buffer_offset, fd->name, e);
}
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
}
if (md->g_have_mdf)
@@ -1435,10 +1514,12 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
char * recv_buffer = 0;
uint32_t size = 0, total_size = 0;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
MPI_Gather (&size, 1, MPI_INT
,index_sizes, 1, MPI_INT
,0, new_comm2
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
for (i = 0; i < md->n_partitions; i++)
{
@@ -1449,24 +1530,25 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
recv_buffer = malloc (total_size);
assert (recv_buffer);
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
MPI_Gatherv (&size, 0, MPI_BYTE
,recv_buffer, index_sizes, index_offsets
,MPI_BYTE, 0, new_comm2
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
char * buffer_save = md->b.buff;
uint64_t buffer_size_save = md->b.length;
uint64_t offset_save = md->b.offset;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
for (i = 1; i < md->n_partitions; i++)
{
md->b.buff = recv_buffer + index_offsets [i];
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -1474,7 +1556,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
adios_merge_index_v1 (md->index
,new_pg_root, new_vars_root
- ,new_attrs_root
+ ,new_attrs_root, 0
);
new_pg_root = 0;
new_vars_root = 0;
@@ -1488,6 +1570,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
free (recv_buffer);
free (index_sizes);
free (index_offsets);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
}
else
{
@@ -1495,11 +1578,14 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
uint64_t buffer_size2 = 0;
uint64_t buffer_offset2 = 0;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
adios_write_index_v1 (&buffer2, &buffer_size2, &buffer_offset2
,0, md->index
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
uint32_t temp_buffer_size2 = buffer_offset2;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
/*
MPI_Gather (&buffer_size2, 1, MPI_INT
,0, 0, MPI_INT
@@ -1518,6 +1604,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
,0, 0, 0, MPI_BYTE
,0, new_comm2
);
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_COMM);
if (buffer2)
{
@@ -1539,6 +1626,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
uint64_t global_index_start = 0;
uint16_t flag = 0;
+ START_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
adios_write_index_v1 (&global_index_buffer, &global_index_buffer_size
,&global_index_buffer_offset, global_index_start
,md->index
@@ -1566,6 +1654,7 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
global_index_buffer_size = 0;
global_index_buffer_offset = 0;
}
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_MD);
}
}
@@ -1606,6 +1695,20 @@ void adios_mpi_bgq_simple_close (struct adios_file_struct * fd
md->req = 0;
memset (&md->status, 0, sizeof (MPI_Status));
+ STOP_TIMER (ADIOS_TIMER_MPI_BGQ_AD_CLOSE);
+
+#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
+
+ //Finished timing this cycle, swap the timing buffers
+ adios_timing_destroy(fd->group->prev_timing_obj);
+ fd->group->prev_timing_obj = fd->group->timing_obj;
+ fd->group->timing_obj = 0;
+
+ // prev_timing_obj points to unwritten timing info, timing_obj is
+ // ready to allocate at the next open
+
+#endif
+
return;
}
@@ -1869,9 +1972,7 @@ void adios_mpi_bgq_bg_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -1879,7 +1980,7 @@ void adios_mpi_bgq_bg_close (struct adios_file_struct * fd
adios_merge_index_v1 (md->index
,new_pg_root, new_vars_root
- ,new_attrs_root
+ ,new_attrs_root, 0
);
new_pg_root = 0;
new_vars_root = 0;
@@ -1987,9 +2088,7 @@ void adios_mpi_bgq_bg_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -1997,7 +2096,7 @@ void adios_mpi_bgq_bg_close (struct adios_file_struct * fd
adios_merge_index_v1 (md->index
,new_pg_root, new_vars_root
- ,new_attrs_root
+ ,new_attrs_root, 0
);
new_pg_root = 0;
new_vars_root = 0;
@@ -2484,9 +2583,7 @@ void adios_mpi_bgq_ag_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -2494,7 +2591,7 @@ void adios_mpi_bgq_ag_close (struct adios_file_struct * fd
adios_merge_index_v1 (md->index
,new_pg_root, new_vars_root
- ,new_attrs_root
+ ,new_attrs_root, 0
);
new_pg_root = 0;
new_vars_root = 0;
@@ -2613,9 +2710,7 @@ void adios_mpi_bgq_ag_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
adios_parse_attributes_index_v1 (&md->b
,&new_attrs_root
@@ -2623,7 +2718,7 @@ void adios_mpi_bgq_ag_close (struct adios_file_struct * fd
adios_merge_index_v1 (md->index
,new_pg_root, new_vars_root
- ,new_attrs_root
+ ,new_attrs_root, 0
);
new_pg_root = 0;
new_vars_root = 0;
diff --git a/src/write/adios_mpi_lustre.c b/src/write/adios_mpi_lustre.c
index 3b048d9..cbb5fa1 100644
--- a/src/write/adios_mpi_lustre.c
+++ b/src/write/adios_mpi_lustre.c
@@ -426,7 +426,7 @@ adios_mpi_lustre_get_striping_unit(MPI_File fh, char *filename)
static uint64_t
adios_mpi_lustre_striping_unit_write(MPI_File fh,
MPI_Offset offset,
- void *buf,
+ const void *buf,
uint64_t len,
uint64_t block_unit
)
@@ -444,7 +444,7 @@ adios_mpi_lustre_striping_unit_write(MPI_File fh,
if (block_unit > 0) {
MPI_Offset rem_off = offset;
uint64_t rem_size = len;
- char *buf_ptr = buf;
+ const char *buf_ptr = buf;
err = 0;
while (rem_size > 0) {
@@ -455,7 +455,7 @@ adios_mpi_lustre_striping_unit_write(MPI_File fh,
#ifdef _WKL_CHECK_STRIPE_IO
printf("adios_mpi_lustre_striping_unit_write offset=%12lld len=%12d\n",offset,write_len);offset+=write_len;
#endif
- MPI_File_write (fh, buf_ptr, write_len, MPI_BYTE, &status);
+ MPI_File_write (fh, (char*)buf_ptr, write_len, MPI_BYTE, &status);
MPI_Get_count(&status, MPI_BYTE, &ret_len);
if (ret_len < 0) {err = ret_len; break;}
err += ret_len;
@@ -470,11 +470,11 @@ printf("adios_mpi_lustre_striping_unit_write offset=%12lld len=%12d\n",offset,wr
uint64_t to_write = len;
int write_len = 0;
int count;
- char * buf_ptr = buf;
+ const char * buf_ptr = buf;
while (total_written < len)
{
write_len = (to_write > MAX_MPIWRITE_SIZE) ? MAX_MPIWRITE_SIZE : to_write;
- MPI_File_write (fh, buf_ptr, write_len, MPI_BYTE, &status);
+ MPI_File_write (fh, (char*)buf_ptr, write_len, MPI_BYTE, &status);
MPI_Get_count(&status, MPI_BYTE, &count);
if (count != write_len)
{
@@ -695,7 +695,7 @@ enum ADIOS_FLAG adios_mpi_lustre_should_buffer (struct adios_file_struct * fd
MPI_File_read (md->fh, md->b.buff, md->b.pg_size, MPI_BYTE
,&md->status
);
- adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root);
+ adios_parse_process_group_index_v1 (&md->b, &md->index->pg_root, &md->index->pg_tail);
#if 1
adios_init_buffer_read_vars_index (&md->b);
@@ -1026,7 +1026,25 @@ enum ADIOS_FLAG adios_mpi_lustre_should_buffer (struct adios_file_struct * fd
MPI_File_read (md->fh, md->b.buff, md->b.pg_size, MPI_BYTE
,&md->status
);
- adios_parse_process_group_index_v1 (&md->b ,&md->index->pg_root);
+ adios_parse_process_group_index_v1 (&md->b ,&md->index->pg_root, &md->index->pg_tail);
+ // find the largest time index so we can append properly
+ struct adios_index_process_group_struct_v1 * p;
+ uint32_t max_time_index = 0;
+ p = md->index->pg_root;
+ while (p)
+ {
+ if (p->time_index > max_time_index)
+ max_time_index = p->time_index;
+ p = p->next;
+ }
+ if (fd->mode == adios_mode_append) {
+ ++max_time_index;
+ }
+ fd->group->time_index = max_time_index;
+ MPI_Bcast (&fd->group->time_index, 1, MPI_INT, 0
+ ,md->group_comm
+ );
+
adios_init_buffer_read_vars_index (&md->b);
MPI_File_seek (md->fh, md->b.vars_index_offset
@@ -1058,6 +1076,9 @@ enum ADIOS_FLAG adios_mpi_lustre_should_buffer (struct adios_file_struct * fd
{
fd->base_offset = 0;
fd->pg_start_in_file = 0;
+ MPI_Bcast (&fd->group->time_index, 1, MPI_INT, 0
+ ,md->group_comm
+ );
}
MPI_File_close (&md->fh);
@@ -1300,7 +1321,7 @@ enum ADIOS_FLAG adios_mpi_lustre_should_buffer (struct adios_file_struct * fd
void adios_mpi_lustre_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -1316,7 +1337,7 @@ void adios_mpi_lustre_write (struct adios_file_struct * fd
{
if (v->free_data == adios_flag_yes)
{
- free (v->data);
+ free (v->adata);
adios_method_buffer_free (v->data_size);
}
}
@@ -1406,10 +1427,10 @@ void adios_mpi_lustre_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data)
+ if (v->adata && v->free_data)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
+ free (v->adata);
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -1456,7 +1477,7 @@ void adios_mpi_lustre_read (struct adios_file_struct * fd
,struct adios_method_struct * method
)
{
- v->data = buffer;
+ v->data = v->adata = buffer;
v->data_size = buffer_size;
}
@@ -1520,7 +1541,7 @@ static void adios_mpi_lustre_do_read (struct adios_file_struct * fd
if (v1)
{
- var_payload.payload = v1->data;
+ var_payload.payload = v1->adata;
adios_parse_var_data_payload_v1 (&md->b, &var_header
,&var_payload
,v1->data_size
@@ -1588,7 +1609,7 @@ void adios_mpi_lustre_close (struct adios_file_struct * fd
struct adios_var_struct * v = fd->group->vars;
while (v)
{
- v->data = 0;
+ v->data = v->adata = 0;
v = v->next;
}
@@ -1756,9 +1777,7 @@ void adios_mpi_lustre_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
// do not merge attributes from other processes from 1.4
/*
@@ -1767,7 +1786,7 @@ void adios_mpi_lustre_close (struct adios_file_struct * fd
);
*/
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -2008,9 +2027,7 @@ void adios_mpi_lustre_close (struct adios_file_struct * fd
md->b.length = index_sizes [i];
md->b.offset = 0;
- adios_parse_process_group_index_v1 (&md->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&md->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&md->b, &new_vars_root, NULL, NULL);
// do not merge attributes from other processes from 1.4
/*
@@ -2019,7 +2036,7 @@ void adios_mpi_lustre_close (struct adios_file_struct * fd
);
*/
adios_merge_index_v1 (md->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
diff --git a/src/write/adios_nc4.c b/src/write/adios_nc4.c
index d15b7c4..9c97966 100644
--- a/src/write/adios_nc4.c
+++ b/src/write/adios_nc4.c
@@ -290,7 +290,7 @@ static void parse_dimension_size(
}
}
} else {
- if (dim->time_index == adios_flag_yes) {
+ if (dim->is_time_index == adios_flag_yes) {
*dimsize = NC_UNLIMITED;
*dimsize = 1;
} else {
@@ -318,7 +318,7 @@ static void parse_dimension_name(
sprintf(dimname, "%s_dim", dim->attr->var->name);
}
} else {
- if (dim->time_index == adios_flag_yes) {
+ if (dim->is_time_index == adios_flag_yes) {
sprintf(dimname, "%s_dim", group->time_index_name);
} else {
if (dim->rank > 0) {
@@ -526,7 +526,7 @@ static int decipher_dims(
dims=pvar->dimensions;
while (dims) {
- if ((dims->dimension.time_index == adios_flag_yes) &&
+ if ((dims->dimension.is_time_index == adios_flag_yes) &&
(dims->dimension.var == NULL && dims->dimension.attr == NULL)) {
has_timedim = adios_flag_yes;
timedim_index = local_dim_count;
@@ -549,9 +549,9 @@ static int decipher_dims(
has_localoffsets=adios_flag_yes;
local_offset_count++;
}
- if (DEBUG>3) printf("gdims[%d].rank=%llu; var=%d, attr=%d, time_index=%d\n", i, dims->global_dimension.rank, dims->global_dimension.var, dims->global_dimension.attr, dims->global_dimension.time_index);
- if (DEBUG>3) printf("ldims[%d].rank=%llu; var=%d, attr=%d, time_index=%d\n", i, dims->dimension.rank, dims->dimension.var, dims->dimension.attr, dims->dimension.time_index);
- if (DEBUG>3) printf("loffs[%d].rank=%llu; var=%d, attr=%d, time_index=%d\n", i, dims->local_offset.rank, dims->local_offset.var, dims->local_offset.attr, dims->local_offset.time_index);
+ if (DEBUG>3) printf("gdims[%d].rank=%llu; var=%d, attr=%d, is_time_index=%d\n", i, dims->global_dimension.rank, dims->global_dimension.var, dims->global_dimension.attr, dims->global_dimension.is_time_index);
+ if (DEBUG>3) printf("ldims[%d].rank=%llu; var=%d, attr=%d, is_time_index=%d\n", i, dims->dimension.rank, dims->dimension.var, dims->dimension.attr, dims->dimension.is_time_index);
+ if (DEBUG>3) printf("loffs[%d].rank=%llu; var=%d, attr=%d, is_time_index=%d\n", i, dims->local_offset.rank, dims->local_offset.var, dims->local_offset.attr, dims->local_offset.is_time_index);
i++;
dims = dims->next;
}
@@ -581,8 +581,8 @@ static int decipher_dims(
parse_dimension_name(group, pvar_root, patt_root, &dims->global_dimension, dimname);
//ncd_gen_name(nc4_global_dimnames[i], pvar->path, dimname);
ncd_gen_name(nc4_global_dimnames[i], "", dimname);
- if (DEBUG>3) printf("global_dimension[%d]->name==%s, ->rank==%llu, ->var==%d, ->attr==%d, time_index==%d\n",
- i, nc4_global_dimnames[i], dims->global_dimension.rank, dims->global_dimension.var, dims->global_dimension.attr, dims->global_dimension.time_index);
+ if (DEBUG>3) printf("global_dimension[%d]->name==%s, ->rank==%llu, ->var==%d, ->attr==%d, is_time_index==%d\n",
+ i, nc4_global_dimnames[i], dims->global_dimension.rank, dims->global_dimension.var, dims->global_dimension.attr, dims->global_dimension.is_time_index);
if (dims) {
dims = dims -> next;
}
@@ -592,8 +592,8 @@ static int decipher_dims(
parse_dimension_name(group, pvar_root, patt_root, &dims->dimension, dimname);
//ncd_gen_name(nc4_local_dimnames[i], pvar->path, dimname);
ncd_gen_name(nc4_local_dimnames[i], "", dimname);
- if (DEBUG>3) printf("local_dimension[%d]->name ==%s, ->rank==%llu, ->var==%d, ->attr==%d, time_index==%d\n",
- i, nc4_local_dimnames[i], dims->dimension.rank, dims->dimension.var, dims->dimension.attr, dims->dimension.time_index);
+ if (DEBUG>3) printf("local_dimension[%d]->name ==%s, ->rank==%llu, ->var==%d, ->attr==%d, is_time_index==%d\n",
+ i, nc4_local_dimnames[i], dims->dimension.rank, dims->dimension.var, dims->dimension.attr, dims->dimension.is_time_index);
if (dims) {
dims = dims -> next;
}
@@ -603,8 +603,8 @@ static int decipher_dims(
parse_dimension_name(group, pvar_root, patt_root, &dims->local_offset, dimname);
//ncd_gen_name(nc4_local_offset_names[i], pvar->path, dimname);
ncd_gen_name(nc4_local_offset_names[i], "", dimname);
- if (DEBUG>3) printf("local_offset[%d]->name ==%s, ->rank==%llu, ->var==%d, ->attr==%d, time_index==%d\n",
- i, nc4_local_offset_names[i], dims->local_offset.rank, dims->local_offset.var, dims->local_offset.attr, dims->local_offset.time_index);
+ if (DEBUG>3) printf("local_offset[%d]->name ==%s, ->rank==%llu, ->var==%d, ->attr==%d, is_time_index==%d\n",
+ i, nc4_local_offset_names[i], dims->local_offset.rank, dims->local_offset.var, dims->local_offset.attr, dims->local_offset.is_time_index);
if (dims) {
dims = dims -> next;
}
@@ -1585,7 +1585,7 @@ void adios_nc4_close(
struct adios_var_struct * v = fd->group->vars;
while (v)
{
- v->data = 0;
+ v->data = v->adata = 0;
v = v->next;
}
diff --git a/src/write/adios_nssi.c b/src/write/adios_nssi.c
index 94023c1..7840a37 100644
--- a/src/write/adios_nssi.c
+++ b/src/write/adios_nssi.c
@@ -1558,7 +1558,7 @@ void adios_nssi_close(
struct adios_var_struct * v = f->group->vars;
while (v)
{
- v->data = 0;
+ v->data = v->adata = 0;
v = v->next;
}
diff --git a/src/write/adios_phdf5.c b/src/write/adios_phdf5.c
index 425ff40..70ea2a1 100644
--- a/src/write/adios_phdf5.c
+++ b/src/write/adios_phdf5.c
@@ -62,7 +62,7 @@ void adios_phdf5_close (struct adios_file_struct * fd
){}
void adios_phdf5_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
){}
void adios_phdf5_read (struct adios_file_struct * fd
@@ -215,7 +215,7 @@ int adios_phdf5_open(struct adios_file_struct *fd
void adios_phdf5_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -253,7 +253,7 @@ void adios_phdf5_read (struct adios_file_struct * fd
method->method_data;
if(fd->mode == adios_mode_read)
{
- v->data = buffer;
+ v->adata = buffer;
v->data_size = buffersize;
if (md->rank==0) {
@@ -267,7 +267,7 @@ void adios_phdf5_read (struct adios_file_struct * fd
,fd->group->adios_host_language_fortran
,md->rank
,md->size);
- v->data = 0;
+ v->adata = 0;
if (md->rank==0) {
fprintf(stderr, "read var: %s! end\n", v->name);
//fprintf(stderr, "-------------------------\n");
@@ -523,7 +523,7 @@ int hr_var (hid_t root_id
h5_dataset_id = H5Dopen (grp_ids[level], pvar->name);
if ( h5_dataset_id > 0) {
H5Dread (h5_dataset_id, h5_type_id, H5S_ALL
- ,H5S_ALL, h5_plist_id, pvar->data
+ ,H5S_ALL, h5_plist_id, pvar->adata
);
H5Dclose (h5_dataset_id);
err_code = 0;
@@ -588,7 +588,7 @@ int hr_var (hid_t root_id
for (i=0;i<rank;i++) {
if(myrank==0)
- printf("\tDIMS var:%s dim[%d]: %d %d %d\n",pvar->name
+ printf("\tDIMS var:%s dim[%d]: %llu %llu %llu\n",pvar->name
,i, h5_globaldims[i], h5_localdims[i], h5_offsets[i]);
}
H5Sclose(h5_dataspace_id);
@@ -609,7 +609,7 @@ int hr_var (hid_t root_id
h5_dataset_id = H5Dopen ( grp_ids[level], pvar->name);
if (h5_dataset_id > 0) {
H5Dread (h5_dataset_id, h5_type_id, h5_memspace_id
- ,h5_dataspace_id, h5_plist_id, pvar->data
+ ,h5_dataspace_id, h5_plist_id, pvar->adata
);
H5Dclose (h5_dataset_id);
err_code = 0;
@@ -646,7 +646,7 @@ int hr_var (hid_t root_id
h5_dataset_id = H5Dopen ( grp_ids[level], pvar->name);
if ( h5_dataset_id > 0) {
H5Dread (h5_dataset_id, h5_type_id, H5S_ALL
- ,H5S_ALL, h5_plist_id, pvar->data
+ ,H5S_ALL, h5_plist_id, pvar->adata
);
H5Dclose (h5_dataset_id);
err_code = 0;
@@ -774,7 +774,7 @@ int hw_var (hid_t root_id
if (dims)
dims = dims -> next;
if (debug && myrank==0) {
- printf("\t%s[%d]: g(%d):l(%d):o(%d)\n"
+ printf("\t%s[%d]: g(%llu):l(%llu):o(%llu)\n"
,pvar->name,i
,h5_globaldims[i]
,h5_localdims[i]
@@ -808,7 +808,7 @@ int hw_var (hid_t root_id
h5_dataspace_id = H5Screate_simple (rank, h5_globaldims, NULL);
if ( h5_dataspace_id < 0 && rank ==2) {
- fprintf (stderr, "PHDF5 ERROR: cannot create dataspace for var: %s %d %d %d\n"\
+ fprintf (stderr, "PHDF5 ERROR: cannot create dataspace for var: %s %d %llu %llu\n"\
,pvar->name, rank, h5_globaldims[0], h5_globaldims[1]);
return -1;
}
@@ -853,7 +853,7 @@ int hw_var (hid_t root_id
int srank, dimindex = 0;
for ( i = 0; i < rank; i++) {
h5_localdims [i] = parse_dimension(pvar_root, patt_root, &dims->dimension);
- if ( dims->dimension.time_index == adios_flag_yes) {
+ if ( dims->dimension.is_time_index == adios_flag_yes) {
is_timeindex = adios_flag_yes;
dimindex = i;
}
@@ -887,7 +887,7 @@ int hw_var (hid_t root_id
h5_memspace_id = H5Screate_simple (rank, h5_localdims, NULL);
//H5Sset_extent_simple (h5_dataspace_id, rank, h5_globaldims, NULL);
//H5Sget_simple_extent_dims (h5_dataspace_id, h5_offsets, h5_globaldims);
- fprintf(stderr, "var %s has time index %d %d \n"
+ fprintf(stderr, "var %s has time index %llu %llu \n"
,pvar->name, h5_offsets[1], h5_globaldims[1]);
}
else {
@@ -1191,7 +1191,7 @@ hsize_t parse_dimension(struct adios_var_struct *pvar_root,
}
}
else {
- if (dim->time_index == adios_flag_yes)
+ if (dim->is_time_index == adios_flag_yes)
dimsize = 1;
else
dimsize = dim->rank;
diff --git a/src/write/adios_posix.c b/src/write/adios_posix.c
index 5794ff9..ae4ef9f 100644
--- a/src/write/adios_posix.c
+++ b/src/write/adios_posix.c
@@ -64,6 +64,7 @@ struct adios_POSIX_data_struct
int rank;
int size;
#endif
+ int g_have_mdf;
};
@@ -90,6 +91,7 @@ void adios_posix_init (const PairStruct * parameters
p->rank = 0;
p->size = 0;
#endif
+ p->g_have_mdf = 1;
}
@@ -114,6 +116,28 @@ int adios_posix_open (struct adios_file_struct * fd
struct adios_POSIX_data_struct * p = (struct adios_POSIX_data_struct *)
method->method_data;
+ char *temp_string, *m_size;
+
+ temp_string = (char *) malloc (strlen (method->parameters) + 1);
+ strcpy (temp_string, method->parameters);
+ trim_spaces (temp_string);
+
+ if ( (m_size = strstr (temp_string, "have_metadata_file")) )
+ {
+ char * m = strchr (m_size, '=');
+ char * n = strtok (m, ";");
+
+ if (!n)
+ p->g_have_mdf = atoi (n + 1);
+ else
+ p->g_have_mdf = atoi (m + 1);
+ }
+ else
+ {
+ // by default, write metadata file.
+ p->g_have_mdf = 1;
+ }
+
#if defined ADIOS_TIMERS || defined ADIOS_TIMER_EVENTS
int timer_count = 7;
char ** timer_names = (char**) malloc (timer_count * sizeof (char*) );
@@ -276,7 +300,7 @@ START_TIMER (ADIOS_TIMER_POSIX_AD_OPEN);
#ifdef HAVE_MPI
// open metadata file
- if (p->group_comm != MPI_COMM_SELF)
+ if (p->group_comm != MPI_COMM_SELF && p->g_have_mdf)
{
if (p->rank == 0)
{
@@ -397,12 +421,13 @@ START_TIMER (ADIOS_TIMER_POSIX_AD_OPEN);
{
case 1:
case 2:
+ case 3:
// read the old stuff and set the base offset
adios_posix_read_index_offsets (&p->b);
adios_parse_index_offsets_v1 (&p->b);
adios_posix_read_process_group_index (&p->b);
- adios_parse_process_group_index_v1 (&p->b, &p->index->pg_root);
+ adios_parse_process_group_index_v1 (&p->b, &p->index->pg_root, &p->index->pg_tail);
// find the largest time index so we can append properly
struct adios_index_process_group_struct_v1 * pg;
@@ -414,7 +439,10 @@ START_TIMER (ADIOS_TIMER_POSIX_AD_OPEN);
max_time_index = pg->time_index;
pg = pg->next;
}
- fd->group->time_index = ++max_time_index;
+ if (fd->mode == adios_mode_append) {
+ ++max_time_index;
+ }
+ fd->group->time_index = max_time_index;
adios_posix_read_vars_index (&p->b);
adios_parse_vars_index_v1 (&p->b, &p->index->vars_root,
@@ -491,9 +519,10 @@ enum ADIOS_FLAG adios_posix_should_buffer (struct adios_file_struct * fd
if (s != fd->bytes_written)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->bytes_written
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->base_offset += s;
@@ -519,7 +548,7 @@ enum ADIOS_FLAG adios_posix_should_buffer (struct adios_file_struct * fd
void adios_posix_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -534,7 +563,7 @@ void adios_posix_write (struct adios_file_struct * fd
{
if (v->free_data == adios_flag_yes)
{
- free (v->data);
+ free (v->adata);
adios_method_buffer_free (v->data_size);
}
}
@@ -555,9 +584,10 @@ void adios_posix_write (struct adios_file_struct * fd
if (s != fd->bytes_written)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->bytes_written
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->base_offset += s;
@@ -608,9 +638,10 @@ void adios_posix_write (struct adios_file_struct * fd
if (s != var_size)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,var_size
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->base_offset += s;
@@ -638,10 +669,10 @@ void adios_posix_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data)
+ if (v->adata && v->free_data)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
+ free (v->adata);
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -689,7 +720,7 @@ void adios_posix_read (struct adios_file_struct * fd
,struct adios_method_struct * method
)
{
- v->data = buffer;
+ v->data = v->adata = buffer;
v->data_size = buffer_size;
}
@@ -765,6 +796,7 @@ static void adios_posix_do_read (struct adios_file_struct * fd
{
case 1:
case 2:
+ case 3:
{
struct adios_index_struct_v1 * index = adios_alloc_index_v1(0); // no hashtables
struct adios_index_process_group_struct_v1 * pg_root = index->pg_root;
@@ -774,7 +806,7 @@ static void adios_posix_do_read (struct adios_file_struct * fd
adios_parse_index_offsets_v1 (&p->b);
adios_posix_read_process_group_index (&p->b);
- adios_parse_process_group_index_v1 (&p->b, &pg_root);
+ adios_parse_process_group_index_v1 (&p->b, &pg_root, NULL);
#if 1
adios_posix_read_vars_index (&p->b);
adios_parse_vars_index_v1 (&p->b, &index->vars_root, NULL, NULL);
@@ -837,7 +869,7 @@ static void adios_posix_do_read (struct adios_file_struct * fd
if (v1)
{
- var_payload.payload = v1->data;
+ var_payload.payload = v1->adata;
adios_parse_var_data_payload_v1 (&p->b, &var_header
,&var_payload
,v1->data_size
@@ -910,9 +942,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != fd->vars_start)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->vars_start
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->offset = 0;
@@ -941,9 +974,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != fd->bytes_written)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->bytes_written
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->base_offset += s;
@@ -968,9 +1002,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != p->vars_header_size)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,p->vars_header_size
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->offset = 0;
@@ -994,7 +1029,7 @@ void adios_posix_close (struct adios_file_struct * fd
adios_posix_do_write (fd, method, buffer, buffer_offset); // Buffered vars written here
STOP_TIMER (ADIOS_TIMER_POSIX_IO);
#ifdef HAVE_MPI
- if (p->group_comm != MPI_COMM_SELF)
+ if (p->group_comm != MPI_COMM_SELF && p->g_have_mdf)
{
if (p->rank == 0)
{
@@ -1035,9 +1070,7 @@ void adios_posix_close (struct adios_file_struct * fd
p->b.length = index_sizes [i];
p->b.offset = 0;
- adios_parse_process_group_index_v1 (&p->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&p->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&p->b, &new_vars_root, NULL, NULL);
// do not merge attributes from other processes from 1.4
/*
@@ -1047,7 +1080,7 @@ void adios_posix_close (struct adios_file_struct * fd
*/
adios_merge_index_v1 (p->index, new_pg_root,
- new_vars_root, new_attrs_root);
+ new_vars_root, new_attrs_root, 0);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
@@ -1084,13 +1117,15 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != global_index_buffer_offset)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->bytes_written
,(int64_t)s
+ ,__func__, __LINE__
);
}
close (p->mf);
+ free (global_index_buffer);
}
else
{
@@ -1135,9 +1170,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != fd->vars_start)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->vars_start
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->offset = 0;
@@ -1163,9 +1199,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != fd->bytes_written)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,fd->bytes_written
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->base_offset += s;
@@ -1190,9 +1227,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != p->vars_header_size)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld\n"
+ "only wrote %lld. %s:%d\n"
,p->vars_header_size
,(int64_t)s
+ ,__func__, __LINE__
);
}
fd->offset = 0;
@@ -1209,7 +1247,7 @@ void adios_posix_close (struct adios_file_struct * fd
adios_write_index_v1 (&buffer, &buffer_size, &buffer_offset
,index_start, p->index);
#ifdef HAVE_MPI
- if (p->group_comm != MPI_COMM_SELF)
+ if (p->group_comm != MPI_COMM_SELF && p->g_have_mdf)
{
if (p->rank == 0)
{
@@ -1251,9 +1289,7 @@ void adios_posix_close (struct adios_file_struct * fd
p->b.length = index_sizes [i];
p->b.offset = 0;
- adios_parse_process_group_index_v1 (&p->b
- ,&new_pg_root
- );
+ adios_parse_process_group_index_v1 (&p->b, &new_pg_root, NULL);
adios_parse_vars_index_v1 (&p->b, &new_vars_root, NULL, NULL);
// do not merge attributes from other processes from 1.4
/*
@@ -1262,19 +1298,16 @@ void adios_posix_close (struct adios_file_struct * fd
);
*/
- adios_merge_index_v1 (p->index,new_pg_root,
- new_vars_root, new_attrs_root);
+ // global index would become unsorted on main aggregator during merging
+ // so sort timesteps in this case (appending)
+ adios_merge_index_v1 (p->index, new_pg_root,
+ new_vars_root, new_attrs_root, 1);
new_pg_root = 0;
new_vars_root = 0;
new_attrs_root = 0;
}
- adios_sort_index_v1 (&p->index->pg_root
- ,&p->index->vars_root
- ,&p->index->attrs_root
- );
-
p->b.buff = buffer_save;
p->b.length = buffer_size_save;
p->b.offset = offset_save;
@@ -1307,9 +1340,10 @@ void adios_posix_close (struct adios_file_struct * fd
if (s != global_index_buffer_offset)
{
fprintf (stderr, "POSIX method tried to write %llu, "
- "only wrote %lld, Mode: a\n"
+ "only wrote %lld, Mode: a. %s:%d\n"
,global_index_buffer_offset
,(int64_t)s
+ ,__func__, __LINE__
);
}
@@ -1350,7 +1384,7 @@ void adios_posix_close (struct adios_file_struct * fd
struct adios_var_struct * v = fd->group->vars;
while (v)
{
- v->data = 0;
+ v->data = v->adata = 0;
v = v->next;
}
diff --git a/src/write/adios_posix1.c b/src/write/adios_posix1.c
index a505d32..8d30a1b 100644
--- a/src/write/adios_posix1.c
+++ b/src/write/adios_posix1.c
@@ -169,14 +169,13 @@ int adios_posix1_open (struct adios_file_struct * fd
{
case 1:
case 2:
+ case 3:
// read the old stuff and set the base offset
adios_posix_read_index_offsets (&p->b);
adios_parse_index_offsets_v1 (&p->b);
adios_posix_read_process_group_index (&p->b);
- adios_parse_process_group_index_v1 (&p->b
- ,&p->index->pg_root
- );
+ adios_parse_process_group_index_v1 (&p->b, &p->index->pg_root, &p->index->pg_tail);
// find the largest time index so we can append properly
struct adios_index_process_group_struct_v1 * pg;
@@ -188,7 +187,10 @@ int adios_posix1_open (struct adios_file_struct * fd
max_time_index = pg->time_index;
pg = pg->next;
}
- fd->group->time_index = ++max_time_index;
+ if (fd->mode == adios_mode_append) {
+ ++max_time_index;
+ }
+ fd->group->time_index = max_time_index;
adios_posix_read_vars_index (&p->b);
adios_parse_vars_index_v1 (&p->b, &p->index->vars_root,
@@ -277,7 +279,7 @@ enum ADIOS_FLAG adios_posix1_should_buffer (struct adios_file_struct * fd
void adios_posix1_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
{
@@ -290,7 +292,7 @@ void adios_posix1_write (struct adios_file_struct * fd
{
if (v->free_data == adios_flag_yes)
{
- free (v->data);
+ free (v->adata);
adios_method_buffer_free (v->data_size);
}
}
@@ -386,10 +388,10 @@ void adios_posix1_get_write_buffer (struct adios_file_struct * fd
return;
}
- if (v->data && v->free_data)
+ if (v->adata && v->free_data)
{
adios_method_buffer_free (v->data_size);
- free (v->data);
+ free (v->adata);
}
mem_allowed = adios_method_buffer_alloc (*size);
@@ -437,7 +439,7 @@ void adios_posix1_read (struct adios_file_struct * fd
,struct adios_method_struct * method
)
{
- v->data = buffer;
+ v->data = v->adata = buffer;
v->data_size = buffer_size;
}
@@ -512,6 +514,7 @@ static void adios_posix1_do_read (struct adios_file_struct * fd
{
case 1:
case 2:
+ case 3:
{
struct adios_index_struct_v1 * index = adios_alloc_index_v1(0); // no hashtables
struct adios_index_process_group_struct_v1 * pg_root = index->pg_root;
@@ -521,7 +524,7 @@ static void adios_posix1_do_read (struct adios_file_struct * fd
adios_parse_index_offsets_v1 (&p->b);
adios_posix_read_process_group_index (&p->b);
- adios_parse_process_group_index_v1 (&p->b, &pg_root);
+ adios_parse_process_group_index_v1 (&p->b, &pg_root, NULL);
#if 1
adios_posix_read_vars_index (&p->b);
adios_parse_vars_index_v1 (&p->b, &index->vars_root, NULL, NULL);
@@ -584,7 +587,7 @@ static void adios_posix1_do_read (struct adios_file_struct * fd
if (v1)
{
- var_payload.payload = v1->data;
+ var_payload.payload = v1->adata;
adios_parse_var_data_payload_v1 (&p->b, &var_header
,&var_payload
,v1->data_size
@@ -832,7 +835,7 @@ void adios_posix1_close (struct adios_file_struct * fd
struct adios_var_struct * v = fd->group->vars;
while (v)
{
- v->data = 0;
+ v->data = v->adata = 0;
v = v->next;
}
diff --git a/src/write/adios_var_merge.c b/src/write/adios_var_merge.c
index 3320718..37f9b7c 100644
--- a/src/write/adios_var_merge.c
+++ b/src/write/adios_var_merge.c
@@ -46,7 +46,7 @@ static int *proc_map;
static int *sequence;
static void aggr_chunks(char **output, int *procs, int ndims, uint64_t *ldims_list, uint64_t *gdims, uint64_t *size_list, uint64_t totalsize, int nchunks, int rank, int level, int type_size);
-static uint64_t do_spatial_aggr(int level, int *procs, int ndims, uint64_t *ldims, uint64_t *offsets, char *new_ldims, int rank, void *data, uint64_t varsize, void *output, int type_size, MPI_Comm comm);
+static uint64_t do_spatial_aggr(int level, int *procs, int ndims, uint64_t *ldims, uint64_t *offsets, char *new_ldims, int rank, const void *data, uint64_t varsize, void *output, int type_size, MPI_Comm comm);
//store the info of the client processes for spatial aggregation
@@ -105,7 +105,7 @@ struct aggr_client *aggr1d_clients[2]; //fixed to maximum of 2 level of aggregat
static uint64_t cast_var_data_as_uint64 (const char * parent_name
,enum ADIOS_DATATYPES type
- ,void * data
+ ,const void * data
)
{
if (!data)
@@ -119,37 +119,37 @@ static uint64_t cast_var_data_as_uint64 (const char * parent_name
switch (type)
{
case adios_byte:
- return (uint64_t) *(int8_t *) data;
+ return (uint64_t) *(const int8_t *) data;
case adios_short:
- return (uint64_t) *(int16_t *) data;
+ return (uint64_t) *(const int16_t *) data;
case adios_integer:
- return (uint64_t) *(int32_t *) data;
+ return (uint64_t) *(const int32_t *) data;
case adios_long:
- return (uint64_t) *(int64_t *) data;
+ return (uint64_t) *(const int64_t *) data;
case adios_unsigned_byte:
- return (uint64_t) *(uint8_t *) data;
+ return (uint64_t) *(const uint8_t *) data;
case adios_unsigned_short:
- return (uint64_t) *(uint16_t *) data;
+ return (uint64_t) *(const uint16_t *) data;
case adios_unsigned_integer:
- return (uint64_t) *(uint32_t *) data;
+ return (uint64_t) *(const uint32_t *) data;
case adios_unsigned_long:
- return (uint64_t) *(uint64_t *) data;
+ return (uint64_t) *(const uint64_t *) data;
case adios_real:
- return (uint64_t) *(float *) data;
+ return (uint64_t) *(const float *) data;
case adios_double:
- return (uint64_t) *(double *) data;
+ return (uint64_t) *(const double *) data;
case adios_long_double:
- return (uint64_t) *(long double *) data;
+ return (uint64_t) *(const long double *) data;
case adios_string:
case adios_complex:
@@ -204,7 +204,7 @@ static uint64_t get_value_for_dim (struct adios_dimension_item_struct * dimensio
}
else
{
- if (dimension->time_index == adios_flag_yes)
+ if (dimension->is_time_index == adios_flag_yes)
dim = 1;
else
dim = dimension->rank;
@@ -972,7 +972,7 @@ static struct aggr_var_struct *allocate_vars(int varcnt, struct aggr_var_struct
void adios_var_merge_write (struct adios_file_struct * fd
,struct adios_var_struct * v
- ,void * data
+ ,const void * data
,struct adios_method_struct * method
)
@@ -1323,7 +1323,7 @@ static void cal_gdims(int ndims, uint64_t *p_offsets, uint64_t *offsets, uint64_
}
}
-static uint64_t do_spatial_aggr(int level, int *procs, int ndims, uint64_t *ldims, uint64_t *offsets, char *new_ldims, int rank, void *data, uint64_t varsize, void *output, int type_size, MPI_Comm comm)
+static uint64_t do_spatial_aggr(int level, int *procs, int ndims, uint64_t *ldims, uint64_t *offsets, char *new_ldims, int rank, const void *data, uint64_t varsize, void *output, int type_size, MPI_Comm comm)
{
//struct adios_var_struct * v = g->vars;
int i, j, k, lev;
@@ -1467,7 +1467,7 @@ static uint64_t do_spatial_aggr(int level, int *procs, int ndims, uint64_t *ldim
/*clients send out the data*/
if(lev==0)
- MPI_Send(data, varsize, MPI_BYTE, my_aggregator[ndims-1][lev], rank, comm);
+ MPI_Send((void*)data, varsize, MPI_BYTE, my_aggregator[ndims-1][lev], rank, comm);
else
MPI_Send(tmpbuf, varsize, MPI_BYTE, my_aggregator[ndims-1][lev], rank, comm);
diff --git a/tests/C/CMakeLists.txt b/tests/C/CMakeLists.txt
index 4776b6f..acd0a00 100644
--- a/tests/C/CMakeLists.txt
+++ b/tests/C/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/tests/C)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/Makefile.am b/tests/C/Makefile.am
index bcd3f16..7fdb6ef 100644
--- a/tests/C/Makefile.am
+++ b/tests/C/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
SUBDIRS=flexpath_tests fgr_tests query
diff --git a/tests/C/Makefile.in b/tests/C/Makefile.in
index f08a844..3d58d2c 100644
--- a/tests/C/Makefile.in
+++ b/tests/C/Makefile.in
@@ -344,6 +344,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -401,8 +404,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
SUBDIRS = flexpath_tests fgr_tests query
AUTOMAKE_OPTIONS = no-dependencies
adios_test_c_SOURCES = adios_test_c.c
diff --git a/tests/C/fgr_tests/CMakeLists.txt b/tests/C/fgr_tests/CMakeLists.txt
index dc52e4b..53f8096 100644
--- a/tests/C/fgr_tests/CMakeLists.txt
+++ b/tests/C/fgr_tests/CMakeLists.txt
@@ -1,5 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_SOURCE_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/fgr_tests/Makefile.am b/tests/C/fgr_tests/Makefile.am
index 5354372..857738d 100644
--- a/tests/C/fgr_tests/Makefile.am
+++ b/tests/C/fgr_tests/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/fgr_tests/Makefile.in b/tests/C/fgr_tests/Makefile.in
index ebf2a93..e25905b 100644
--- a/tests/C/fgr_tests/Makefile.in
+++ b/tests/C/fgr_tests/Makefile.in
@@ -306,6 +306,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -363,8 +366,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
posix_fgr_SOURCES = posix_fgr.c
posix_fgr_CPPFLAGS = $(ADIOSLIB_CPPFLAGS)
diff --git a/tests/C/flexpath_tests/1D_arr_global/CMakeLists.txt b/tests/C/flexpath_tests/1D_arr_global/CMakeLists.txt
index 2207a63..e00ef35 100644
--- a/tests/C/flexpath_tests/1D_arr_global/CMakeLists.txt
+++ b/tests/C/flexpath_tests/1D_arr_global/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/tests/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
add_executable(writer_global writer.c ../common/utils.c)
diff --git a/tests/C/flexpath_tests/1D_arr_global/Makefile.am b/tests/C/flexpath_tests/1D_arr_global/Makefile.am
index a7877b4..1e3faca 100644
--- a/tests/C/flexpath_tests/1D_arr_global/Makefile.am
+++ b/tests/C/flexpath_tests/1D_arr_global/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/flexpath_tests/1D_arr_global/Makefile.in b/tests/C/flexpath_tests/1D_arr_global/Makefile.in
index 29f7ec8..4238190 100644
--- a/tests/C/flexpath_tests/1D_arr_global/Makefile.in
+++ b/tests/C/flexpath_tests/1D_arr_global/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
writer_global_SOURCES = writer.c ../common/utils.c
writer_global_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/C/flexpath_tests/1D_arr_global_noxml/CMakeLists.txt b/tests/C/flexpath_tests/1D_arr_global_noxml/CMakeLists.txt
index 8c644f9..415fc22 100644
--- a/tests/C/flexpath_tests/1D_arr_global_noxml/CMakeLists.txt
+++ b/tests/C/flexpath_tests/1D_arr_global_noxml/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/tests/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_SOURCE_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.am b/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.am
index fd5d416..9992565 100644
--- a/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.am
+++ b/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in b/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in
index 8d87feb..49d24d6 100644
--- a/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in
+++ b/tests/C/flexpath_tests/1D_arr_global_noxml/Makefile.in
@@ -316,6 +316,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -373,8 +376,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
writer_global_noxml_SOURCES = writer.c ../common/utils.c
writer_global_noxml_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/C/flexpath_tests/Makefile.in b/tests/C/flexpath_tests/Makefile.in
index 1b01bab..8101fcf 100644
--- a/tests/C/flexpath_tests/Makefile.in
+++ b/tests/C/flexpath_tests/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/tests/C/flexpath_tests/global_range_select/CMakeLists.txt b/tests/C/flexpath_tests/global_range_select/CMakeLists.txt
index 29450c6..86a2552 100644
--- a/tests/C/flexpath_tests/global_range_select/CMakeLists.txt
+++ b/tests/C/flexpath_tests/global_range_select/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/test/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_SOURCE_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/flexpath_tests/global_range_select/Makefile.am b/tests/C/flexpath_tests/global_range_select/Makefile.am
index 6a6167c..dd70a4a 100644
--- a/tests/C/flexpath_tests/global_range_select/Makefile.am
+++ b/tests/C/flexpath_tests/global_range_select/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/flexpath_tests/global_range_select/Makefile.in b/tests/C/flexpath_tests/global_range_select/Makefile.in
index c54ee4e..b76c850 100644
--- a/tests/C/flexpath_tests/global_range_select/Makefile.in
+++ b/tests/C/flexpath_tests/global_range_select/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
arrays_write_SOURCES = arrays_write.c
arrays_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/C/flexpath_tests/maya_append/CMakeLists.txt b/tests/C/flexpath_tests/maya_append/CMakeLists.txt
index 143330b..0acc19a 100644
--- a/tests/C/flexpath_tests/maya_append/CMakeLists.txt
+++ b/tests/C/flexpath_tests/maya_append/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/tests/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_SOURCE_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src)
#link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/flexpath_tests/maya_append/Makefile.am b/tests/C/flexpath_tests/maya_append/Makefile.am
index 034c175..9a0bfa2 100644
--- a/tests/C/flexpath_tests/maya_append/Makefile.am
+++ b/tests/C/flexpath_tests/maya_append/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/flexpath_tests/maya_append/Makefile.in b/tests/C/flexpath_tests/maya_append/Makefile.in
index ab0bce3..9c4595a 100644
--- a/tests/C/flexpath_tests/maya_append/Makefile.in
+++ b/tests/C/flexpath_tests/maya_append/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
writer_maya_SOURCES = writer.c ../common/utils.c
writer_maya_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/C/flexpath_tests/maya_noxml/CMakeLists.txt b/tests/C/flexpath_tests/maya_noxml/CMakeLists.txt
index 7c9a995..d5e6d24 100644
--- a/tests/C/flexpath_tests/maya_noxml/CMakeLists.txt
+++ b/tests/C/flexpath_tests/maya_noxml/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/tests/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_SOURCE_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/flexpath_tests/maya_noxml/Makefile.am b/tests/C/flexpath_tests/maya_noxml/Makefile.am
index e875bd3..500d07e 100644
--- a/tests/C/flexpath_tests/maya_noxml/Makefile.am
+++ b/tests/C/flexpath_tests/maya_noxml/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/flexpath_tests/maya_noxml/Makefile.in b/tests/C/flexpath_tests/maya_noxml/Makefile.in
index b647e28..544891c 100644
--- a/tests/C/flexpath_tests/maya_noxml/Makefile.in
+++ b/tests/C/flexpath_tests/maya_noxml/Makefile.in
@@ -315,6 +315,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -372,8 +375,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
writer_maya_noxml_SOURCES = writer.c ../common/utils.c
writer_maya_noxml_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/C/flexpath_tests/scalar/CMakeLists.txt b/tests/C/flexpath_tests/scalar/CMakeLists.txt
index c33201e..a4a2dfc 100644
--- a/tests/C/flexpath_tests/scalar/CMakeLists.txt
+++ b/tests/C/flexpath_tests/scalar/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/tests/C/flexpath_tests/include)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_SOURCE_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/flexpath_tests/scalar/Makefile.am b/tests/C/flexpath_tests/scalar/Makefile.am
index f976ecf..8b383f1 100644
--- a/tests/C/flexpath_tests/scalar/Makefile.am
+++ b/tests/C/flexpath_tests/scalar/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/flexpath_tests/scalar/Makefile.in b/tests/C/flexpath_tests/scalar/Makefile.in
index dad98d1..ce4a704 100644
--- a/tests/C/flexpath_tests/scalar/Makefile.in
+++ b/tests/C/flexpath_tests/scalar/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public -I$(srcdir)/../include
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public \
+ -I$(srcdir)/../include
AUTOMAKE_OPTIONS = no-dependencies
writer_scalar_SOURCES = writer.c ../common/utils.c
writer_scalar_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/tests/C/query/Makefile.in b/tests/C/query/Makefile.in
index bb00be3..24f18ab 100644
--- a/tests/C/query/Makefile.in
+++ b/tests/C/query/Makefile.in
@@ -323,6 +323,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/tests/C/query/alacrity/CMakeLists.txt b/tests/C/query/alacrity/CMakeLists.txt
index b747434..0d53e01 100644
--- a/tests/C/query/alacrity/CMakeLists.txt
+++ b/tests/C/query/alacrity/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${CMAKE_CURRENT_BINARY_DIR}../common)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/query/alacrity/Makefile.am b/tests/C/query/alacrity/Makefile.am
index 805d677..16340cb 100644
--- a/tests/C/query/alacrity/Makefile.am
+++ b/tests/C/query/alacrity/Makefile.am
@@ -1,6 +1,6 @@
INCLUDES = $(all_includes)
INCLUDES += $(ADIOSLIB_CPPFLAGS)
-INCLUDES += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../common/
+INCLUDES += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(srcdir)/../common/
AUTOMAKE_OPTIONS = no-dependencies
if HAVE_ALACRITY
diff --git a/tests/C/query/alacrity/Makefile.in b/tests/C/query/alacrity/Makefile.in
index faa2eec..45adf06 100644
--- a/tests/C/query/alacrity/Makefile.in
+++ b/tests/C/query/alacrity/Makefile.in
@@ -353,6 +353,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -410,7 +413,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-INCLUDES = $(all_includes) $(ADIOSLIB_CPPFLAGS) -I$(top_srcdir)/src \
+INCLUDES = $(all_includes) $(ADIOSLIB_CPPFLAGS) \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(srcdir)/../common/
AUTOMAKE_OPTIONS = no-dependencies
#alac_internal_test
diff --git a/tests/C/query/common/CMakeLists.txt b/tests/C/query/common/CMakeLists.txt
index f8f7fa1..979e788 100644
--- a/tests/C/query/common/CMakeLists.txt
+++ b/tests/C/query/common/CMakeLists.txt
@@ -1,5 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${MXML_INCLUDE_DIR}/../lib)
include_directories(${MXML_INCLUDE_DIR})
diff --git a/tests/C/query/common/Makefile.am b/tests/C/query/common/Makefile.am
index a657f25..19eaf36 100644
--- a/tests/C/query/common/Makefile.am
+++ b/tests/C/query/common/Makefile.am
@@ -1,6 +1,6 @@
INCLUDES = $(all_includes)
INCLUDES += $(ADIOSLIB_CPPFLAGS)
-INCLUDES += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+INCLUDES += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/C/query/common/Makefile.in b/tests/C/query/common/Makefile.in
index 5f4e073..343388b 100644
--- a/tests/C/query/common/Makefile.in
+++ b/tests/C/query/common/Makefile.in
@@ -333,6 +333,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -390,7 +393,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-INCLUDES = $(all_includes) $(ADIOSLIB_CPPFLAGS) -I$(top_srcdir)/src \
+INCLUDES = $(all_includes) $(ADIOSLIB_CPPFLAGS) \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
noinst_LIBRARIES = libparse_test_query_xml.a
diff --git a/tests/C/query/fastbit/CMakeLists.txt b/tests/C/query/fastbit/CMakeLists.txt
index ef31d9b..c1db402 100644
--- a/tests/C/query/fastbit/CMakeLists.txt
+++ b/tests/C/query/fastbit/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${CMAKE_CURRENT_BINARY_DIR}../common)
link_directories(${MXML_INCLUDE_DIR}/../lib)
diff --git a/tests/C/query/fastbit/Makefile.am b/tests/C/query/fastbit/Makefile.am
index 31d70fa..f8c8af2 100644
--- a/tests/C/query/fastbit/Makefile.am
+++ b/tests/C/query/fastbit/Makefile.am
@@ -3,7 +3,7 @@ INCLUDES = $(all_includes)
# ${ADIOSREADLIB_CPPFLAGS} has all the flags like -DFASTBIT -DALACRITY
# as well as related includes, so it is needed here
#
-INCLUDES += -I$(top_srcdir)/src/ -I$(top_srcdir)/src/public/ $(MXML_CPPFLAGS)
+INCLUDES += -I$(top_builddir)/src/public -I$(top_srcdir)/src/ -I$(top_srcdir)/src/public/ $(MXML_CPPFLAGS)
AUTOMAKE_OPTIONS = no-dependencies
@@ -21,4 +21,4 @@ fastbit_tests_LDADD = $(top_builddir)/src/libadiosread_nompi.a $(top_builddir)/s
fastbit_tests_LDFLAGS = $(ADIOSREADLIB_LDFLAGS) ${MXML_LDFLAGS}
endif # HAVE_FASTBIT
-CC=$(MPICC)
\ No newline at end of file
+CC=$(MPICC)
diff --git a/tests/C/query/fastbit/Makefile.in b/tests/C/query/fastbit/Makefile.in
index 0a8a243..ee2eae7 100644
--- a/tests/C/query/fastbit/Makefile.in
+++ b/tests/C/query/fastbit/Makefile.in
@@ -315,6 +315,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -376,8 +379,9 @@ top_srcdir = @top_srcdir@
# ${ADIOSREADLIB_CPPFLAGS} has all the flags like -DFASTBIT -DALACRITY
# as well as related includes, so it is needed here
#
-INCLUDES = $(all_includes) -I$(top_srcdir)/src/ \
- -I$(top_srcdir)/src/public/ $(MXML_CPPFLAGS)
+INCLUDES = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src/ -I$(top_srcdir)/src/public/ \
+ $(MXML_CPPFLAGS)
AUTOMAKE_OPTIONS = no-dependencies
@HAVE_FASTBIT_TRUE at fastbit_tests_SOURCES = fastbit_tests.c
@HAVE_FASTBIT_TRUE at fastbit_tests_CPPFLAGS = ${MACRODEFFLAG}_NOMPI
diff --git a/tests/C/query/fastbit/fastbit_tests.c b/tests/C/query/fastbit/fastbit_tests.c
index 462c072..c8e60ef 100644
--- a/tests/C/query/fastbit/fastbit_tests.c
+++ b/tests/C/query/fastbit/fastbit_tests.c
@@ -42,20 +42,60 @@ long _stageRefreshMillis = 0;
long _lastMeasuredMillis = 0;
long _queryStartMillis = 0;
-void logReport(int stage) {
+#define logTimeMillis(...) { \
+ long ms = fastbit_adios_getCurrentTimeMillis(); \
+ long d = ms - _lastMeasuredMillis; \
+ printf(" ELAPSED: %ld millis\t", d); \
+ long sec = d/1000; \
+ if (sec > 0 ) \
+ printf(" = %d sec \t", d/1000); \
+ long min = sec/60; \
+ if (min > 0) \
+ printf(" = %d min:%d sec ", min, (sec-min*60)); \
+ printf(", "); \
+ fprintf ( stdout, __VA_ARGS__); \
+ fflush(stdout); \
+ printf("\n"); \
+ _lastMeasuredMillis = ms; \
+ }
+
+
+void logReport(int stage, ADIOS_QUERY* q) {
long ms = fastbit_adios_getCurrentTimeMillis();
- if (stage == -1) { // init
+ if (stage == -1) { // init
_lastMeasuredMillis = ms;
_stageRefreshMillis = ms;
_queryStartMillis = ms;
- } else if (stage == 0) { // query
- printf("\n==> Total time spent to process this query: %ld millis.\n", ms - _queryStartMillis);
+ } else if (stage == 0) { // query
+ long m = ms-_queryStartMillis;
+ long s = m/1000;
+ long d = s/60;
+ if ((d == 0) && (s == 0)) {
+ printf(" [Total time] processing this query: %ld millis, query: %s\n", m, q->condition);
+ } else if (d == 0) {
+ printf(" [Total time] processing this query: %ld millis = %ld sec, query: %s\n", m, s, q->condition);
+ } else {
+ printf(" [Total time] processing this query: %ld millis = %ld min: %ld sec, query: %s\n", m, d, s-d*60, q->condition);
+ }
+ } else if (stage == 1) { // query
+ long m = ms-_queryStartMillis;
+ long s = m/1000;
+ long d = s/60;
+ if ((d == 0) && (s == 0)) {
+ printf(" [Total time] getResultCoodinates this query: %ld millis, query: %s\n", m, q->condition);
+ } else if (d == 0) {
+ printf(" [Total time] getResultCoordinates this query: %ld millis = %ld sec, query: %s\n", m, s, q->condition);
+ } else {
+ printf(" [Total time] getResultCoordinates this query: %ld millis = %ld min: %ld sec, query: %s\n", m, d, s-d*60, q->condition);
+ }
}
-}
+}
-void logTimeMillis(const char* notes)
+/*
+//void logTimeMillis(const char* notes)
+void logTimeMillis(__VA_ARGS__)
{
long ms = fastbit_adios_getCurrentTimeMillis();
@@ -64,11 +104,14 @@ void logTimeMillis(const char* notes)
_stageRefreshMillis = ms;
} else {
long d = ms - _lastMeasuredMillis;
- printf(" ELAPSED millis: %ld \t%s\n", d, notes);
+ //printf(" ELAPSED millis: %ld \t%s\n", d, notes);
+ printf(" ELAPSED millis: %ld \t", d);
+ printf(__VA_ARGS__);
+ printf("\n");
}
_lastMeasuredMillis = ms;
}
-
+*/
static int getTotalByteSize (ADIOS_FILE* f, ADIOS_VARINFO* v, ADIOS_SELECTION* sel,
uint64_t* total_byte_size, uint64_t* dataSize, int timestep)
@@ -377,28 +420,48 @@ double getCurrentValue(void* data, uint64_t idx, enum ADIOS_DATATYPES type)
return 0;
}
-void manualCheck(ADIOS_QUERY* q, int timestep) {
+void manualCheck(ADIOS_QUERY* q, int timestep, int64_t compareHits) {
if ((q->left == NULL) && (q->right == NULL)) {
printf ("... manual check: \n");
+
// proceed
uint64_t totalByteSize;
uint64_t totalSize;
getTotalByteSize(q->file, q->varinfo, q->sel, &totalByteSize, &totalSize, timestep);
-
+
void* output = malloc (totalByteSize);
+ if (output == NULL) {
+ logTimeMillis(" unable to allocate memory for %ld bytes/ skip. \n", totalByteSize);
+ return;
+ }
adios_schedule_read (q->file, q->sel, q->varName, timestep, 1, output);
adios_perform_reads (q->file, 1);
+ logTimeMillis(" adios reading data out from query: %s, variablesize: %ld\n", q->condition, totalSize);
uint64_t hits=0;
uint64_t k=0;
char* endptr;
double vv = strtod(q->predicateValue, &endptr);
+
+ //double min, max;
for (k=0; k<totalSize; k++) {
double curr = getCurrentValue(output, k, q->varinfo->type);
+ /*
+ if (k==0) {
+ min=curr; max=curr;
+ } else {
+ if (curr < min) {
+ min = curr;
+ } else if (curr > max) {
+ max = curr;
+ }
+ }
+ */
+
//printf ("curr=%lg, vv=%lg\n", curr, vv);
if (curr == vv) {
if ((q->predicateOp == ADIOS_EQ) || (q->predicateOp == ADIOS_LTEQ) || (q->predicateOp == ADIOS_GTEQ)) {
@@ -415,7 +478,14 @@ void manualCheck(ADIOS_QUERY* q, int timestep) {
}
}
free(output);
- printf("... double check found %d hits\n", hits);
+ printf("... double check found %d hits ", hits);
+
+ int64_t diff = compareHits - hits;
+ if (diff == 0) {
+ printf(" SUCCESS! \n");
+ } else {
+ printf(" oh no! expecting %d\n", compareHits);
+ }
return;
}
printf("Skip manual check on composite query\n");
@@ -455,6 +525,8 @@ int parseQueryXml(const char* xmlQueryFileName)
printf("No content in file %s.\n", xmlQueryFileName);
return -1;
}
+
+ printf("Reading: %s\n", xmlQueryFileName);
mxml_node_t* tree = mxmlLoadFile(NULL, fp, MXML_NO_CALLBACK);
fclose(fp);
@@ -503,49 +575,99 @@ int parseQueryXml(const char* xmlQueryFileName)
return -1;
}
+ logReport(-1, NULL);
+ printf("\n ... reading file: %s\n", bpFileName);
+
f = adios_read_open_file (bpFileName, ADIOS_READ_METHOD_BP, comm_dummy);
if (f == NULL) {
printf("::%s\n", adios_errmsg());
return -1;
}
+ logTimeMillis(" adios file read.\n");
ADIOS_QUERY* q = constructQuery(queryNode, f, queryName, batchSize);
ADIOS_SELECTION* outputBox = getOutputSelection(queryNode);
- logReport(-1); // init timer
+ logReport(-1, q); // init timer
//adios_query_set_method(q, ADIOS_QUERY_METHOD_FASTBIT);
int timestep = 0;
+ fastbit_set_verbose_level(0);
//ADIOS_SELECTION* noBox = 0;
while (timestep <= f->last_step) {
- printf("\n ...... query=%s, %s, [TimeStep=%d of %d]\n",queryName, q->condition, timestep, f->last_step);
+ printf("\n==> query=%s, %s, [TimeStep=%d of %d]\n",queryName, q->condition, timestep, f->last_step);
+#ifdef ESTIMATE
int64_t est = adios_query_estimate(q, timestep);
- logTimeMillis(" estimated.");
- printf("\n=> query %s: %s, \n\t estimated %ld hits on timestep: %d\n", queryName, q->condition, est, timestep);
+ logTimeMillis(" estimated. %s", q->condition);
+ printf("\n .. query %s: %s, \t estimated %ld hits on timestep: %d\n", queryName, q->condition, est, timestep);
+#endif
ADIOS_SELECTION* currBatch = NULL;
int hasMore = 1;
+
+ int readBatchCounter = 1; // 1 = no read back
+ int64_t numHits = 0;
while (hasMore > 0) {
hasMore = adios_query_evaluate(q, outputBox, timestep, batchSize, &currBatch);
- logTimeMillis(" evaluated one batch.");
+ logTimeMillis(" evaluated one batch: %s \n", q->condition);
+ if (numHits == 0) {
+ logReport(0, q);
+ }
if (currBatch != NULL) {
- printf("\n=> evaluated: %ld hits for %s\n", currBatch->u.points.npoints, q->condition);
+ int currBatchSize = currBatch->u.points.npoints;
+ numHits += currBatchSize;
+ printf("\n evaluated: %ld hits for %s\n", currBatchSize, q->condition);
+
+ if (readBatchCounter < 1) {
+ if (currBatchSize <= 1048576) { // takes too long otherwise
+ readBatchCounter ++;
+ printf("\n sample once on reading data out from ADIOS\n");
+ ADIOS_QUERY* leaf = q;
+ while (leaf->varinfo == NULL) {
+ leaf = leaf->left;
+ }
+ uint64_t output_byte_size = common_read_type_size (leaf->varinfo->type, leaf->varinfo->value);
+ output_byte_size *= currBatchSize;
+
+ void* output = malloc (output_byte_size+1000);
+ if (output == NULL) {
+ logTimeMillis(".. unable to allocate enough memory for %ld bytes. Skip.\n", output_byte_size+1000);
+ } else {
+ adios_schedule_read (leaf->file, currBatch, leaf->varName, timestep, 1, output);
+ adios_perform_reads (leaf->file, 1);
+ logTimeMillis(" .. read batch data out from ADIOS, batchsize=%ld, for: %s out of %ld\n", currBatchSize, leaf->condition, leaf->rawDataSize);
+ free(output);
+ }
+ }
+ }
+ } else {
+ printf("\n evaluated 0 hits for %s\n", q->condition);
}
+
if (currBatch != NULL) {
free (currBatch->u.points.points);
adios_selection_delete(currBatch);
}
}
- logReport(0);
- manualCheck(q, timestep);
- logTimeMillis(" manual check done.");
- timestep ++;
+
+ logReport(1, q);
+ logReport(-1, NULL);
+
+ //printf("\n skipping manual check. not enough memory\n");
+ printf("\n numHits = %ld, %s\n", numHits, q->condition);
+ if (numHits > 5000000) {
+ //manualCheck(q, timestep, numHits);
+ } else {
+ //printf("\n numHits = %ld\n", numHits);
+ }
+
+ logTimeMillis(" sequential scan done! %s\n", q->condition);
+ timestep ++;
}
-
recursive_free(q);
adios_read_close(f);
-
+
//mxmlDelete(queryNode);
- }
+ }
mxmlDelete(testsNode);
mxmlDelete(tree);
@@ -926,94 +1048,16 @@ void doubleCheckWithIdxOnBlock(ADIOS_FILE* dataFile, const char* basefileName, i
}
*/
-void usage(char* prog)
-{
- printf("Usage: %s <BP-file> [query]\n e.g. ./test_v1 my.bp \"x1 > 10\" \n", prog);
-}
int main (int argc, char ** argv)
{
- parseQueryXml("query.xml");
- return 0;
-
-
-#if 0
-
- if (argc < 2) {
- usage(argv[0]);
- return 1;
- }
-
- ADIOS_FILE * f;
- MPI_Comm comm_dummy = 0; /* MPI_Comm is defined through adios_read.h */
-
- f = adios_read_open_file (argv[1], ADIOS_READ_METHOD_BP, comm_dummy);
- if (f == NULL) {
- printf ("::%s\n", adios_errmsg());
- return -1;
- }
-
- const char* varName1 = "/Timestep_0/cells/X";
- const char* varName2 = "/Timestep_0/cells/Y";
-
- if (argc > 2) {
- varName1 = argv[2];
- }
-
-
- if (argc > 3) {
- int blockNum = 0; // relative to timestep
- int timestep = 1;
- const char* lessThanVal = argv[3];
- if (argc > 4) { // e.g. ./query_fastbit data/record20110203.bp "/var/v1" 1.000 2
- timestep = atoi(argv[4]);
- }
-
- /*
- if (argc > 5) {
- printf("arg: dataFile var1 value timestep var2\n");
- varName2 = argv[5];
- const char* greaterThanVal = argv[6];
-
- testDefaultBoundBox(f, varName1, varName2, timestep, lessThanVal, greaterThanVal);
- }
- */
-
- //testUseOneWriteBlockSimpleLessThan(f, blockNum, varName1, lessThanVal, timestep);
- enum ADIOS_PREDICATE_MODE lessT = ADIOS_LT;
- testNoBoxOnSelection(f, varName1, lessThanVal, timestep, lessT);
- //testNoBoxOnSelection(f, varName1, lessThanVal, timestep, lessT);
- enum ADIOS_PREDICATE_MODE greaterT = ADIOS_GT;
- testNoBoxOnSelection(f, varName1, lessThanVal, timestep, greaterT);
- //testNoBoxOnSelection(f, varName1, lessThanVal, timestep, greaterT);
- //testOneBoundBox(f, varName1, lessThanVal, timestep);
-
- //const char* greaterThanVal = argv[5];
- //testTwoBoundBoxes(f, varName1, lessThanVal, greaterThanVal, timestep);
- //}
-
- /*
- ADIOS_VARINFO* v = adios_inq_var(f, varName1);
- doubleCheckWithIdxOnBlock(f, argv[1], blockNum, v, timestep, atof(lessThanVal));
-
- //uint64_t point[] = {33,31,31};
- //printf("testing global block #: %d\n", getGlobalBlockNumForPoint(v,point,timestep));
-
- adios_free_varinfo(v);
- */
- }
-
- //testNoBoxOnSelection(f, varName1);
- //testMultiBoundBox(f, varName1, varName1);
- //testAllDifferentBoundBoxes(f, varName1, varName2);
- //testUseOneWriteBlock(f, 0, varName1, varName2);
-
+ if (argc == 1) {
+ parseQueryXml("query.xml");
+ return 0;
+ } else {
+ parseQueryXml(argv[1]);
+ return 0;
+ }
- //testOneBoundBoxForAllVar(f, varName1, varName2);
- //testOnePointList(f, varName1, varName2);
-
- adios_read_close(f);
- return 1;
-#endif
}
diff --git a/tests/Fortran/CMakeLists.txt b/tests/Fortran/CMakeLists.txt
index f389eb1..b861a29 100644
--- a/tests/Fortran/CMakeLists.txt
+++ b/tests/Fortran/CMakeLists.txt
@@ -1,4 +1,4 @@
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/tests/Fortran)
link_directories(${PROJECT_BINARY_DIR}/tests/Fortran)
diff --git a/tests/Fortran/Makefile.am b/tests/Fortran/Makefile.am
index 476efb8..c401935 100644
--- a/tests/Fortran/Makefile.am
+++ b/tests/Fortran/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/Fortran/Makefile.in b/tests/Fortran/Makefile.in
index b2b7e2b..83f511b 100644
--- a/tests/Fortran/Makefile.in
+++ b/tests/Fortran/Makefile.in
@@ -303,6 +303,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -360,7 +363,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
#adios_test_f_SOURCES = adios_test_f.F90 adios_module.F90
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 7862227..8cb8cfa 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/tests/bp_read/CMakeLists.txt b/tests/bp_read/CMakeLists.txt
index fc094a5..354a999 100644
--- a/tests/bp_read/CMakeLists.txt
+++ b/tests/bp_read/CMakeLists.txt
@@ -1,7 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/tests/bp_read)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/tests/bp_read)
set(genbp_CPPFLAGS "${ADIOSLIB_CPPFLAGS}")
diff --git a/tests/bp_read/Makefile.am b/tests/bp_read/Makefile.am
index 0011a8b..3ec0453 100644
--- a/tests/bp_read/Makefile.am
+++ b/tests/bp_read/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/bp_read/Makefile.in b/tests/bp_read/Makefile.in
index 13d1612..af03554 100644
--- a/tests/bp_read/Makefile.in
+++ b/tests/bp_read/Makefile.in
@@ -345,6 +345,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -402,8 +405,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
# read_coords read_phi read_parts_global read_gena read_gena_pncd read_pixie_all
diff --git a/tests/bp_read/bp_read_f.F90 b/tests/bp_read/bp_read_f.F90
index 713a2e0..8eaf57b 100644
--- a/tests/bp_read/bp_read_f.F90
+++ b/tests/bp_read/bp_read_f.F90
@@ -162,12 +162,12 @@ subroutine processArgs(path)
character(len=256), intent(out) :: path
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
integer :: numargs
diff --git a/tests/bp_read/bp_read_f_v1.F90 b/tests/bp_read/bp_read_f_v1.F90
index 127a067..81fbb85 100644
--- a/tests/bp_read/bp_read_f_v1.F90
+++ b/tests/bp_read/bp_read_f_v1.F90
@@ -173,12 +173,12 @@ subroutine processArgs(path)
character(len=256), intent(out) :: path
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
integer :: numargs
diff --git a/tests/genarray/CMakeLists.txt b/tests/genarray/CMakeLists.txt
index e822620..8342037 100644
--- a/tests/genarray/CMakeLists.txt
+++ b/tests/genarray/CMakeLists.txt
@@ -1,5 +1,5 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
-include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/tests/genarray)
include_directories(${PROJECT_BINARY_DIR}/tests/genarray)
link_directories(${PROJECT_BINARY_DIR}/tests/genarray)
diff --git a/tests/genarray/Makefile.am b/tests/genarray/Makefile.am
index e1c5ca4..9b569c2 100644
--- a/tests/genarray/Makefile.am
+++ b/tests/genarray/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/tests/genarray/Makefile.in b/tests/genarray/Makefile.in
index bd072a8..5d0f107 100644
--- a/tests/genarray/Makefile.in
+++ b/tests/genarray/Makefile.in
@@ -327,6 +327,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -384,7 +387,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src
AUTOMAKE_OPTIONS = no-dependencies
genarray_SOURCES = genarray.F90
genarray_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_CPPFLAGS)
diff --git a/tests/genarray/copyarray.F90 b/tests/genarray/copyarray.F90
index adcc8af..364ddf1 100644
--- a/tests/genarray/copyarray.F90
+++ b/tests/genarray/copyarray.F90
@@ -273,12 +273,12 @@ subroutine processArgs()
use copyarray_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, npz_str, ndx_str, ndy_str, ndz_str
diff --git a/tests/genarray/copyarray2D.F90 b/tests/genarray/copyarray2D.F90
index 2267639..f3d8259 100644
--- a/tests/genarray/copyarray2D.F90
+++ b/tests/genarray/copyarray2D.F90
@@ -341,12 +341,12 @@ subroutine processArgs()
use copyarray2D_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, ndx_str, ndy_str, time_str
diff --git a/tests/genarray/genarray.F90 b/tests/genarray/genarray.F90
index ea329f9..6d22f6e 100644
--- a/tests/genarray/genarray.F90
+++ b/tests/genarray/genarray.F90
@@ -215,12 +215,12 @@ subroutine processArgs()
use genarray_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, npz_str, ndx_str, ndy_str, ndz_str
diff --git a/tests/genarray/genarray2D.F90 b/tests/genarray/genarray2D.F90
index 71c6712..87baccb 100644
--- a/tests/genarray/genarray2D.F90
+++ b/tests/genarray/genarray2D.F90
@@ -263,12 +263,12 @@ subroutine processArgs()
use genarray2D_comm
#ifndef __GFORTRAN__
-#ifndef __GNUC__
+!#ifndef __GNUC__
interface
integer function iargc()
end function iargc
end interface
-#endif
+!#endif
#endif
character(len=256) :: npx_str, npy_str, ndx_str, ndy_str, time_str
diff --git a/tests/suite/Makefile.in b/tests/suite/Makefile.in
index 49b1938..80689df 100644
--- a/tests/suite/Makefile.in
+++ b/tests/suite/Makefile.in
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/tests/suite/programs/CMakeLists.txt b/tests/suite/programs/CMakeLists.txt
index 8bb7160..16435e0 100644
--- a/tests/suite/programs/CMakeLists.txt
+++ b/tests/suite/programs/CMakeLists.txt
@@ -2,6 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/tests/suite)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/tests/suite/programs)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_BINARY_DIR}/tests/suite/programs)
link_directories(${PROJECT_BINARY_DIR}/tests/suite/programs)
diff --git a/tests/suite/programs/Makefile.am b/tests/suite/programs/Makefile.am
index ce1a2f4..5e4e911 100644
--- a/tests/suite/programs/Makefile.am
+++ b/tests/suite/programs/Makefile.am
@@ -36,6 +36,8 @@ check_C=local_array_time \
test_C=hashtest copy_subvolume transforms_specparse group_free_test
+SUBDIRS=examples
+
endif
if BUILD_FORTRAN
@@ -52,10 +54,10 @@ check_PROGRAMS=$(check_C) $(check_Fortran) $(check_readonly_C) $(check_readonly_
TESTS=$(test_C)
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_builddir)/src -I$(top_srcdir)/src/public
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
#############################
# Build rules for each test #
@@ -195,7 +197,7 @@ transforms_writeblock_read_LDFLAGS = $(AM_LDFLAGS) $(ADIOSREADLIB_LDFLAGS)
copy_subvolume_SOURCES=copy_subvolume.c
copy_subvolume_LDADD = $(top_builddir)/src/libadiosread_nompi.a $(ADIOSREADLIB_SEQ_LDADD)
copy_subvolume_LDFLAGS = $(AM_LDFLAGS) $(ADIOSREADLIB_SEQ_LDFLAGS)
-copy_subvolume_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSREADLIB_SEQ_CPPFLAGS)
+copy_subvolume_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSREADLIB_SEQ_CPPFLAGS) -I$(top_builddir)/src/public
#copy_subvolume.o: copy_subvolume.c
transforms_specparse_SOURCES=transforms_specparse.c
@@ -213,7 +215,7 @@ hashtest.o: hashtest.c
group_free_test_SOURCES=group_free_test.c
group_free_test_LDADD = $(top_builddir)/src/libadios_nompi.a $(ADIOSLIB_SEQ_LDADD)
group_free_test_LDFLAGS = $(AM_LDFLAGS) $(ADIOSLIB_SEQ_LDFLAGS)
-group_free_test_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSLIB_SEQ_CPPFLAGS)
+group_free_test_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSLIB_SEQ_CPPFLAGS) -I$(top_builddir)/src/public
group_free_test.o: group_free_test.c
EXTRA_DIST = adios_amr_write.xml adios_amr_write_2vars.xml \
diff --git a/tests/suite/programs/Makefile.in b/tests/suite/programs/Makefile.in
index 4a598c7..c286f10 100644
--- a/tests/suite/programs/Makefile.in
+++ b/tests/suite/programs/Makefile.in
@@ -374,11 +374,49 @@ DIST_SOURCES = $(adios_amr_write_SOURCES) \
$(transforms_specparse_SOURCES) \
$(transforms_writeblock_read_SOURCES) $(two_groups_SOURCES) \
$(write_alternate_SOURCES) $(write_read_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
am__tty_colors = \
red=; grn=; lgn=; blu=; std=
+DIST_SUBDIRS = examples
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ADIOSLIB_CFLAGS = @ADIOSLIB_CFLAGS@
ADIOSLIB_CPPFLAGS = @ADIOSLIB_CPPFLAGS@
@@ -577,6 +615,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -671,10 +712,11 @@ check_readonly_C =
@BUILD_WRITE_TRUE@ transforms_writeblock_read
@BUILD_WRITE_TRUE at test_C = hashtest copy_subvolume transforms_specparse group_free_test
+ at BUILD_WRITE_TRUE@SUBDIRS = examples
@BUILD_FORTRAN_TRUE at check_readonly_Fortran =
@BUILD_FORTRAN_TRUE@@BUILD_WRITE_TRUE at check_Fortran = posix_method
-AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_builddir)/src -I$(top_srcdir)/src/public
#############################
# Build rules for each test #
@@ -765,7 +807,7 @@ transforms_writeblock_read_LDFLAGS = $(AM_LDFLAGS) $(ADIOSREADLIB_LDFLAGS)
copy_subvolume_SOURCES = copy_subvolume.c
copy_subvolume_LDADD = $(top_builddir)/src/libadiosread_nompi.a $(ADIOSREADLIB_SEQ_LDADD)
copy_subvolume_LDFLAGS = $(AM_LDFLAGS) $(ADIOSREADLIB_SEQ_LDFLAGS)
-copy_subvolume_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSREADLIB_SEQ_CPPFLAGS)
+copy_subvolume_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSREADLIB_SEQ_CPPFLAGS) -I$(top_builddir)/src/public
#copy_subvolume.o: copy_subvolume.c
transforms_specparse_SOURCES = transforms_specparse.c
transforms_specparse_LDADD = $(top_builddir)/src/libadios_nompi.a $(ADIOSLIB_SEQ_LDADD)
@@ -779,7 +821,7 @@ hashtest_CPPFLAGS = -I$(top_srcdir)/src
group_free_test_SOURCES = group_free_test.c
group_free_test_LDADD = $(top_builddir)/src/libadios_nompi.a $(ADIOSLIB_SEQ_LDADD)
group_free_test_LDFLAGS = $(AM_LDFLAGS) $(ADIOSLIB_SEQ_LDFLAGS)
-group_free_test_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSLIB_SEQ_CPPFLAGS)
+group_free_test_CPPFLAGS = -I$(top_srcdir)/src $(ADIOSLIB_SEQ_CPPFLAGS) -I$(top_builddir)/src/public
EXTRA_DIST = adios_amr_write.xml adios_amr_write_2vars.xml \
posix_method.xml local_array_time.xml \
write_alternate.xml write_read.xml transforms.xml \
@@ -791,7 +833,7 @@ FCLINK = \
$(LIBTOOL) --mode=link --tag F77 $(FC) \
$(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
-all: all-am
+all: all-recursive
.SUFFIXES:
.SUFFIXES: .F90 .c .lo .o .obj
@@ -1049,6 +1091,76 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -1059,10 +1171,23 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
mkid -fID $$unique
tags: TAGS
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
@@ -1081,7 +1206,7 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
fi; \
fi
ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -1223,21 +1348,50 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
+check: check-recursive
all-am: Makefile all-local
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-installcheck: installcheck-am
+installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
@@ -1255,96 +1409,98 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
+clean: clean-recursive
clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
-distclean: distclean-am
+distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
-dvi: dvi-am
+dvi: dvi-recursive
dvi-am:
-html: html-am
+html: html-recursive
html-am:
-info: info-am
+info: info-recursive
info-am:
install-data-am:
-install-dvi: install-dvi-am
+install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
-install-html: install-html-am
+install-html: install-html-recursive
install-html-am:
-install-info: install-info-am
+install-info: install-info-recursive
install-info-am:
install-man:
-install-pdf: install-pdf-am
+install-pdf: install-pdf-recursive
install-pdf-am:
-install-ps: install-ps-am
+install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
-maintainer-clean: maintainer-clean-am
+maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
-mostlyclean: mostlyclean-am
+mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
-pdf: pdf-am
+pdf: pdf-recursive
pdf-am:
-ps: ps-am
+ps: ps-recursive
ps-am:
uninstall-am:
-.MAKE: check-am install-am install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+ ctags-recursive install-am install-strip tags-recursive
-.PHONY: CTAGS GTAGS all all-am all-local check check-TESTS check-am \
- clean clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am all-local check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool ctags \
+ ctags-recursive distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+ installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
+ tags tags-recursive uninstall uninstall-am
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
posix_method.o: gwrite_posix_method.fh
gwrite_posix_method.fh: posix_method.xml
$(top_builddir)/utils/gpp/gpp.py $(srcdir)/posix_method.xml
diff --git a/tests/suite/programs/adios_transforms.xml b/tests/suite/programs/adios_transforms.xml
index 414a217..d01562d 100644
--- a/tests/suite/programs/adios_transforms.xml
+++ b/tests/suite/programs/adios_transforms.xml
@@ -20,7 +20,7 @@
<method group="transform" method="MPI"/>
-<buffer size-MB="500" allocate-time="now"/>
+<buffer size-MB="5" allocate-time="now"/>
</adios-config>
diff --git a/tests/suite/programs/adios_transforms_read_write.c b/tests/suite/programs/adios_transforms_read_write.c
index 38470a1..6a8927e 100644
--- a/tests/suite/programs/adios_transforms_read_write.c
+++ b/tests/suite/programs/adios_transforms_read_write.c
@@ -50,6 +50,7 @@ int read_box (char *filename)
MPI_Comm comm = MPI_COMM_WORLD;
enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ adios_read_init_method (method, comm, "");
ADIOS_FILE *f = adios_read_open_file (filename, method, comm);
ADIOS_VARINFO *varinfo = adios_inq_var (f, varname_xform [0]);
ADIOS_SELECTION *sel1;
@@ -134,7 +135,7 @@ int read_box (char *filename)
adios_free_varinfo (varinfo);
adios_read_close (f);
- adios_read_finalize_method (ADIOS_READ_METHOD_BP);
+ adios_read_finalize_method (method);
return retval;
}
diff --git a/tests/suite/programs/big_file.c b/tests/suite/programs/big_file.c
index 0cc1a02..11baa1e 100644
--- a/tests/suite/programs/big_file.c
+++ b/tests/suite/programs/big_file.c
@@ -56,7 +56,7 @@ void alloc_vars()
size_t n;
n = (size_t)ldim1 * (size_t)ldim2;
- log ("Allocate 2 arrays of %llu integers...\n",n);
+ log ("Allocate 2 arrays of %llu integers...\n",(unsigned long long)n);
a2 = (int*) malloc (n * sizeof(int));
r2 = (int*) malloc (n * sizeof(int));
}
@@ -81,7 +81,7 @@ void set_vars(int step)
set_offsets();
n = (size_t)ldim1 * (size_t)ldim2;
- log (" Fill up array of %llu elements to value %d...\n",n,v);
+ log (" Fill up array of %llu elements to value %d...\n",(unsigned long long)n,v);
for (i=0; i<n; i++) a2[i] = v;
}
@@ -202,7 +202,7 @@ int write_file (int step)
te = MPI_Wtime();
if (rank==0) {
- log (" Write time for step %d was %6.3lf seconds\n", rank, step, te-tb);
+ log (" Write time for step %d was %6.3lf seconds\n", step, te-tb);
}
MPI_Barrier (comm);
return 0;
@@ -287,7 +287,7 @@ int read_file ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/blocks.c b/tests/suite/programs/blocks.c
index e5453d8..c541fa2 100644
--- a/tests/suite/programs/blocks.c
+++ b/tests/suite/programs/blocks.c
@@ -180,7 +180,7 @@ void print_written_info()
printf ("\n------- Information recorded on rank 0 (read will compare to this info) --------\n");
for (s = 0; s < nsteps; s++) {
printf ("Step %d:\n", s);
- printf (" Global dim = %d\n", gdims[s]);
+ printf (" Global dim = %llu\n", gdims[s]);
for (r = 0; r < size; r++) {
for (b = 0; b < nblocks_per_step; b++) {
printf (" rank %d: block %d: size=%llu, offset=%llu\n", r, b+1,
@@ -498,7 +498,7 @@ int read_scalar_stepbystep ()
if (value !=
block_count [f->current_step*nblocks_per_step*size])
{
- printf ("\tERROR expected = %d",
+ printf ("\tERROR expected = %llu",
block_count [f->current_step*nblocks_per_step*size]);
nerrors++;
}
diff --git a/tests/suite/programs/build_standard_dataset.c b/tests/suite/programs/build_standard_dataset.c
index dd46903..efb0773 100644
--- a/tests/suite/programs/build_standard_dataset.c
+++ b/tests/suite/programs/build_standard_dataset.c
@@ -753,7 +753,8 @@ int main(int argc, char **argv) {
dataset = &DATASETS[i];
if (dataset == NULL) {
- fprintf(stderr, "Error: '%s' does not name a dataset packaged in this executable\n");
+ fprintf(stderr, "Error: '%s' does not name a dataset packaged in this executable\n",
+ dataset_id);
usage_and_exit();
}
diff --git a/tests/suite/programs/connect_to_space_subset.c b/tests/suite/programs/connect_to_space_subset.c
index d518bae..e5e515e 100644
--- a/tests/suite/programs/connect_to_space_subset.c
+++ b/tests/suite/programs/connect_to_space_subset.c
@@ -154,7 +154,7 @@ int write_file (int step)
uint64_t groupsize=0, totalsize;
log ("Write step %d to %s\n", step, FILENAME);
- adios_open (&fh, "connect", FILENAME, (step ? "a" : "w"), &subcomm);
+ adios_open (&fh, "connect", FILENAME, (step ? "a" : "w"), subcomm);
groupsize = 3 * sizeof(int); // dimensions
groupsize += ldim1 * sizeof(int); // 1D
diff --git a/tests/suite/programs/examples/Makefile.am b/tests/suite/programs/examples/Makefile.am
new file mode 100644
index 0000000..8eff78f
--- /dev/null
+++ b/tests/suite/programs/examples/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS=attributes scalars local_array global_array global_array_time
diff --git a/examples/Fortran/Makefile.in b/tests/suite/programs/examples/Makefile.in
similarity index 98%
copy from examples/Fortran/Makefile.in
copy to tests/suite/programs/examples/Makefile.in
index 26a22d6..1db0735 100644
--- a/examples/Fortran/Makefile.in
+++ b/tests/suite/programs/examples/Makefile.in
@@ -33,7 +33,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = examples/Fortran
+subdir = tests/suite/programs/examples
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -321,6 +321,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -378,7 +381,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = scalars arrays global-array global-array-time schema
+SUBDIRS = attributes scalars local_array global_array global_array_time
all: all-recursive
.SUFFIXES:
@@ -391,9 +394,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Fortran/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/Fortran/Makefile
+ $(AUTOMAKE) --gnu tests/suite/programs/examples/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -725,7 +728,6 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
-#time-index
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/suite/programs/examples/attributes/CMakeLists.txt b/tests/suite/programs/examples/attributes/CMakeLists.txt
new file mode 100644
index 0000000..1e10707
--- /dev/null
+++ b/tests/suite/programs/examples/attributes/CMakeLists.txt
@@ -0,0 +1,34 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/test/suite/programs/examples/attributes)
+include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/test/suite/programs/examples/attributes)
+
+add_executable(attributes_write_C attributes_write_C.c)
+if(MPI_COMPILE_FLAGS)
+ set_target_properties(attributes_write_C PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+endif()
+if(MPI_LINK_FLAGS)
+ set_target_properties(attributes_write_C PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+endif()
+target_link_libraries(attributes_write_C adios ${ADIOSLIB_LDADD} ${MPI_C_LIBRARIES})
+add_custom_command(
+ OUTPUT gwrite_temperature.ch
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/attributes/attributes_C.xml
+ DEPENDS attributes_C.xml
+ )
+
+
+add_executable(attributes_read_C attributes_read_C.c)
+if(MPI_COMPILE_FLAGS)
+ set_target_properties(attributes_read_C PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+endif()
+if(MPI_LINK_FLAGS)
+ set_target_properties(attributes_read_C PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+endif()
+target_link_libraries(attributes_read_C adiosread ${ADIOSREADLIB_LDADD} ${MPI_C_LIBRARIES})
+#set_target_properties(attributes_read PROPERTIES COMPILE_FLAGS "-DADIOS_USE_READ_API_1")
+
+#install(FILES attributes.xml gwrite_temperature.ch gread_temperature.ch DESTINATION ${PROJECT_BINARY_DIR}/examples/C/attributes)
+
diff --git a/tests/suite/programs/examples/attributes/Makefile.am b/tests/suite/programs/examples/attributes/Makefile.am
new file mode 100644
index 0000000..eb59840
--- /dev/null
+++ b/tests/suite/programs/examples/attributes/Makefile.am
@@ -0,0 +1,27 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+all-local:
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+
+check_PROGRAMS = attributes_write_C attributes_read_C
+
+attributes_write_C_SOURCES = attributes_write_C.c
+attributes_write_C_LDADD = $(top_builddir)/src/libadios.a
+attributes_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+attributes_write_C_LDADD += $(ADIOSLIB_LDADD)
+attributes_write_C.o: gwrite_temperature.ch
+gwrite_temperature.ch: attributes_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/attributes_C.xml
+
+attributes_read_C_SOURCES = attributes_read_C.c
+attributes_read_C_LDADD = $(top_builddir)/src/libadiosread.a
+attributes_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+attributes_read_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+CLEANFILES = *.bp *.ch *.fh
+CC=$(MPICC)
+EXTRA_DIST = attributes_C.xml
+
diff --git a/examples/C/attributes/Makefile.in b/tests/suite/programs/examples/attributes/Makefile.in
similarity index 87%
copy from examples/C/attributes/Makefile.in
copy to tests/suite/programs/examples/attributes/Makefile.in
index 90126cd..61448e4 100644
--- a/examples/C/attributes/Makefile.in
+++ b/tests/suite/programs/examples/attributes/Makefile.in
@@ -14,7 +14,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -34,8 +33,9 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = attributes_write$(EXEEXT) attributes_read$(EXEEXT)
-subdir = examples/C/attributes
+check_PROGRAMS = attributes_write_C$(EXEEXT) \
+ attributes_read_C$(EXEEXT)
+subdir = tests/suite/programs/examples/attributes
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -82,22 +82,21 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_attributes_read_OBJECTS = attributes_read.$(OBJEXT)
-attributes_read_OBJECTS = $(am_attributes_read_OBJECTS)
+am_attributes_read_C_OBJECTS = attributes_read_C.$(OBJEXT)
+attributes_read_C_OBJECTS = $(am_attributes_read_C_OBJECTS)
am__DEPENDENCIES_1 =
-attributes_read_DEPENDENCIES = $(top_builddir)/src/libadiosread.a \
+attributes_read_C_DEPENDENCIES = $(top_builddir)/src/libadiosread.a \
$(am__DEPENDENCIES_1)
-attributes_read_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+attributes_read_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(attributes_read_LDFLAGS) $(LDFLAGS) -o $@
-am_attributes_write_OBJECTS = attributes_write.$(OBJEXT)
-attributes_write_OBJECTS = $(am_attributes_write_OBJECTS)
-attributes_write_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+ $(attributes_read_C_LDFLAGS) $(LDFLAGS) -o $@
+am_attributes_write_C_OBJECTS = attributes_write_C.$(OBJEXT)
+attributes_write_C_OBJECTS = $(am_attributes_write_C_OBJECTS)
+attributes_write_C_DEPENDENCIES = $(top_builddir)/src/libadios.a \
$(am__DEPENDENCIES_1)
-attributes_write_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+attributes_write_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(attributes_write_LDFLAGS) $(LDFLAGS) -o $@
+ $(attributes_write_C_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
@@ -110,8 +109,9 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(attributes_read_SOURCES) $(attributes_write_SOURCES)
-DIST_SOURCES = $(attributes_read_SOURCES) $(attributes_write_SOURCES)
+SOURCES = $(attributes_read_C_SOURCES) $(attributes_write_C_SOURCES)
+DIST_SOURCES = $(attributes_read_C_SOURCES) \
+ $(attributes_write_C_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,19 +373,20 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
-attributes_write_SOURCES = attributes_write.c
-attributes_write_LDADD = $(top_builddir)/src/libadios.a \
+attributes_write_C_SOURCES = attributes_write_C.c
+attributes_write_C_LDADD = $(top_builddir)/src/libadios.a \
$(ADIOSLIB_LDADD)
-attributes_write_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-attributes_read_SOURCES = attributes_read.c
-attributes_read_LDADD = $(top_builddir)/src/libadiosread.a \
+attributes_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+attributes_read_C_SOURCES = attributes_read_C.c
+attributes_read_C_LDADD = $(top_builddir)/src/libadiosread.a \
$(ADIOSREADLIB_LDADD)
-attributes_read_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
-CLEANFILES = *.bp
-EXTRA_DIST = attributes.xml gwrite_temperature.ch gread_temperature.ch
+attributes_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+CLEANFILES = *.bp *.ch *.fh
+EXTRA_DIST = attributes_C.xml
all: all-am
.SUFFIXES:
@@ -396,9 +400,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/attributes/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/attributes/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/C/attributes/Makefile
+ $(AUTOMAKE) --gnu tests/suite/programs/examples/attributes/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -418,20 +422,20 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-attributes_read$(EXEEXT): $(attributes_read_OBJECTS) $(attributes_read_DEPENDENCIES)
- @rm -f attributes_read$(EXEEXT)
- $(attributes_read_LINK) $(attributes_read_OBJECTS) $(attributes_read_LDADD) $(LIBS)
-attributes_write$(EXEEXT): $(attributes_write_OBJECTS) $(attributes_write_DEPENDENCIES)
- @rm -f attributes_write$(EXEEXT)
- $(attributes_write_LINK) $(attributes_write_OBJECTS) $(attributes_write_LDADD) $(LIBS)
+attributes_read_C$(EXEEXT): $(attributes_read_C_OBJECTS) $(attributes_read_C_DEPENDENCIES)
+ @rm -f attributes_read_C$(EXEEXT)
+ $(attributes_read_C_LINK) $(attributes_read_C_OBJECTS) $(attributes_read_C_LDADD) $(LIBS)
+attributes_write_C$(EXEEXT): $(attributes_write_C_OBJECTS) $(attributes_write_C_DEPENDENCIES)
+ @rm -f attributes_write_C$(EXEEXT)
+ $(attributes_write_C_LINK) $(attributes_write_C_OBJECTS) $(attributes_write_C_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -537,8 +541,9 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS) all-local
+all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
@@ -568,7 +573,7 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
@@ -635,10 +640,10 @@ ps-am:
uninstall-am:
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
@@ -653,7 +658,10 @@ uninstall-am:
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+attributes_write_C.o: gwrite_temperature.ch
+gwrite_temperature.ch: attributes_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/attributes_C.xml
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/suite/programs/examples/attributes/attributes_C.xml b/tests/suite/programs/examples/attributes/attributes_C.xml
new file mode 100644
index 0000000..f9988fb
--- /dev/null
+++ b/tests/suite/programs/examples/attributes/attributes_C.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<adios-config host-language="C">
+ <adios-group name="temperature">
+ <var name="NX" type="integer"/>
+ <var name="size" type="integer"/>
+ <var name="rank" type="integer"/>
+ <var name="mean" type="double"/>
+ <var name="date" type="string" gwrite="str"/>
+
+ <global-bounds dimensions="size,NX" offsets="rank,0">
+ <var name="temperature" gwrite="t" gread="t" type="double" dimensions="1,NX"/>
+ </global-bounds>
+
+ <!-- an integer attribute set to 1 -->
+ <attribute name="temperature/number of levels"
+ type="integer"
+ value="1"/>
+
+ <!-- a string attribute -->
+ <attribute name="temperature/description"
+ value="Global array written from 'size' processes"
+ type="string"/>
+
+ <!-- attributes inheriting the type and value of the scalar variables -->
+ <attribute name="temperature/mean value" var="mean"/>
+ <attribute name="temperature/date of coding" var="date"/>
+ </adios-group>
+
+ <method group="temperature" method="MPI"/>
+
+ <buffer size-MB="2" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/examples/C/attributes/attributes_read.c b/tests/suite/programs/examples/attributes/attributes_read_C.c
similarity index 51%
copy from examples/C/attributes/attributes_read.c
copy to tests/suite/programs/examples/attributes/attributes_read_C.c
index d032252..66b341a 100644
--- a/examples/C/attributes/attributes_read.c
+++ b/tests/suite/programs/examples/attributes/attributes_read_C.c
@@ -16,6 +16,7 @@
#include <string.h>
#include "mpi.h"
#include "adios_read.h"
+#include "core/adios_logger.h"
int main (int argc, char ** argv)
{
@@ -31,10 +32,11 @@ int main (int argc, char ** argv)
MPI_Comm_size (comm, &size);
adios_read_init_method (method, comm, "verbose=3");
- ADIOS_FILE * f = adios_read_open ("attributes.bp", method, comm, ADIOS_LOCKMODE_NONE, 0.0);
+ adios_logger_open ("log_read_C", rank);
+ ADIOS_FILE * f = adios_read_open ("attributes_C.bp", method, comm, ADIOS_LOCKMODE_NONE, 0.0);
if (f == NULL)
{
- printf ("%s\n", adios_errmsg());
+ log_error ("%s\n", adios_errmsg());
return -1;
}
@@ -43,21 +45,34 @@ int main (int argc, char ** argv)
adios_get_attr (f, f->attr_namelist[i], &attr_type, &attr_size, &data);
- printf ("rank %d: attr: %s %s = ", rank, adios_type_to_string(attr_type), f->attr_namelist[i]);
- switch (attr_type)
+ log_test("rank %d: attr: %s %s = ", rank, adios_type_to_string(attr_type), f->attr_namelist[i]);
+ int type_size = adios_type_size (attr_type, data);
+ int nelems = attr_size / type_size;
+ int k;
+ char *p = (char*)data;
+ for (k=0; k<nelems; k++)
{
- case adios_integer:
- printf ("%d\n", *(int *)data);
- break;
- case adios_double:
- printf ("%e\n", *(double *)data);
- break;
- case adios_string:
- printf ("%s\n", (char *)data);
- break;
- default:
- printf ("??????\n");
+ if (k>0) log_test(", ");
+ switch (attr_type)
+ {
+ case adios_integer:
+ log_test ("%d", *(int *)p);
+ break;
+ case adios_double:
+ log_test ("%e", *(double *)p);
+ break;
+ case adios_string:
+ log_test ("\"%s\"", (char *)p);
+ break;
+ case adios_string_array:
+ log_test ("\"%s\"", *(char **)p);
+ break;
+ default:
+ log_test ("??????\n");
+ }
+ p=p+type_size;
}
+ log_test("\n");
free (data);
data = 0;
}
@@ -65,6 +80,7 @@ int main (int argc, char ** argv)
adios_read_close (f);
MPI_Barrier (comm);
adios_read_finalize_method (ADIOS_READ_METHOD_BP);
+ adios_logger_close();
MPI_Finalize ();
return 0;
}
diff --git a/tests/suite/programs/examples/attributes/attributes_write_C.c b/tests/suite/programs/examples/attributes/attributes_write_C.c
new file mode 100644
index 0000000..04b5dd7
--- /dev/null
+++ b/tests/suite/programs/examples/attributes/attributes_write_C.c
@@ -0,0 +1,53 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: write some attributes along with variables
+*/
+#include <stdio.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios.h"
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank, size, i;
+ int NX = 10;
+ double t[NX], mean = 0;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ const char * str = "Nov, 2009";
+
+ /* ADIOS variables declarations for matching gwrite_temperature.ch */
+ uint64_t adios_groupsize, adios_totalsize;
+ int64_t adios_handle;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ for (i = 0; i < NX; i++)
+ {
+ t[i] = rank * NX + i;
+ mean += t[i];
+ }
+
+ mean /= NX;
+
+ strcpy (filename, "attributes_C.bp");
+
+ adios_init ("attributes_C.xml", comm);
+
+ adios_open (&adios_handle, "temperature", filename, "w", comm);
+#include "gwrite_temperature.ch"
+ adios_close (adios_handle);
+
+ MPI_Barrier (comm);
+
+ adios_finalize (rank);
+
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/global_array/CMakeLists.txt b/tests/suite/programs/examples/global_array/CMakeLists.txt
new file mode 100644
index 0000000..5edea06
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/CMakeLists.txt
@@ -0,0 +1,64 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/test/suite/programs/examples/global_array)
+include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/test/suite/programs/examples/global_array)
+
+add_executable(global_array_write_C global_array_write_C.c)
+target_link_libraries(global_array_write_C adios ${ADIOSLIB_LDADD})
+add_custom_command(
+ OUTPUT gwrite_temperature.ch
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/global_array/global_array_C.xml
+ DEPENDS global_array_C.xml
+ )
+
+add_executable(global_array_write_noxml_C global_array_write_noxml_C.c)
+target_link_libraries(global_array_write_noxml_C adios ${ADIOSLIB_LDADD})
+
+add_executable(global_array_write_byid_noxml_C global_array_write_byid_noxml_C.c)
+target_link_libraries(global_array_write_byid_noxml_C adios ${ADIOSLIB_LDADD})
+
+add_executable(global_array_aggregate_by_color_C global_array_aggregate_by_color_C.c)
+target_link_libraries(global_array_aggregate_by_color_C adios ${ADIOSLIB_LDADD})
+
+add_executable(global_array_read_C global_array_read_C.c)
+target_link_libraries(global_array_read_C adiosread ${ADIOSREADLIB_LDADD})
+
+add_executable(global_array_read_noxml_C global_array_read_noxml_C.c)
+target_link_libraries(global_array_read_noxml_C adiosread ${ADIOSREADLIB_LDADD})
+
+add_executable(global_array_read_byid_noxml_C global_array_read_byid_noxml_C.c)
+target_link_libraries(global_array_read_byid_noxml_C adiosread ${ADIOSREADLIB_LDADD})
+
+#set_target_properties(global_array_read_noxml_C PROPERTIES COMPILE_FLAGS "-DADIOS_USE_READ_API_1")
+
+set (PROGS global_array_write_C global_array_read_C global_array_write_noxml_C global_array_read_noxml_C)
+
+foreach (PROG ${PROGS} )
+ if(MPI_COMPILE_FLAGS)
+ set_target_properties(${PROG} PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+ endif()
+ if(MPI_LINK_FLAGS)
+ set_target_properties(${PROG} PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+ endif()
+ target_link_libraries(${PROG} adios ${MPI_C_LIBRARIES})
+endforeach()
+
+if(BUILD_FORTRAN)
+ add_executable(global_array_write_F global_array_write_F.F90)
+ target_link_libraries(global_array_write_F adiosf ${ADIOSLIB_LDADD})
+ add_custom_command(
+ OUTPUT gwrite_temperature.fh
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/global_array/global_array_F.xml
+ DEPENDS global_array_F.xml
+ )
+ add_executable(global_array_write_noxml_F global_array_write_noxml_F.F90)
+ target_link_libraries(global_array_write_noxml_F adiosf ${ADIOSLIB_LDADD})
+ add_executable(global_array_write_byid_noxml_F global_array_write_byid_noxml_F.F90)
+ target_link_libraries(global_array_write_byid_noxml_F adiosf ${ADIOSLIB_LDADD})
+endif
+
+
+#install(FILES adios_global.xml gread_temperature.ch gwrite_temperature.ch job.pbs DESTINATION ${PROJECT_BINARY_DIR}/examples/C/global-array)
+
diff --git a/tests/suite/programs/examples/global_array/Makefile.am b/tests/suite/programs/examples/global_array/Makefile.am
new file mode 100644
index 0000000..d3eea1f
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/Makefile.am
@@ -0,0 +1,83 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+all-local:
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+
+check_PROGRAMS = global_array_write_C global_array_read_C global_array_write_noxml_C global_array_read_noxml_C global_array_write_byid_noxml_C global_array_read_byid_noxml_C global_array_aggregate_by_color_C
+
+global_array_write_C_SOURCES = global_array_write_C.c
+global_array_write_C_LDADD = $(top_builddir)/src/libadios.a
+global_array_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_write_C_LDADD += $(ADIOSLIB_LDADD)
+global_array_write_C.o: gwrite_temperature.ch
+gwrite_temperature.ch: global_array_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_C.xml
+
+global_array_read_C_SOURCES = global_array_read_C.c
+global_array_read_C_LDADD = $(top_builddir)/src/libadiosread.a
+global_array_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_read_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+global_array_write_noxml_C_SOURCES = global_array_write_noxml_C.c
+global_array_write_noxml_C_LDADD = $(top_builddir)/src/libadios.a
+global_array_write_noxml_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_write_noxml_C_LDADD += $(ADIOSLIB_LDADD)
+
+global_array_read_noxml_C_SOURCES = global_array_read_noxml_C.c
+global_array_read_noxml_C_LDADD = $(top_builddir)/src/libadiosread.a
+global_array_read_noxml_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_read_noxml_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+global_array_write_byid_noxml_C_SOURCES = global_array_write_byid_noxml_C.c
+global_array_write_byid_noxml_C_LDADD = $(top_builddir)/src/libadios.a
+global_array_write_byid_noxml_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_write_byid_noxml_C_LDADD += $(ADIOSLIB_LDADD)
+
+global_array_read_byid_noxml_C_SOURCES = global_array_read_byid_noxml_C.c
+global_array_read_byid_noxml_C_LDADD = $(top_builddir)/src/libadiosread.a
+global_array_read_byid_noxml_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_read_byid_noxml_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+global_array_aggregate_by_color_C_SOURCES = global_array_aggregate_by_color_C.c
+global_array_aggregate_by_color_C_LDADD = $(top_builddir)/src/libadios.a
+global_array_aggregate_by_color_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_aggregate_by_color_C_LDADD += $(ADIOSLIB_LDADD)
+
+CLEANFILES = *.bp *.ch *.fh
+CC=$(MPICC)
+EXTRA_DIST = global_array_C.xml global_array_F.xml
+
+
+if BUILD_FORTRAN
+check_PROGRAMS += global_array_write_F global_array_write_noxml_F global_array_write_byid_noxml_F
+
+global_array_write_F_SOURCES = global_array_write_F.F90
+global_array_write_F_LDADD = $(top_builddir)/src/libadiosf.a
+global_array_write_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_write_F_LDADD += $(ADIOSLIB_LDADD)
+global_array_write_F.o: gwrite_temperature.fh
+gwrite_temperature.fh: global_array_F.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_F.xml
+
+global_array_write_noxml_F_SOURCES = global_array_write_noxml_F.F90
+global_array_write_noxml_F_LDADD = $(top_builddir)/src/libadiosf.a
+global_array_write_noxml_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_write_noxml_F_LDADD += $(ADIOSLIB_LDADD)
+
+global_array_write_byid_noxml_F_SOURCES = global_array_write_byid_noxml_F.F90
+global_array_write_byid_noxml_F_LDADD = $(top_builddir)/src/libadiosf.a
+global_array_write_byid_noxml_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_write_byid_noxml_F_LDADD += $(ADIOSLIB_LDADD)
+
+endif
+
+FC=$(MPIFC)
+
+FCLINK = \
+ $(LIBTOOL) --mode=link --tag F77 $(FC) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
+
+
diff --git a/tests/bp_read/Makefile.in b/tests/suite/programs/examples/global_array/Makefile.in
similarity index 59%
copy from tests/bp_read/Makefile.in
copy to tests/suite/programs/examples/global_array/Makefile.in
index 13d1612..bce3829 100644
--- a/tests/bp_read/Makefile.in
+++ b/tests/suite/programs/examples/global_array/Makefile.in
@@ -14,7 +14,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -34,13 +33,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
- at BUILD_FORTRAN_FALSE@noinst_PROGRAMS = genbp$(EXEEXT) \
- at BUILD_FORTRAN_FALSE@ bp_read_c$(EXEEXT)
- at BUILD_FORTRAN_TRUE@noinst_PROGRAMS = genbp$(EXEEXT) \
- at BUILD_FORTRAN_TRUE@ bp_read_f$(EXEEXT) bp_read_f_v1$(EXEEXT) \
- at BUILD_FORTRAN_TRUE@ bp_read_c$(EXEEXT)
-subdir = tests/bp_read
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+check_PROGRAMS = global_array_write_C$(EXEEXT) \
+ global_array_read_C$(EXEEXT) \
+ global_array_write_noxml_C$(EXEEXT) \
+ global_array_read_noxml_C$(EXEEXT) \
+ global_array_write_byid_noxml_C$(EXEEXT) \
+ global_array_read_byid_noxml_C$(EXEEXT) \
+ global_array_aggregate_by_color_C$(EXEEXT) $(am__EXEEXT_1)
+ at BUILD_FORTRAN_TRUE@am__append_1 = global_array_write_F global_array_write_noxml_F global_array_write_byid_noxml_F
+subdir = tests/suite/programs/examples/global_array
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
$(top_srcdir)/config/ac_aplod.m4 \
@@ -86,41 +88,109 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_bp_read_c_OBJECTS = bp_read_c-bp_read_c.$(OBJEXT)
-bp_read_c_OBJECTS = $(am_bp_read_c_OBJECTS)
+ at BUILD_FORTRAN_TRUE@am__EXEEXT_1 = global_array_write_F$(EXEEXT) \
+ at BUILD_FORTRAN_TRUE@ global_array_write_noxml_F$(EXEEXT) \
+ at BUILD_FORTRAN_TRUE@ global_array_write_byid_noxml_F$(EXEEXT)
+am_global_array_aggregate_by_color_C_OBJECTS = \
+ global_array_aggregate_by_color_C.$(OBJEXT)
+global_array_aggregate_by_color_C_OBJECTS = \
+ $(am_global_array_aggregate_by_color_C_OBJECTS)
am__DEPENDENCIES_1 =
-bp_read_c_DEPENDENCIES = $(top_builddir)/src/libadiosread.a \
+global_array_aggregate_by_color_C_DEPENDENCIES = \
+ $(top_builddir)/src/libadios.a $(am__DEPENDENCIES_1)
+global_array_aggregate_by_color_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) \
+ $(global_array_aggregate_by_color_C_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_read_C_OBJECTS = global_array_read_C.$(OBJEXT)
+global_array_read_C_OBJECTS = $(am_global_array_read_C_OBJECTS)
+global_array_read_C_DEPENDENCIES = $(top_builddir)/src/libadiosread.a \
+ $(am__DEPENDENCIES_1)
+global_array_read_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(global_array_read_C_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_read_byid_noxml_C_OBJECTS = \
+ global_array_read_byid_noxml_C.$(OBJEXT)
+global_array_read_byid_noxml_C_OBJECTS = \
+ $(am_global_array_read_byid_noxml_C_OBJECTS)
+global_array_read_byid_noxml_C_DEPENDENCIES = \
+ $(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
+global_array_read_byid_noxml_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) \
+ $(global_array_read_byid_noxml_C_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_read_noxml_C_OBJECTS = \
+ global_array_read_noxml_C.$(OBJEXT)
+global_array_read_noxml_C_OBJECTS = \
+ $(am_global_array_read_noxml_C_OBJECTS)
+global_array_read_noxml_C_DEPENDENCIES = \
+ $(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
+global_array_read_noxml_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(global_array_read_noxml_C_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_global_array_write_C_OBJECTS = global_array_write_C.$(OBJEXT)
+global_array_write_C_OBJECTS = $(am_global_array_write_C_OBJECTS)
+global_array_write_C_DEPENDENCIES = $(top_builddir)/src/libadios.a \
$(am__DEPENDENCIES_1)
-bp_read_c_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(bp_read_c_CFLAGS) \
- $(CFLAGS) $(bp_read_c_LDFLAGS) $(LDFLAGS) -o $@
-am__bp_read_f_SOURCES_DIST = bp_read_f.F90
- at BUILD_FORTRAN_TRUE@am_bp_read_f_OBJECTS = \
- at BUILD_FORTRAN_TRUE@ bp_read_f-bp_read_f.$(OBJEXT)
-bp_read_f_OBJECTS = $(am_bp_read_f_OBJECTS)
- at BUILD_FORTRAN_TRUE@bp_read_f_DEPENDENCIES = \
- at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosreadf.a \
+global_array_write_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(global_array_write_C_LDFLAGS) $(LDFLAGS) -o $@
+am__global_array_write_F_SOURCES_DIST = global_array_write_F.F90
+ at BUILD_FORTRAN_TRUE@am_global_array_write_F_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@ global_array_write_F.$(OBJEXT)
+global_array_write_F_OBJECTS = $(am_global_array_write_F_OBJECTS)
+ at BUILD_FORTRAN_TRUE@global_array_write_F_DEPENDENCIES = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
@BUILD_FORTRAN_TRUE@ $(am__DEPENDENCIES_1)
-bp_read_f_LINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) \
+global_array_write_F_LINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
- $(bp_read_f_LDFLAGS) $(LDFLAGS) -o $@
-am__bp_read_f_v1_SOURCES_DIST = bp_read_f_v1.F90
- at BUILD_FORTRAN_TRUE@am_bp_read_f_v1_OBJECTS = \
- at BUILD_FORTRAN_TRUE@ bp_read_f_v1-bp_read_f_v1.$(OBJEXT)
-bp_read_f_v1_OBJECTS = $(am_bp_read_f_v1_OBJECTS)
- at BUILD_FORTRAN_TRUE@bp_read_f_v1_DEPENDENCIES = \
- at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosreadf_v1.a \
+ $(global_array_write_F_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_write_byid_noxml_C_OBJECTS = \
+ global_array_write_byid_noxml_C.$(OBJEXT)
+global_array_write_byid_noxml_C_OBJECTS = \
+ $(am_global_array_write_byid_noxml_C_OBJECTS)
+global_array_write_byid_noxml_C_DEPENDENCIES = \
+ $(top_builddir)/src/libadios.a $(am__DEPENDENCIES_1)
+global_array_write_byid_noxml_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) \
+ $(global_array_write_byid_noxml_C_LDFLAGS) $(LDFLAGS) -o $@
+am__global_array_write_byid_noxml_F_SOURCES_DIST = \
+ global_array_write_byid_noxml_F.F90
+ at BUILD_FORTRAN_TRUE@am_global_array_write_byid_noxml_F_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@ global_array_write_byid_noxml_F.$(OBJEXT)
+global_array_write_byid_noxml_F_OBJECTS = \
+ $(am_global_array_write_byid_noxml_F_OBJECTS)
+ at BUILD_FORTRAN_TRUE@global_array_write_byid_noxml_F_DEPENDENCIES = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
@BUILD_FORTRAN_TRUE@ $(am__DEPENDENCIES_1)
-bp_read_f_v1_LINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
- $(bp_read_f_v1_LDFLAGS) $(LDFLAGS) -o $@
-am_genbp_OBJECTS = genbp-genbp.$(OBJEXT)
-genbp_OBJECTS = $(am_genbp_OBJECTS)
-genbp_DEPENDENCIES = $(top_builddir)/src/libadios.a \
- $(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
-genbp_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(genbp_CFLAGS) $(CFLAGS) $(genbp_LDFLAGS) \
+global_array_write_byid_noxml_F_LINK = $(LIBTOOL) --tag=FC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \
+ $(AM_FCFLAGS) $(FCFLAGS) \
+ $(global_array_write_byid_noxml_F_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_write_noxml_C_OBJECTS = \
+ global_array_write_noxml_C.$(OBJEXT)
+global_array_write_noxml_C_OBJECTS = \
+ $(am_global_array_write_noxml_C_OBJECTS)
+global_array_write_noxml_C_DEPENDENCIES = \
+ $(top_builddir)/src/libadios.a $(am__DEPENDENCIES_1)
+global_array_write_noxml_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(global_array_write_noxml_C_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__global_array_write_noxml_F_SOURCES_DIST = \
+ global_array_write_noxml_F.F90
+ at BUILD_FORTRAN_TRUE@am_global_array_write_noxml_F_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@ global_array_write_noxml_F.$(OBJEXT)
+global_array_write_noxml_F_OBJECTS = \
+ $(am_global_array_write_noxml_F_OBJECTS)
+ at BUILD_FORTRAN_TRUE@global_array_write_noxml_F_DEPENDENCIES = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(am__DEPENDENCIES_1)
+global_array_write_noxml_F_LINK = $(LIBTOOL) --tag=FC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(global_array_write_noxml_F_LDFLAGS) \
$(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp =
@@ -140,10 +210,26 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(bp_read_c_SOURCES) $(bp_read_f_SOURCES) \
- $(bp_read_f_v1_SOURCES) $(genbp_SOURCES)
-DIST_SOURCES = $(bp_read_c_SOURCES) $(am__bp_read_f_SOURCES_DIST) \
- $(am__bp_read_f_v1_SOURCES_DIST) $(genbp_SOURCES)
+SOURCES = $(global_array_aggregate_by_color_C_SOURCES) \
+ $(global_array_read_C_SOURCES) \
+ $(global_array_read_byid_noxml_C_SOURCES) \
+ $(global_array_read_noxml_C_SOURCES) \
+ $(global_array_write_C_SOURCES) \
+ $(global_array_write_F_SOURCES) \
+ $(global_array_write_byid_noxml_C_SOURCES) \
+ $(global_array_write_byid_noxml_F_SOURCES) \
+ $(global_array_write_noxml_C_SOURCES) \
+ $(global_array_write_noxml_F_SOURCES)
+DIST_SOURCES = $(global_array_aggregate_by_color_C_SOURCES) \
+ $(global_array_read_C_SOURCES) \
+ $(global_array_read_byid_noxml_C_SOURCES) \
+ $(global_array_read_noxml_C_SOURCES) \
+ $(global_array_write_C_SOURCES) \
+ $(am__global_array_write_F_SOURCES_DIST) \
+ $(global_array_write_byid_noxml_C_SOURCES) \
+ $(am__global_array_write_byid_noxml_F_SOURCES_DIST) \
+ $(global_array_write_noxml_C_SOURCES) \
+ $(am__global_array_write_noxml_F_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -345,6 +431,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -403,37 +492,58 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
-
-# read_coords read_phi read_parts_global read_gena read_gena_pncd read_pixie_all
-genbp_SOURCES = genbp.c
-genbp_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_CPPFLAGS)
-genbp_CFLAGS = $(ADIOSLIB_CFLAGS)
-genbp_LDADD = $(top_builddir)/src/libadios.a $(top_builddir)/src/libadiosread.a $(ADIOSLIB_LDADD)
-genbp_LDFLAGS = $(ADIOSLIB_LDFLAGS)
- at BUILD_FORTRAN_TRUE@bp_read_f_SOURCES = bp_read_f.F90
- at BUILD_FORTRAN_TRUE@bp_read_f_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_CPPFLAGS)
- at BUILD_FORTRAN_TRUE@bp_read_f_CFLAGS = $(ADIOSLIB_CFLAGS)
- at BUILD_FORTRAN_TRUE@bp_read_f_LDADD = $(top_builddir)/src/libadiosreadf.a $(ADIOSREADLIB_LDADD)
- at BUILD_FORTRAN_TRUE@bp_read_f_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
- at BUILD_FORTRAN_TRUE@bp_read_f_v1_SOURCES = bp_read_f_v1.F90
- at BUILD_FORTRAN_TRUE@bp_read_f_v1_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_CPPFLAGS)
- at BUILD_FORTRAN_TRUE@bp_read_f_v1_CFLAGS = $(ADIOSLIB_CFLAGS)
- at BUILD_FORTRAN_TRUE@bp_read_f_v1_LDADD = $(top_builddir)/src/libadiosreadf_v1.a $(ADIOSREADLIB_LDADD)
- at BUILD_FORTRAN_TRUE@bp_read_f_v1_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
-bp_read_c_SOURCES = bp_read_c.c
-bp_read_c_CPPFLAGS = -DADIOS_USE_READ_API_1 $(AM_CPPFLAGS) $(ADIOSLIB_CPPFLAGS)
-bp_read_c_CFLAGS = $(ADIOSLIB_CFLAGS)
-bp_read_c_LDADD = $(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
-bp_read_c_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_write_C_SOURCES = global_array_write_C.c
+global_array_write_C_LDADD = $(top_builddir)/src/libadios.a \
+ $(ADIOSLIB_LDADD)
+global_array_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_read_C_SOURCES = global_array_read_C.c
+global_array_read_C_LDADD = $(top_builddir)/src/libadiosread.a \
+ $(ADIOSREADLIB_LDADD)
+global_array_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_write_noxml_C_SOURCES = global_array_write_noxml_C.c
+global_array_write_noxml_C_LDADD = $(top_builddir)/src/libadios.a \
+ $(ADIOSLIB_LDADD)
+global_array_write_noxml_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_read_noxml_C_SOURCES = global_array_read_noxml_C.c
+global_array_read_noxml_C_LDADD = $(top_builddir)/src/libadiosread.a \
+ $(ADIOSREADLIB_LDADD)
+global_array_read_noxml_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_write_byid_noxml_C_SOURCES = global_array_write_byid_noxml_C.c
+global_array_write_byid_noxml_C_LDADD = \
+ $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+global_array_write_byid_noxml_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_read_byid_noxml_C_SOURCES = global_array_read_byid_noxml_C.c
+global_array_read_byid_noxml_C_LDADD = \
+ $(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
+global_array_read_byid_noxml_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_aggregate_by_color_C_SOURCES = global_array_aggregate_by_color_C.c
+global_array_aggregate_by_color_C_LDADD = \
+ $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+global_array_aggregate_by_color_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+CLEANFILES = *.bp *.ch *.fh
+EXTRA_DIST = global_array_C.xml global_array_F.xml
+ at BUILD_FORTRAN_TRUE@global_array_write_F_SOURCES = global_array_write_F.F90
+ at BUILD_FORTRAN_TRUE@global_array_write_F_LDADD = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(ADIOSLIB_LDADD)
+ at BUILD_FORTRAN_TRUE@global_array_write_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+ at BUILD_FORTRAN_TRUE@global_array_write_noxml_F_SOURCES = global_array_write_noxml_F.F90
+ at BUILD_FORTRAN_TRUE@global_array_write_noxml_F_LDADD = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(ADIOSLIB_LDADD)
+ at BUILD_FORTRAN_TRUE@global_array_write_noxml_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+ at BUILD_FORTRAN_TRUE@global_array_write_byid_noxml_F_SOURCES = global_array_write_byid_noxml_F.F90
+ at BUILD_FORTRAN_TRUE@global_array_write_byid_noxml_F_LDADD = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(ADIOSLIB_LDADD)
+ at BUILD_FORTRAN_TRUE@global_array_write_byid_noxml_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
FCLINK = \
- $(LIBTOOL) --mode=link --tag F77 $(FC) \
- $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
+ $(LIBTOOL) --mode=link --tag F77 $(FC) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
- at BUILD_FORTRAN_FALSE@CLEANFILES = bp_read_c genbp read_coords read_phi read_parts_global
- at BUILD_FORTRAN_TRUE@CLEANFILES = bp_read_c bp_read_f genbp read_coords read_phi read_parts_global
-EXTRA_DIST = testbp_c.xml
all: all-am
.SUFFIXES:
@@ -447,9 +557,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/bp_read/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/bp_read/Makefile
+ $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -469,26 +579,44 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-bp_read_c$(EXEEXT): $(bp_read_c_OBJECTS) $(bp_read_c_DEPENDENCIES)
- @rm -f bp_read_c$(EXEEXT)
- $(bp_read_c_LINK) $(bp_read_c_OBJECTS) $(bp_read_c_LDADD) $(LIBS)
-bp_read_f$(EXEEXT): $(bp_read_f_OBJECTS) $(bp_read_f_DEPENDENCIES)
- @rm -f bp_read_f$(EXEEXT)
- $(bp_read_f_LINK) $(bp_read_f_OBJECTS) $(bp_read_f_LDADD) $(LIBS)
-bp_read_f_v1$(EXEEXT): $(bp_read_f_v1_OBJECTS) $(bp_read_f_v1_DEPENDENCIES)
- @rm -f bp_read_f_v1$(EXEEXT)
- $(bp_read_f_v1_LINK) $(bp_read_f_v1_OBJECTS) $(bp_read_f_v1_LDADD) $(LIBS)
-genbp$(EXEEXT): $(genbp_OBJECTS) $(genbp_DEPENDENCIES)
- @rm -f genbp$(EXEEXT)
- $(genbp_LINK) $(genbp_OBJECTS) $(genbp_LDADD) $(LIBS)
+global_array_aggregate_by_color_C$(EXEEXT): $(global_array_aggregate_by_color_C_OBJECTS) $(global_array_aggregate_by_color_C_DEPENDENCIES)
+ @rm -f global_array_aggregate_by_color_C$(EXEEXT)
+ $(global_array_aggregate_by_color_C_LINK) $(global_array_aggregate_by_color_C_OBJECTS) $(global_array_aggregate_by_color_C_LDADD) $(LIBS)
+global_array_read_C$(EXEEXT): $(global_array_read_C_OBJECTS) $(global_array_read_C_DEPENDENCIES)
+ @rm -f global_array_read_C$(EXEEXT)
+ $(global_array_read_C_LINK) $(global_array_read_C_OBJECTS) $(global_array_read_C_LDADD) $(LIBS)
+global_array_read_byid_noxml_C$(EXEEXT): $(global_array_read_byid_noxml_C_OBJECTS) $(global_array_read_byid_noxml_C_DEPENDENCIES)
+ @rm -f global_array_read_byid_noxml_C$(EXEEXT)
+ $(global_array_read_byid_noxml_C_LINK) $(global_array_read_byid_noxml_C_OBJECTS) $(global_array_read_byid_noxml_C_LDADD) $(LIBS)
+global_array_read_noxml_C$(EXEEXT): $(global_array_read_noxml_C_OBJECTS) $(global_array_read_noxml_C_DEPENDENCIES)
+ @rm -f global_array_read_noxml_C$(EXEEXT)
+ $(global_array_read_noxml_C_LINK) $(global_array_read_noxml_C_OBJECTS) $(global_array_read_noxml_C_LDADD) $(LIBS)
+global_array_write_C$(EXEEXT): $(global_array_write_C_OBJECTS) $(global_array_write_C_DEPENDENCIES)
+ @rm -f global_array_write_C$(EXEEXT)
+ $(global_array_write_C_LINK) $(global_array_write_C_OBJECTS) $(global_array_write_C_LDADD) $(LIBS)
+global_array_write_F$(EXEEXT): $(global_array_write_F_OBJECTS) $(global_array_write_F_DEPENDENCIES)
+ @rm -f global_array_write_F$(EXEEXT)
+ $(global_array_write_F_LINK) $(global_array_write_F_OBJECTS) $(global_array_write_F_LDADD) $(LIBS)
+global_array_write_byid_noxml_C$(EXEEXT): $(global_array_write_byid_noxml_C_OBJECTS) $(global_array_write_byid_noxml_C_DEPENDENCIES)
+ @rm -f global_array_write_byid_noxml_C$(EXEEXT)
+ $(global_array_write_byid_noxml_C_LINK) $(global_array_write_byid_noxml_C_OBJECTS) $(global_array_write_byid_noxml_C_LDADD) $(LIBS)
+global_array_write_byid_noxml_F$(EXEEXT): $(global_array_write_byid_noxml_F_OBJECTS) $(global_array_write_byid_noxml_F_DEPENDENCIES)
+ @rm -f global_array_write_byid_noxml_F$(EXEEXT)
+ $(global_array_write_byid_noxml_F_LINK) $(global_array_write_byid_noxml_F_OBJECTS) $(global_array_write_byid_noxml_F_LDADD) $(LIBS)
+global_array_write_noxml_C$(EXEEXT): $(global_array_write_noxml_C_OBJECTS) $(global_array_write_noxml_C_DEPENDENCIES)
+ @rm -f global_array_write_noxml_C$(EXEEXT)
+ $(global_array_write_noxml_C_LINK) $(global_array_write_noxml_C_OBJECTS) $(global_array_write_noxml_C_LDADD) $(LIBS)
+global_array_write_noxml_F$(EXEEXT): $(global_array_write_noxml_F_OBJECTS) $(global_array_write_noxml_F_DEPENDENCIES)
+ @rm -f global_array_write_noxml_F$(EXEEXT)
+ $(global_array_write_noxml_F_LINK) $(global_array_write_noxml_F_OBJECTS) $(global_array_write_noxml_F_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -505,18 +633,6 @@ distclean-compile:
.F90.lo:
$(LTPPFCCOMPILE) -c -o $@ $<
-bp_read_f-bp_read_f.o: bp_read_f.F90
- $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bp_read_f_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o bp_read_f-bp_read_f.o `test -f 'bp_read_f.F90' || echo '$(srcdir)/'`bp_read_f.F90
-
-bp_read_f-bp_read_f.obj: bp_read_f.F90
- $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bp_read_f_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o bp_read_f-bp_read_f.obj `if test -f 'bp_read_f.F90'; then $(CYGPATH_W) 'bp_read_f.F90'; else $(CYGPATH_W) '$(srcdir)/bp_read_f.F90'; fi`
-
-bp_read_f_v1-bp_read_f_v1.o: bp_read_f_v1.F90
- $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bp_read_f_v1_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o bp_read_f_v1-bp_read_f_v1.o `test -f 'bp_read_f_v1.F90' || echo '$(srcdir)/'`bp_read_f_v1.F90
-
-bp_read_f_v1-bp_read_f_v1.obj: bp_read_f_v1.F90
- $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bp_read_f_v1_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o bp_read_f_v1-bp_read_f_v1.obj `if test -f 'bp_read_f_v1.F90'; then $(CYGPATH_W) 'bp_read_f_v1.F90'; else $(CYGPATH_W) '$(srcdir)/bp_read_f_v1.F90'; fi`
-
.c.o:
$(COMPILE) -c $<
@@ -526,18 +642,6 @@ bp_read_f_v1-bp_read_f_v1.obj: bp_read_f_v1.F90
.c.lo:
$(LTCOMPILE) -c -o $@ $<
-bp_read_c-bp_read_c.o: bp_read_c.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bp_read_c_CPPFLAGS) $(CPPFLAGS) $(bp_read_c_CFLAGS) $(CFLAGS) -c -o bp_read_c-bp_read_c.o `test -f 'bp_read_c.c' || echo '$(srcdir)/'`bp_read_c.c
-
-bp_read_c-bp_read_c.obj: bp_read_c.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bp_read_c_CPPFLAGS) $(CPPFLAGS) $(bp_read_c_CFLAGS) $(CFLAGS) -c -o bp_read_c-bp_read_c.obj `if test -f 'bp_read_c.c'; then $(CYGPATH_W) 'bp_read_c.c'; else $(CYGPATH_W) '$(srcdir)/bp_read_c.c'; fi`
-
-genbp-genbp.o: genbp.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(genbp_CPPFLAGS) $(CPPFLAGS) $(genbp_CFLAGS) $(CFLAGS) -c -o genbp-genbp.o `test -f 'genbp.c' || echo '$(srcdir)/'`genbp.c
-
-genbp-genbp.obj: genbp.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(genbp_CPPFLAGS) $(CPPFLAGS) $(genbp_CFLAGS) $(CFLAGS) -c -o genbp-genbp.obj `if test -f 'genbp.c'; then $(CYGPATH_W) 'genbp.c'; else $(CYGPATH_W) '$(srcdir)/genbp.c'; fi`
-
mostlyclean-libtool:
-rm -f *.lo
@@ -627,8 +731,9 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS) all-local
+all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
@@ -658,7 +763,7 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
@@ -725,10 +830,10 @@ ps-am:
uninstall-am:
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
@@ -743,7 +848,13 @@ uninstall-am:
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+global_array_write_C.o: gwrite_temperature.ch
+gwrite_temperature.ch: global_array_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_C.xml
+ at BUILD_FORTRAN_TRUE@global_array_write_F.o: gwrite_temperature.fh
+ at BUILD_FORTRAN_TRUE@gwrite_temperature.fh: global_array_F.xml
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_F.xml
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/examples/C/global-array/adios_global.xml b/tests/suite/programs/examples/global_array/global_array_C.xml
similarity index 94%
copy from examples/C/global-array/adios_global.xml
copy to tests/suite/programs/examples/global_array/global_array_C.xml
index a3cfd4d..68ed5a7 100644
--- a/examples/C/global-array/adios_global.xml
+++ b/tests/suite/programs/examples/global_array/global_array_C.xml
@@ -15,7 +15,6 @@
<method group="temperature" method="MPI"/>
<!--method group="temperature" method="MPI_AGGREGATE">stripe_count=1;stripe_size=10485760;num_aggregators=2;merging_pgs=0;num_ost=2</method-->
- <!--method group="temperature" method="PHDF5"/-->
<buffer size-MB="2" allocate-time="now"/>
diff --git a/tests/suite/programs/examples/global_array/global_array_F.xml b/tests/suite/programs/examples/global_array/global_array_F.xml
new file mode 100644
index 0000000..ba89106
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/global_array_F.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<adios-config host-language="Fortran">
+ <adios-group name="temperature">
+ <var name="NX" type="integer"/>
+ <var name="size" type="integer"/>
+ <var name="rank" type="integer"/>
+ <global-bounds dimensions="NX,size" offsets="0,rank">
+ <var name="temperature" gwrite="t"
+ type="double" dimensions="NX,1"/>
+ </global-bounds>
+ <attribute name="temperature/description"
+ value="Global array written from 'size' processes"
+ type="string"/>
+ </adios-group>
+
+ <method group="temperature" method="MPI"/>
+
+ <buffer size-MB="2" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/examples/C/global-array/no_xml_write_byid.c b/tests/suite/programs/examples/global_array/global_array_aggregate_by_color_C.c
similarity index 54%
copy from examples/C/global-array/no_xml_write_byid.c
copy to tests/suite/programs/examples/global_array/global_array_aggregate_by_color_C.c
index 2b6cbf9..e412c4d 100644
--- a/examples/C/global-array/no_xml_write_byid.c
+++ b/tests/suite/programs/examples/global_array/global_array_aggregate_by_color_C.c
@@ -7,8 +7,8 @@
/* ADIOS C Example: write a global array from N processors with gwrite
*
- * How to run: mpirun -np <N> adios_global_no_xml
- * Output: adios_global_no_xml.bp
+ * How to run: mpirun -np <N> global_array_aggregate_by_color_C
+ * Output: global_array_aggregate_by_color_C.bp
* ADIOS config file: None
*
*/
@@ -32,12 +32,11 @@
int main (int argc, char ** argv)
{
char filename [256];
- int rank, size, i, j;
- int NX = 100, gb, offset; //local/global/offset
+ char color_str[256];
+ int rank, size, i, color;
+ int NX = 100, Global_bounds, Offsets;
double t[NX];
- int nblocks = 3;
MPI_Comm comm = MPI_COMM_WORLD;
- char g_str[100], o_str[100], l_str[100];
/* ADIOS variables declarations for matching gwrite_temperature.ch */
uint64_t adios_groupsize, adios_totalsize;
@@ -46,47 +45,54 @@ int main (int argc, char ** argv)
MPI_Comm_rank (comm, &rank);
MPI_Comm_size (comm, &size);
- gb = nblocks * NX * size;
- sprintf (g_str, "%d", gb);
- sprintf (l_str, "%d", NX);
+ Global_bounds = NX * size;
- strcpy (filename, "no_xml_write_byid.bp");
+ strcpy (filename, "global_array_aggregate_by_color_C.bp");
adios_init_noxml (comm);
adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, 10);
int64_t m_adios_group;
int64_t m_adios_file;
- int64_t var_ids[nblocks];
adios_declare_group (&m_adios_group, "restart", "iter", adios_flag_yes);
- adios_select_method (m_adios_group, "MPI", "", "");
-
- for (i = 0; i < nblocks; i++)
- {
- offset = rank * nblocks * NX + i * NX;
- sprintf (o_str, "%d", offset);
- var_ids[i] = adios_define_var (m_adios_group, "temperature"
- ,"", adios_double
- ,l_str, g_str, o_str
- );
- adios_set_transform (var_ids[i], "identity");
- }
+
+ // split into 2 groups
+ color = (rank % 2 == 0 ? 0 : 1);
+ sprintf (color_str, "color=%d", color);
+ adios_select_method (m_adios_group, "MPI", color_str, "");
+
+ adios_define_var (m_adios_group, "NX"
+ ,"", adios_integer
+ ,0, 0, 0);
+
+ adios_define_var (m_adios_group, "Global_bounds"
+ ,"", adios_integer
+ ,0, 0, 0);
+
+ adios_define_var (m_adios_group, "Offsets"
+ ,"", adios_integer
+ ,0, 0, 0);
+
+ adios_define_var (m_adios_group, "temperature"
+ ,"", adios_double
+ ,"NX", "Global_bounds", "Offsets");
adios_open (&m_adios_file, "restart", filename, "w", comm);
- adios_groupsize = nblocks * (4 + 4 + 4 + NX * 8);
+ adios_groupsize = 4 + 4 + 4 + NX * 8;
adios_group_size (m_adios_file, adios_groupsize, &adios_totalsize);
-/* now we will write the data for each sub block */
- for (i = 0; i < nblocks; i++)
- {
- offset = rank * nblocks * NX + i * NX;
- for (j = 0; j < NX; j++)
- t[j] = offset + j;
-
- adios_write_byid(m_adios_file, var_ids[i], t);
- }
+ adios_write(m_adios_file, "NX", (void *) &NX);
+ adios_write(m_adios_file, "Global_bounds", (void *) &Global_bounds);
+
+ Offsets = rank * NX;
+ adios_write(m_adios_file, "Offsets", (void *) &Offsets);
+
+ for (i = 0; i < NX; i++)
+ t[i] = Offsets + i;
+
+ adios_write(m_adios_file, "temperature", t);
adios_close (m_adios_file);
diff --git a/tests/suite/programs/examples/global_array/global_array_read_C.c b/tests/suite/programs/examples/global_array/global_array_read_C.c
new file mode 100644
index 0000000..426a8f9
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/global_array_read_C.c
@@ -0,0 +1,90 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: read global arrays from a BP file
+ *
+ * This code is using the generic read API, which can read in
+ * arbitrary slices of an array and thus we can read in an array
+ * on arbitrary number of processes (provided our code is smart
+ * enough to do the domain decomposition).
+ *
+ * Run this example after adios_global, which generates
+ * global_array_C.bp. Run this example on equal or less
+ * number of processes since we decompose only on one
+ * dimension of the global array here.
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios_read.h"
+#include "core/adios_logger.h"
+
+int main (int argc, char ** argv)
+{
+ int rank, size, i, j;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ ADIOS_SELECTION * sel;
+ void * data = NULL;
+ uint64_t start[2], count[2];
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_read_init_method (method, comm, "verbose=4");
+ adios_logger_open ("log_read_C", rank);
+
+ ADIOS_FILE * f = adios_read_open ("global_array_C.bp", method, comm, ADIOS_LOCKMODE_NONE, 0);
+ if (f == NULL)
+ {
+ log_error ("%s\n", adios_errmsg());
+ return -1;
+ }
+
+ ADIOS_VARINFO * v = adios_inq_var (f, "temperature");
+
+ /* Using less readers to read the global array back, i.e., non-uniform */
+ uint64_t slice_size = v->dims[0]/size;
+ start[0] = slice_size * rank;
+ if (rank == size-1) /* last rank may read more lines */
+ slice_size = slice_size + v->dims[0]%size;
+ count[0] = slice_size;
+
+ start[1] = 0;
+ count[1] = v->dims[1];
+
+
+ data = malloc (slice_size * v->dims[1] * sizeof (double));
+ if (data == NULL)
+ {
+ log_error (stderr, "malloc failed.\n");
+ return -1;
+ }
+
+ /* Read a subset of the temperature array */
+ sel = adios_selection_boundingbox (v->ndim, start, count);
+ adios_schedule_read (f, sel, "temperature", 0, 1, data);
+ adios_perform_reads (f, 1);
+
+ for (i = 0; i < slice_size; i++) {
+ log_test ("rank %d: [%lld,%d:%lld]", rank, start[0]+i, 0, slice_size);
+ for (j = 0; j < v->dims[1]; j++)
+ log_test (" %6.6g", * ((double *)data + i * v->dims[1] + j));
+ log_test ("\n");
+ }
+
+ free (data);
+
+ adios_read_close (f);
+ MPI_Barrier (comm);
+ adios_read_finalize_method (method);
+ adios_logger_close();
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/global_array/global_array_read_byid_noxml_C.c b/tests/suite/programs/examples/global_array/global_array_read_byid_noxml_C.c
new file mode 100644
index 0000000..42b0fd3
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/global_array_read_byid_noxml_C.c
@@ -0,0 +1,103 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: read global arrays from a BP file
+ *
+ * This code is using the generic read API, which can read in
+ * arbitrary slices of an array and thus we can read in an array
+ * on arbitrary number of processes (provided our code is smart
+ * enough to do the domain decomposition).
+ *
+ * Run this example after adios_global, which generates
+ * adios_global.bp. Run this example on equal or less
+ * number of processes since we decompose only on one
+ * dimension of the global array here.
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "mpi.h"
+#include "adios_read.h"
+#include "core/adios_logger.h"
+
+int main (int argc, char ** argv)
+{
+ int rank, size, i, j, npl, token;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ MPI_Status status;
+ enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ ADIOS_SELECTION * sel;
+ void * data = NULL;
+ uint64_t start[1], count[1];
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_read_init_method (method, comm, "verbose=3");
+ adios_logger_open ("log_read_C", rank);
+
+ ADIOS_FILE * f = adios_read_open ("global_array_byid_noxml_C.bp", method,
+ comm, ADIOS_LOCKMODE_NONE, 0);
+ if (f == NULL)
+ {
+ log_error ("%s\n", adios_errmsg());
+ return -1;
+ }
+
+ ADIOS_VARINFO * v = adios_inq_var (f, "temperature");
+
+ /* Using less readers to read the global array back, i.e., non-uniform */
+ uint64_t slice_size = v->dims[0]/size;
+ start[0] = slice_size * rank;
+ if (rank == size-1) /* last rank may read more lines */
+ slice_size = slice_size + v->dims[0]%size;
+ count[0] = slice_size;
+
+ data = malloc (slice_size * sizeof (double));
+ if (data == NULL)
+ {
+ log_error (stderr, "malloc failed.\n");
+ return -1;
+ }
+
+ /* Read a subset of the temperature array */
+ sel = adios_selection_boundingbox (v->ndim, start, count);
+ adios_schedule_read (f, sel, "temperature", 0, 1, data);
+ adios_perform_reads (f, 1);
+
+ if (rank > 0) {
+ MPI_Recv (&token, 1, MPI_INT, rank-1, 0, comm, &status);
+ }
+
+ log_test (" ======== Rank %d ========== \n", rank);
+ npl = 10;
+ for (i = 0; i < slice_size; i+=npl) {
+ log_test ("[%4.4lld] ", rank*slice_size+i);
+ for (j= 0; j < npl; j++) {
+ log_test (" %6.6g", * ((double *)data + i + j));
+ }
+ log_test ("\n");
+ }
+ fflush(stdout);
+ sleep(1);
+
+ if (rank < size-1) {
+ MPI_Send (&token, 1, MPI_INT, rank+1, 0, comm);
+ }
+
+
+ free (data);
+
+ adios_read_close (f);
+ MPI_Barrier (comm);
+ adios_read_finalize_method (method);
+ adios_logger_close ();
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/global_array/global_array_read_noxml_C.c b/tests/suite/programs/examples/global_array/global_array_read_noxml_C.c
new file mode 100644
index 0000000..3bb846e
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/global_array_read_noxml_C.c
@@ -0,0 +1,102 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: read global arrays from a BP file
+ *
+ * This code is using the generic read API, which can read in
+ * arbitrary slices of an array and thus we can read in an array
+ * on arbitrary number of processes (provided our code is smart
+ * enough to do the domain decomposition).
+ *
+ * Run this example after adios_global, which generates
+ * adios_global.bp. Run this example on equal or less
+ * number of processes since we decompose only on one
+ * dimension of the global array here.
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "mpi.h"
+#include "adios_read.h"
+#include "core/adios_logger.h"
+
+int main (int argc, char ** argv)
+{
+ int rank, size, i, j, npl, token;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ MPI_Status status;
+ enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ ADIOS_SELECTION * sel;
+ void * data = NULL;
+ uint64_t start[1], count[1];
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_read_init_method (method, comm, "verbose=3");
+ adios_logger_open ("log_read_C", rank);
+
+ ADIOS_FILE * f = adios_read_open ("global_array_noxml_C.bp", method,
+ comm, ADIOS_LOCKMODE_NONE, 0);
+ if (f == NULL)
+ {
+ log_error ("%s\n", adios_errmsg());
+ return -1;
+ }
+
+ ADIOS_VARINFO * v = adios_inq_var (f, "temperature");
+
+ /* Using less readers to read the global array back, i.e., non-uniform */
+ uint64_t slice_size = v->dims[0]/size;
+ start[0] = slice_size * rank;
+ if (rank == size-1) /* last rank may read more lines */
+ slice_size = slice_size + v->dims[0]%size;
+ count[0] = slice_size;
+
+ data = malloc (slice_size * sizeof (double));
+ if (data == NULL)
+ {
+ log_error (stderr, "malloc failed.\n");
+ return -1;
+ }
+
+ /* Read a subset of the temperature array */
+ sel = adios_selection_boundingbox (v->ndim, start, count);
+ adios_schedule_read (f, sel, "temperature", 0, 1, data);
+ adios_perform_reads (f, 1);
+
+ if (rank > 0) {
+ MPI_Recv (&token, 1, MPI_INT, rank-1, 0, comm, &status);
+ }
+
+ log_test (" ======== Rank %d ========== \n", rank);
+ npl = 10;
+ for (i = 0; i < slice_size; i+=npl) {
+ log_test ("[%4.4lld] ", rank*slice_size+i);
+ for (j= 0; j < npl; j++) {
+ log_test (" %6.6g", * ((double *)data + i + j));
+ }
+ log_test ("\n");
+ }
+ fflush(stdout);
+ sleep(1);
+
+ if (rank < size-1) {
+ MPI_Send (&token, 1, MPI_INT, rank+1, 0, comm);
+ }
+
+ free (data);
+
+ adios_read_close (f);
+ MPI_Barrier (comm);
+ adios_read_finalize_method (method);
+ adios_logger_close ();
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/global_array/global_array_write_C.c b/tests/suite/programs/examples/global_array/global_array_write_C.c
new file mode 100644
index 0000000..8e3f7f0
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/global_array_write_C.c
@@ -0,0 +1,52 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: write a global array from N processors with gwrite
+ *
+ * How to run: mpirun -np <N> global_array_write_C
+ * Output: global_array_C.bp
+ * ADIOS config file: global_array_C.xml
+ *
+*/
+#include <stdio.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios.h"
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank, size, i;
+ int NX = 10;
+ double t[NX];
+ MPI_Comm comm = MPI_COMM_WORLD;
+
+ /* ADIOS variables declarations for matching gwrite_temperature.ch */
+ uint64_t adios_groupsize, adios_totalsize;
+ int64_t adios_handle;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ for (i = 0; i < NX; i++)
+ t[i] = rank*NX + i;
+
+ strcpy (filename, "global_array_C.bp");
+
+ adios_init ("global_array_C.xml", comm);
+
+ adios_open (&adios_handle, "temperature", filename, "w", comm);
+ #include "gwrite_temperature.ch"
+ adios_close (adios_handle);
+
+ MPI_Barrier (comm);
+
+ adios_finalize (rank);
+
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/global_array/global_array_write_F.F90 b/tests/suite/programs/examples/global_array/global_array_write_F.F90
new file mode 100644
index 0000000..643aa03
--- /dev/null
+++ b/tests/suite/programs/examples/global_array/global_array_write_F.F90
@@ -0,0 +1,50 @@
+!
+! ADIOS is freely available under the terms of the BSD license described
+! in the COPYING file in the top level directory of this source distribution.
+!
+! Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+!
+
+! ADIOS Fortran Example: write a global array from N processors with gwrite
+!
+! How to run: mpirun -np <N> global_array_write_F
+! Output: global_array_F.bp
+! ADIOS config file: global_array_F.xml
+!
+
+program global_array_F
+ use adios_write_mod
+ implicit none
+ include 'mpif.h'
+ character(len=256) :: filename = "global_array_F.bp"
+ integer :: rank, size, i, ierr
+ integer, parameter :: NX = 10
+ real*8, dimension(NX) :: t
+ integer :: comm
+
+ ! ADIOS variables declarations for matching gwrite_temperature.fh
+ integer :: adios_err
+ integer*8 :: adios_groupsize, adios_totalsize
+ integer*8 :: adios_handle
+
+ call MPI_Init (ierr)
+ call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
+ call MPI_Comm_rank (comm, rank, ierr)
+ call MPI_Comm_size (comm, size, ierr)
+
+ do i = 1, NX
+ t(i) = 10.0*rank+i-1
+ enddo
+
+ call adios_init ("global_array_F.xml", comm, adios_err)
+
+ call adios_open (adios_handle, "temperature", filename, "w", comm, adios_err)
+#include "gwrite_temperature.fh"
+ call adios_close (adios_handle, adios_err)
+
+ call MPI_Barrier (comm, ierr)
+
+ call adios_finalize (rank, adios_err)
+
+ call MPI_Finalize (ierr)
+end program
diff --git a/examples/C/global-array/no_xml_write_byid.c b/tests/suite/programs/examples/global_array/global_array_write_byid_noxml_C.c
similarity index 69%
copy from examples/C/global-array/no_xml_write_byid.c
copy to tests/suite/programs/examples/global_array/global_array_write_byid_noxml_C.c
index 2b6cbf9..24845aa 100644
--- a/examples/C/global-array/no_xml_write_byid.c
+++ b/tests/suite/programs/examples/global_array/global_array_write_byid_noxml_C.c
@@ -7,8 +7,8 @@
/* ADIOS C Example: write a global array from N processors with gwrite
*
- * How to run: mpirun -np <N> adios_global_no_xml
- * Output: adios_global_no_xml.bp
+ * How to run: mpirun -np <N> global_array_write_byid_noxml_C
+ * Output: global_array_byid_noxml_C.bp
* ADIOS config file: None
*
*/
@@ -38,6 +38,9 @@ int main (int argc, char ** argv)
int nblocks = 3;
MPI_Comm comm = MPI_COMM_WORLD;
char g_str[100], o_str[100], l_str[100];
+ // attributes (from C variables)
+ int someints[5] = {5,4,3,2,1};
+ double somedoubles[5] = {5.55555, 4.4444, 3.333, 2.22, 1.1};
/* ADIOS variables declarations for matching gwrite_temperature.ch */
uint64_t adios_groupsize, adios_totalsize;
@@ -50,7 +53,7 @@ int main (int argc, char ** argv)
sprintf (g_str, "%d", gb);
sprintf (l_str, "%d", NX);
- strcpy (filename, "no_xml_write_byid.bp");
+ strcpy (filename, "global_array_byid_noxml_C.bp");
adios_init_noxml (comm);
adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, 10);
@@ -70,9 +73,26 @@ int main (int argc, char ** argv)
,"", adios_double
,l_str, g_str, o_str
);
- adios_set_transform (var_ids[i], "identity");
+ adios_set_transform (var_ids[i], "none");
}
-
+
+ // add some attributes
+ adios_define_attribute_byvalue (m_adios_group,
+ "single_string","", adios_string, 1, "A single string attribute");
+ char *strings[] = {"X","Yy","ZzZ"};
+ adios_define_attribute_byvalue (m_adios_group,
+ "three_strings","", adios_string_array, 3, strings);
+ adios_define_attribute_byvalue (m_adios_group,
+ "single_int", "", adios_integer, 1, &someints);
+ adios_define_attribute_byvalue (m_adios_group,
+ "single_double","", adios_double, 1, &somedoubles);
+ adios_define_attribute_byvalue (m_adios_group,
+ "five_ints", "", adios_integer, 5, &someints);
+ adios_define_attribute_byvalue (m_adios_group,
+ "five_double", "", adios_double, 5, &somedoubles);
+
+
+
adios_open (&m_adios_file, "restart", filename, "w", comm);
adios_groupsize = nblocks * (4 + 4 + 4 + NX * 8);
diff --git a/examples/Fortran/global-array/no_xml_write_byid.F90 b/tests/suite/programs/examples/global_array/global_array_write_byid_noxml_F.F90
similarity index 71%
copy from examples/Fortran/global-array/no_xml_write_byid.F90
copy to tests/suite/programs/examples/global_array/global_array_write_byid_noxml_F.F90
index 23dcc03..3402b89 100644
--- a/examples/Fortran/global-array/no_xml_write_byid.F90
+++ b/tests/suite/programs/examples/global_array/global_array_write_byid_noxml_F.F90
@@ -16,7 +16,7 @@ program no_xml_write_byid
use adios_write_mod
implicit none
include 'mpif.h'
- character(len=256) :: filename = "no_xml_write_byid.bp"
+ character(len=256) :: filename = "global_array_byid_noxml_F.bp"
integer :: rank, size, i, ierr
integer,parameter :: NX=10
integer :: O, G
@@ -29,6 +29,11 @@ program no_xml_write_byid
integer*8 :: m_adios_group
integer*8 :: var_id1, var_id2
character(len=32) :: local, global, offset
+ !! attributes (from C variables)
+ integer, dimension(5) :: someints = (/ 5,4,3,2,1 /)
+ real*8, dimension(5) :: somedoubles = (/ 5.55555, 4.4444, 3.333, 2.22, 1.1 /)
+ character(len=5), dimension(3) :: three_strings = (/ "X ", "Yy ", "ZzZ " /)
+
call MPI_Init (ierr)
call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
@@ -65,6 +70,22 @@ program no_xml_write_byid
call adios_set_transform (var_id2, "identity", adios_err)
+
+ !! add some attributes
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "single_string","", 1, "A single string attribute", adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "three_strings","", 3, three_strings, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "single_int", "", 1, someints, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "single_double","", 1, somedoubles, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "five_ints", "", 5, someints, adios_err)
+ call adios_define_attribute_byvalue (m_adios_group, &
+ "five_double", "", 5, somedoubles, adios_err)
+
+
call adios_open (adios_handle, "restart", filename, "w", comm, adios_err)
adios_groupsize = NX * 8 &
diff --git a/examples/C/global-array/no_xml_write_byid.c b/tests/suite/programs/examples/global_array/global_array_write_noxml_C.c
similarity index 55%
copy from examples/C/global-array/no_xml_write_byid.c
copy to tests/suite/programs/examples/global_array/global_array_write_noxml_C.c
index 2b6cbf9..83035c1 100644
--- a/examples/C/global-array/no_xml_write_byid.c
+++ b/tests/suite/programs/examples/global_array/global_array_write_noxml_C.c
@@ -7,8 +7,8 @@
/* ADIOS C Example: write a global array from N processors with gwrite
*
- * How to run: mpirun -np <N> adios_global_no_xml
- * Output: adios_global_no_xml.bp
+ * How to run: mpirun -np <N> global_array_write_noxml_C
+ * Output: global_array_noxml_C.bp
* ADIOS config file: None
*
*/
@@ -32,12 +32,11 @@
int main (int argc, char ** argv)
{
char filename [256];
- int rank, size, i, j;
- int NX = 100, gb, offset; //local/global/offset
+ int rank, size, i, block;
+ int NX = 100, Global_bounds, Offsets;
double t[NX];
- int nblocks = 3;
+ int sub_blocks = 3;
MPI_Comm comm = MPI_COMM_WORLD;
- char g_str[100], o_str[100], l_str[100];
/* ADIOS variables declarations for matching gwrite_temperature.ch */
uint64_t adios_groupsize, adios_totalsize;
@@ -46,46 +45,58 @@ int main (int argc, char ** argv)
MPI_Comm_rank (comm, &rank);
MPI_Comm_size (comm, &size);
- gb = nblocks * NX * size;
- sprintf (g_str, "%d", gb);
- sprintf (l_str, "%d", NX);
+ Global_bounds = sub_blocks * NX * size;
- strcpy (filename, "no_xml_write_byid.bp");
+ strcpy (filename, "global_array_noxml_C.bp");
adios_init_noxml (comm);
adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, 10);
int64_t m_adios_group;
int64_t m_adios_file;
- int64_t var_ids[nblocks];
adios_declare_group (&m_adios_group, "restart", "iter", adios_flag_yes);
adios_select_method (m_adios_group, "MPI", "", "");
- for (i = 0; i < nblocks; i++)
- {
- offset = rank * nblocks * NX + i * NX;
- sprintf (o_str, "%d", offset);
- var_ids[i] = adios_define_var (m_adios_group, "temperature"
- ,"", adios_double
- ,l_str, g_str, o_str
- );
- adios_set_transform (var_ids[i], "identity");
+
+ adios_define_var (m_adios_group, "NX"
+ ,"", adios_integer
+ ,0, 0, 0);
+
+ adios_define_var (m_adios_group, "Global_bounds"
+ ,"", adios_integer
+ ,0, 0, 0);
+
+ for (i=0;i<sub_blocks;i++) {
+
+ adios_define_var (m_adios_group, "Offsets"
+ ,"", adios_integer
+ ,0, 0, 0);
+
+ int64_t varid;
+ varid = adios_define_var (m_adios_group, "temperature"
+ ,"", adios_double
+ ,"NX", "Global_bounds", "Offsets");
+ adios_set_transform (varid, "none");
}
adios_open (&m_adios_file, "restart", filename, "w", comm);
- adios_groupsize = nblocks * (4 + 4 + 4 + NX * 8);
+ adios_groupsize = sub_blocks * (4 + 4 + 4 + NX * 8);
adios_group_size (m_adios_file, adios_groupsize, &adios_totalsize);
+ adios_write(m_adios_file, "NX", (void *) &NX);
+ adios_write(m_adios_file, "Global_bounds", (void *) &Global_bounds);
/* now we will write the data for each sub block */
- for (i = 0; i < nblocks; i++)
- {
- offset = rank * nblocks * NX + i * NX;
- for (j = 0; j < NX; j++)
- t[j] = offset + j;
+ for (block=0;block<sub_blocks;block++) {
+
+ Offsets = rank * sub_blocks * NX + block*NX;
+ adios_write(m_adios_file, "Offsets", (void *) &Offsets);
+
+ for (i = 0; i < NX; i++)
+ t[i] = Offsets + i;
- adios_write_byid(m_adios_file, var_ids[i], t);
+ adios_write(m_adios_file, "temperature", t);
}
adios_close (m_adios_file);
diff --git a/examples/Fortran/global-array/no_xml_write_byid.F90 b/tests/suite/programs/examples/global_array/global_array_write_noxml_F.F90
similarity index 51%
copy from examples/Fortran/global-array/no_xml_write_byid.F90
copy to tests/suite/programs/examples/global_array/global_array_write_noxml_F.F90
index 23dcc03..da5e123 100644
--- a/examples/Fortran/global-array/no_xml_write_byid.F90
+++ b/tests/suite/programs/examples/global_array/global_array_write_noxml_F.F90
@@ -7,16 +7,16 @@
! ADIOS Fortran Example: write a global array from N processors using No-XML API.
! The example also shows how to do multi-writes in ADIOS.
-! How to run: mpirun -np <N> adios_global_no_xml
-! Output: adios_global_no_xml.bp
+! How to run: mpirun -np <N> global_array_write_noxml_F
+! Output: global_array_noxml_F.bp
! ADIOS config file: None
!
-program no_xml_write_byid
+program adios_global
use adios_write_mod
implicit none
include 'mpif.h'
- character(len=256) :: filename = "no_xml_write_byid.bp"
+ character(len=256) :: filename = "global_array_noxml_F.bp"
integer :: rank, size, i, ierr
integer,parameter :: NX=10
integer :: O, G
@@ -27,8 +27,7 @@ program no_xml_write_byid
integer*8 :: adios_groupsize, adios_totalsize
integer*8 :: adios_handle
integer*8 :: m_adios_group
- integer*8 :: var_id1, var_id2
- character(len=32) :: local, global, offset
+ integer*8 :: varid
call MPI_Init (ierr)
call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
@@ -41,48 +40,69 @@ program no_xml_write_byid
call adios_declare_group (m_adios_group, "restart", "iter", 1, adios_err)
call adios_select_method (m_adios_group, "MPI", "", "", adios_err)
- G = 2 * NX * size
- O = 2 * NX * rank
-
- write (local, "(I2)") NX
- write (global, "(I3)") G
- write (offset, "(I3)") O
-
+ ! This example doesn't use varid during writing.
+ ! So we simply put 'varid' everywhere.
+ ! define a integer
+ call adios_define_var (m_adios_group, "NX" &
+ ,"", 2 &
+ ,"", "", "", varid)
+ ! define a integer
+ call adios_define_var (m_adios_group, "G" &
+ ,"", 2 &
+ ,"", "", "", varid)
+ ! define a integer
+ call adios_define_var (m_adios_group, "O" &
+ ,"", 2 &
+ ,"", "", "", varid)
! define a global array
call adios_define_var (m_adios_group, "temperature" &
,"", 6 &
- ,local, global, offset, var_id1)
-
- call adios_set_transform (var_id1, "identity", adios_err)
-
-
- write (offset, "(I3)") O + NX
-
+ ,"NX", "G", "O", varid)
+
+ ! define a integer
+ call adios_define_var (m_adios_group, "NX" &
+ ,"", 2 &
+ ,"", "", "", varid)
+ ! define a integer
+ call adios_define_var (m_adios_group, "G" &
+ ,"", 2 &
+ ,"", "", "", varid)
+ ! define a integer
+ call adios_define_var (m_adios_group, "O" &
+ ,"", 2 &
+ ,"", "", "", varid)
! define a global array
call adios_define_var (m_adios_group, "temperature" &
,"", 6 &
- ,local, global, offset, var_id2)
-
- call adios_set_transform (var_id2, "identity", adios_err)
+ ,"NX", "G", "O", varid)
call adios_open (adios_handle, "restart", filename, "w", comm, adios_err)
- adios_groupsize = NX * 8 &
- + NX * 8
+ adios_groupsize = 4 + 4 + 4 + NX * 8 &
+ + 4 + 4 + 4 + NX * 8
call adios_group_size (adios_handle, adios_groupsize, adios_totalsize, adios_err)
+ G = 2 * NX * size
+ O = 2 * NX * rank
do i = 1, NX
t(i) = O + i - 1
enddo
- call adios_write_byid (adios_handle, var_id1, t, adios_err)
+ call adios_write (adios_handle, "NX", NX, adios_err)
+ call adios_write (adios_handle, "G", G, adios_err)
+ call adios_write (adios_handle, "O", O, adios_err)
+ call adios_write (adios_handle, "temperature", t, adios_err)
+
O = 2 * NX * rank + NX
do i = 1, NX
t(i) = O + i - 1
enddo
- call adios_write_byid (adios_handle, var_id2, t, adios_err)
+ call adios_write (adios_handle, "NX", NX, adios_err)
+ call adios_write (adios_handle, "G", G, adios_err)
+ call adios_write (adios_handle, "O", O, adios_err)
+ call adios_write (adios_handle, "temperature", t, adios_err)
call adios_close (adios_handle, adios_err)
diff --git a/tests/suite/programs/examples/global_array_time/CMakeLists.txt b/tests/suite/programs/examples/global_array_time/CMakeLists.txt
new file mode 100644
index 0000000..7f9890b
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/CMakeLists.txt
@@ -0,0 +1,47 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/test/suite/programs/examples/global_array_time)
+include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/test/suite/programs/examples/global_array_time)
+
+add_executable(global_array_time_write_C global_array_time_write_C.c)
+target_link_libraries(global_array_time_write_C adios ${ADIOSLIB_LDADD})
+add_custom_command(
+ OUTPUT gwrite_restart.ch
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py
+ ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/global_array_time/global_array_time_C.xml
+ DEPENDS global_array_C.xml
+ )
+
+add_executable(global_array_time_read_as_file_C global_array_time_read_as_file_C.c)
+target_link_libraries(global_array_time_read_as_file_C adiosread ${ADIOSREADLIB_LDADD})
+#set_target_properties(global_array_time_read_as_file_C PROPERTIES COMPILE_FLAGS "-DADIOS_USE_READ_API_1")
+
+add_executable(global_array_time_read_as_stream_C global_array_time_read_as_stream_C.c)
+target_link_libraries(global_array_time_read_as_stream_C adiosread ${ADIOSREADLIB_LDADD})
+
+set (PROGS global_array_time_read_as_stream_C global_array_time_read_as_file_C global_array_time_write_C)
+foreach (PROG ${PROGS} )
+ if(MPI_COMPILE_FLAGS)
+ set_target_properties(${PROG} PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+ endif()
+ if(MPI_LINK_FLAGS)
+ set_target_properties(${PROG} PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+ endif()
+ target_link_libraries(${PROG} adios ${MPI_C_LIBRARIES})
+endforeach()
+
+
+if(BUILD_FORTRAN)
+ add_executable(global_array_time_write_F global_array_time_write_F.F90)
+ target_link_libraries(global_array_time_write_F adiosf ${ADIOSLIB_LDADD})
+ add_custom_command(
+ OUTPUT gwrite_restart.fh
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py
+ ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/global_array_time/global_array_time_F.xml
+ DEPENDS global_array_F.xml
+ )
+endif
+
+#install(FILES global_array_time_write_C.xml gread_restart.ch gwrite_restart.ch job.pbs DESTINATION ${PROJECT_BINARY_DIR}/examples/C/global-array-time)
diff --git a/tests/suite/programs/examples/global_array_time/Makefile.am b/tests/suite/programs/examples/global_array_time/Makefile.am
new file mode 100644
index 0000000..9cab5a9
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/Makefile.am
@@ -0,0 +1,52 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+all-local:
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+
+check_PROGRAMS = global_array_time_write_C global_array_time_read_as_file_C global_array_time_read_as_stream_C
+
+global_array_time_write_C_SOURCES = global_array_time_write_C.c
+global_array_time_write_C_LDADD = $(top_builddir)/src/libadios.a
+global_array_time_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_time_write_C_LDADD += $(ADIOSLIB_LDADD)
+global_array_time_write_C.o: gwrite_restart.ch
+gwrite_restart.ch: global_array_time_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_time_C.xml
+
+global_array_time_read_as_file_C_SOURCES = global_array_time_read_as_file_C.c
+global_array_time_read_as_file_C_LDADD = $(top_builddir)/src/libadiosread.a
+global_array_time_read_as_file_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_time_read_as_file_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+global_array_time_read_as_stream_C_SOURCES = global_array_time_read_as_stream_C.c
+global_array_time_read_as_stream_C_LDADD = $(top_builddir)/src/libadiosread.a
+global_array_time_read_as_stream_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_time_read_as_stream_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+CLEANFILES = *.bp *.ch *.fh
+CC=$(MPICC)
+EXTRA_DIST = global_array_time_C.xml global_array_time_F.xml
+
+if BUILD_FORTRAN
+check_PROGRAMS += global_array_time_write_F
+
+global_array_time_write_F_SOURCES = global_array_time_write_F.F90
+global_array_time_write_F_LDADD = $(top_builddir)/src/libadiosf.a
+global_array_time_write_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_time_write_F_LDADD += $(ADIOSLIB_LDADD)
+global_array_time_write_F.o: gwrite_restart.fh
+gwrite_restart.fh: global_array_time_F.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_time_F.xml
+
+endif
+
+FC=$(MPIFC)
+
+FCLINK = \
+ $(LIBTOOL) --mode=link --tag F77 $(FC) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
+
+
diff --git a/examples/C/global-array-time/Makefile.in b/tests/suite/programs/examples/global_array_time/Makefile.in
similarity index 73%
copy from examples/C/global-array-time/Makefile.in
copy to tests/suite/programs/examples/global_array_time/Makefile.in
index 7bab32b..0dc344f 100644
--- a/examples/C/global-array-time/Makefile.in
+++ b/tests/suite/programs/examples/global_array_time/Makefile.in
@@ -14,7 +14,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -34,11 +33,11 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = adios_globaltime$(EXEEXT) \
- adios_globaltime_no_xml$(EXEEXT) \
- adios_read_globaltime$(EXEEXT) \
- adios_read_globaltime_streaming$(EXEEXT)
-subdir = examples/C/global-array-time
+check_PROGRAMS = global_array_time_write_C$(EXEEXT) \
+ global_array_time_read_as_file_C$(EXEEXT) \
+ global_array_time_read_as_stream_C$(EXEEXT) $(am__EXEEXT_1)
+ at BUILD_FORTRAN_TRUE@am__append_1 = global_array_time_write_F
+subdir = tests/suite/programs/examples/global_array_time
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -85,44 +84,60 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_adios_globaltime_OBJECTS = adios_globaltime.$(OBJEXT)
-adios_globaltime_OBJECTS = $(am_adios_globaltime_OBJECTS)
+ at BUILD_FORTRAN_TRUE@am__EXEEXT_1 = global_array_time_write_F$(EXEEXT)
+am_global_array_time_read_as_file_C_OBJECTS = \
+ global_array_time_read_as_file_C.$(OBJEXT)
+global_array_time_read_as_file_C_OBJECTS = \
+ $(am_global_array_time_read_as_file_C_OBJECTS)
am__DEPENDENCIES_1 =
-adios_globaltime_DEPENDENCIES = $(top_builddir)/src/libadios.a \
- $(am__DEPENDENCIES_1)
-adios_globaltime_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(adios_globaltime_LDFLAGS) $(LDFLAGS) -o $@
-am_adios_globaltime_no_xml_OBJECTS = \
- adios_globaltime_no_xml.$(OBJEXT)
-adios_globaltime_no_xml_OBJECTS = \
- $(am_adios_globaltime_no_xml_OBJECTS)
-adios_globaltime_no_xml_DEPENDENCIES = $(top_builddir)/src/libadios.a \
- $(am__DEPENDENCIES_1)
-adios_globaltime_no_xml_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(adios_globaltime_no_xml_LDFLAGS) $(LDFLAGS) -o $@
-am_adios_read_globaltime_OBJECTS = adios_read_globaltime.$(OBJEXT)
-adios_read_globaltime_OBJECTS = $(am_adios_read_globaltime_OBJECTS)
-adios_read_globaltime_DEPENDENCIES = \
+global_array_time_read_as_file_C_DEPENDENCIES = \
$(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
-adios_read_globaltime_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(adios_read_globaltime_LDFLAGS) $(LDFLAGS) -o $@
-am_adios_read_globaltime_streaming_OBJECTS = \
- adios_read_globaltime_streaming.$(OBJEXT)
-adios_read_globaltime_streaming_OBJECTS = \
- $(am_adios_read_globaltime_streaming_OBJECTS)
-adios_read_globaltime_streaming_DEPENDENCIES = \
+global_array_time_read_as_file_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) \
+ $(global_array_time_read_as_file_C_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_time_read_as_stream_C_OBJECTS = \
+ global_array_time_read_as_stream_C.$(OBJEXT)
+global_array_time_read_as_stream_C_OBJECTS = \
+ $(am_global_array_time_read_as_stream_C_OBJECTS)
+global_array_time_read_as_stream_C_DEPENDENCIES = \
$(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
-adios_read_globaltime_streaming_LINK = $(LIBTOOL) --tag=CC \
+global_array_time_read_as_stream_C_LINK = $(LIBTOOL) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
- $(adios_read_globaltime_streaming_LDFLAGS) $(LDFLAGS) -o $@
+ $(global_array_time_read_as_stream_C_LDFLAGS) $(LDFLAGS) -o $@
+am_global_array_time_write_C_OBJECTS = \
+ global_array_time_write_C.$(OBJEXT)
+global_array_time_write_C_OBJECTS = \
+ $(am_global_array_time_write_C_OBJECTS)
+global_array_time_write_C_DEPENDENCIES = \
+ $(top_builddir)/src/libadios.a $(am__DEPENDENCIES_1)
+global_array_time_write_C_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(global_array_time_write_C_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__global_array_time_write_F_SOURCES_DIST = \
+ global_array_time_write_F.F90
+ at BUILD_FORTRAN_TRUE@am_global_array_time_write_F_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@ global_array_time_write_F.$(OBJEXT)
+global_array_time_write_F_OBJECTS = \
+ $(am_global_array_time_write_F_OBJECTS)
+ at BUILD_FORTRAN_TRUE@global_array_time_write_F_DEPENDENCIES = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(am__DEPENDENCIES_1)
+global_array_time_write_F_LINK = $(LIBTOOL) --tag=FC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(global_array_time_write_F_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
+PPFCCOMPILE = $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+FCLD = $(FC)
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -132,14 +147,14 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(adios_globaltime_SOURCES) \
- $(adios_globaltime_no_xml_SOURCES) \
- $(adios_read_globaltime_SOURCES) \
- $(adios_read_globaltime_streaming_SOURCES)
-DIST_SOURCES = $(adios_globaltime_SOURCES) \
- $(adios_globaltime_no_xml_SOURCES) \
- $(adios_read_globaltime_SOURCES) \
- $(adios_read_globaltime_streaming_SOURCES)
+SOURCES = $(global_array_time_read_as_file_C_SOURCES) \
+ $(global_array_time_read_as_stream_C_SOURCES) \
+ $(global_array_time_write_C_SOURCES) \
+ $(global_array_time_write_F_SOURCES)
+DIST_SOURCES = $(global_array_time_read_as_file_C_SOURCES) \
+ $(global_array_time_read_as_stream_C_SOURCES) \
+ $(global_array_time_write_C_SOURCES) \
+ $(am__global_array_time_write_F_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -227,7 +242,7 @@ EXEEXT = @EXEEXT@
FASTBIT_CPPFLAGS = @FASTBIT_CPPFLAGS@
FASTBIT_LDFLAGS = @FASTBIT_LDFLAGS@
FASTBIT_LIBS = @FASTBIT_LIBS@
-FC = @FC@
+FC = $(MPIFC)
FCFLAGS = @FCFLAGS@
FCLIBS = @FCLIBS@
FGREP = @FGREP@
@@ -341,6 +356,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -398,31 +416,37 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
-adios_globaltime_SOURCES = adios_globaltime.c
-adios_globaltime_LDADD = $(top_builddir)/src/libadios.a \
+global_array_time_write_C_SOURCES = global_array_time_write_C.c
+global_array_time_write_C_LDADD = $(top_builddir)/src/libadios.a \
$(ADIOSLIB_LDADD)
-adios_globaltime_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-adios_globaltime_no_xml_SOURCES = adios_globaltime_no_xml.c
-adios_globaltime_no_xml_LDADD = $(top_builddir)/src/libadios.a \
- $(ADIOSLIB_LDADD)
-adios_globaltime_no_xml_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-adios_read_globaltime_SOURCES = adios_read_globaltime.c
-adios_read_globaltime_LDADD = $(top_builddir)/src/libadiosread.a \
- $(ADIOSREADLIB_LDADD)
-adios_read_globaltime_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
-adios_read_globaltime_streaming_SOURCES = adios_read_globaltime_streaming.c
-adios_read_globaltime_streaming_LDADD = \
+global_array_time_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+global_array_time_read_as_file_C_SOURCES = global_array_time_read_as_file_C.c
+global_array_time_read_as_file_C_LDADD = \
+ $(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
+global_array_time_read_as_file_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+global_array_time_read_as_stream_C_SOURCES = global_array_time_read_as_stream_C.c
+global_array_time_read_as_stream_C_LDADD = \
$(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
-adios_read_globaltime_streaming_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
-CLEANFILES = *.bp
-EXTRA_DIST = adios_globaltime.xml gread_restart.ch gwrite_restart.ch job.pbs
+global_array_time_read_as_stream_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+CLEANFILES = *.bp *.ch *.fh
+EXTRA_DIST = global_array_time_C.xml global_array_time_F.xml
+ at BUILD_FORTRAN_TRUE@global_array_time_write_F_SOURCES = global_array_time_write_F.F90
+ at BUILD_FORTRAN_TRUE@global_array_time_write_F_LDADD = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(ADIOSLIB_LDADD)
+ at BUILD_FORTRAN_TRUE@global_array_time_write_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+FCLINK = \
+ $(LIBTOOL) --mode=link --tag F77 $(FC) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
+
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .F90 .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -432,9 +456,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/global-array-time/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array_time/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/C/global-array-time/Makefile
+ $(AUTOMAKE) --gnu tests/suite/programs/examples/global_array_time/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -454,26 +478,26 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-adios_globaltime$(EXEEXT): $(adios_globaltime_OBJECTS) $(adios_globaltime_DEPENDENCIES)
- @rm -f adios_globaltime$(EXEEXT)
- $(adios_globaltime_LINK) $(adios_globaltime_OBJECTS) $(adios_globaltime_LDADD) $(LIBS)
-adios_globaltime_no_xml$(EXEEXT): $(adios_globaltime_no_xml_OBJECTS) $(adios_globaltime_no_xml_DEPENDENCIES)
- @rm -f adios_globaltime_no_xml$(EXEEXT)
- $(adios_globaltime_no_xml_LINK) $(adios_globaltime_no_xml_OBJECTS) $(adios_globaltime_no_xml_LDADD) $(LIBS)
-adios_read_globaltime$(EXEEXT): $(adios_read_globaltime_OBJECTS) $(adios_read_globaltime_DEPENDENCIES)
- @rm -f adios_read_globaltime$(EXEEXT)
- $(adios_read_globaltime_LINK) $(adios_read_globaltime_OBJECTS) $(adios_read_globaltime_LDADD) $(LIBS)
-adios_read_globaltime_streaming$(EXEEXT): $(adios_read_globaltime_streaming_OBJECTS) $(adios_read_globaltime_streaming_DEPENDENCIES)
- @rm -f adios_read_globaltime_streaming$(EXEEXT)
- $(adios_read_globaltime_streaming_LINK) $(adios_read_globaltime_streaming_OBJECTS) $(adios_read_globaltime_streaming_LDADD) $(LIBS)
+global_array_time_read_as_file_C$(EXEEXT): $(global_array_time_read_as_file_C_OBJECTS) $(global_array_time_read_as_file_C_DEPENDENCIES)
+ @rm -f global_array_time_read_as_file_C$(EXEEXT)
+ $(global_array_time_read_as_file_C_LINK) $(global_array_time_read_as_file_C_OBJECTS) $(global_array_time_read_as_file_C_LDADD) $(LIBS)
+global_array_time_read_as_stream_C$(EXEEXT): $(global_array_time_read_as_stream_C_OBJECTS) $(global_array_time_read_as_stream_C_DEPENDENCIES)
+ @rm -f global_array_time_read_as_stream_C$(EXEEXT)
+ $(global_array_time_read_as_stream_C_LINK) $(global_array_time_read_as_stream_C_OBJECTS) $(global_array_time_read_as_stream_C_LDADD) $(LIBS)
+global_array_time_write_C$(EXEEXT): $(global_array_time_write_C_OBJECTS) $(global_array_time_write_C_DEPENDENCIES)
+ @rm -f global_array_time_write_C$(EXEEXT)
+ $(global_array_time_write_C_LINK) $(global_array_time_write_C_OBJECTS) $(global_array_time_write_C_LDADD) $(LIBS)
+global_array_time_write_F$(EXEEXT): $(global_array_time_write_F_OBJECTS) $(global_array_time_write_F_DEPENDENCIES)
+ @rm -f global_array_time_write_F$(EXEEXT)
+ $(global_array_time_write_F_LINK) $(global_array_time_write_F_OBJECTS) $(global_array_time_write_F_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -481,6 +505,15 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $<
+
+.F90.obj:
+ $(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.F90.lo:
+ $(LTPPFCCOMPILE) -c -o $@ $<
+
.c.o:
$(COMPILE) -c $<
@@ -579,8 +612,9 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS) all-local
+all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
@@ -610,7 +644,7 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
@@ -677,10 +711,10 @@ ps-am:
uninstall-am:
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
@@ -695,7 +729,13 @@ uninstall-am:
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+global_array_time_write_C.o: gwrite_restart.ch
+gwrite_restart.ch: global_array_time_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_time_C.xml
+ at BUILD_FORTRAN_TRUE@global_array_time_write_F.o: gwrite_restart.fh
+ at BUILD_FORTRAN_TRUE@gwrite_restart.fh: global_array_time_F.xml
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/global_array_time_F.xml
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/suite/programs/examples/global_array_time/global_array_time_C.xml b/tests/suite/programs/examples/global_array_time/global_array_time_C.xml
new file mode 100644
index 0000000..8f1dd01
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/global_array_time_C.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<adios-config host-language="C">
+ <adios-group name="restart">
+ <var name="NX" type="integer"/>
+ <var name="NY" type="integer"/>
+ <var name="size" type="integer"/>
+ <var name="rank" type="integer"/>
+
+ <global-bounds dimensions="size,NX" offsets="rank,0">
+ <var name="temperature" gwrite="t" type="double" dimensions="1,NX"/>
+ </global-bounds>
+
+ <global-bounds dimensions="size,NY" offsets="rank,0">
+ <var name="pressure" gwrite="p" type="double" dimensions="1,NY"/>
+ </global-bounds>
+
+ <attribute name="temperature/description"
+ value="Global array written from 'size' processes over several timesteps"
+ type="string"/>
+ </adios-group>
+
+ <method group="restart" method="MPI"/>
+
+ <buffer size-MB="5" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/tests/suite/programs/examples/global_array_time/global_array_time_F.xml b/tests/suite/programs/examples/global_array_time/global_array_time_F.xml
new file mode 100644
index 0000000..c7cc978
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/global_array_time_F.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<adios-config host-language="Fortran">
+ <!--
+ There are no tricks here compared to the global-array example
+ to have multiple steps of an array recorded in a file.
+ Just do append in the code itself ('a' mode in adios_open())
+ Use the 'bpls' utils to see how multiple steps of an array
+ is represented.
+ -->
+ <adios-group name="restart">
+ <var name="NX" type="integer"/>
+ <var name="NY" type="integer"/>
+ <var name="size" type="integer"/>
+ <var name="rank" type="integer"/>
+ <global-bounds dimensions="NX,size" offsets="0,rank">
+ <var name="temperature" gwrite="t" type="double" dimensions="NX,1"/>
+ </global-bounds>
+ <global-bounds dimensions="NY,size" offsets="0,rank">
+ <var name="pressure" gwrite="p" type="double" dimensions="NY,1"/>
+ </global-bounds>
+ <attribute name="temperature/description"
+ value="Global array written from 'size' processes over several timesteps"
+ type="string"/>
+ </adios-group>
+
+ <method group="restart" method="MPI"/>
+
+ <buffer size-MB="2" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/tests/suite/programs/examples/global_array_time/global_array_time_read_as_file_C.c b/tests/suite/programs/examples/global_array_time/global_array_time_read_as_file_C.c
new file mode 100644
index 0000000..d86b1e6
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/global_array_time_read_as_file_C.c
@@ -0,0 +1,105 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: read global arrays from a BP file
+ *
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios_read.h"
+#include "core/adios_logger.h"
+
+int main (int argc, char ** argv)
+{
+ int rank, size, i, j, k, token;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ MPI_Status status;
+ enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ ADIOS_SELECTION * sel;
+ void * data = NULL;
+ uint64_t start[3], count[3], step = 0;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_read_init_method (method, comm, "verbose=3");
+ adios_logger_open ("log_read_as_file_C", rank);
+
+ /* adios_read_open_file() allows for seeing all timesteps in the file */
+ ADIOS_FILE * f = adios_read_open_file ("global_array_time_C.bp", method, comm);
+ if (f == NULL)
+ {
+ log_error ("%s\n", adios_errmsg());
+ return -1;
+ }
+
+ ADIOS_VARINFO * v = adios_inq_var (f, "temperature");
+
+ // read in two timesteps
+ data = malloc (2 * v->dims[0] * v->dims[1] * sizeof (double));
+ if (data == NULL)
+ {
+ log_error ("malloc failed.\n");
+ return -1;
+ }
+
+ // read in timestep 'rank' (up to 12)
+ step = rank % 13;
+
+ start[0] = 0;
+ count[0] = v->dims[0];
+
+ start[1] = 0;
+ count[1] = v->dims[1];
+
+ /* Read a subset of the temperature array */
+ sel = adios_selection_boundingbox (v->ndim, start, count);
+ /* 2 steps from 'step' */
+ adios_schedule_read (f, sel, "temperature", step, 2, data);
+ adios_perform_reads (f, 1);
+
+ if (rank == 0)
+ log_test ("Array size of temperature [0:%lld,0:%lld]\n", v->dims[0], v->dims[1]);
+
+ if (rank > 0) {
+ MPI_Recv (&token, 1, MPI_INT, rank-1, 0, comm, &status);
+ }
+
+ log_test("------------------------------------------------\n");
+ log_test("rank=%d: \n", rank);
+ for (i = 0; i < 2; i++) {
+ log_test ("step %lld = [\n", step+i);
+ for (j = 0; j < v->dims[0]; j++) {
+ log_test (" [");
+ for (k = 0; k < v->dims[1]; k++) {
+ log_test ("%g ", ((double *)data) [ i * v->dims[0] * v->dims[1] + j * v->dims[1] + k]);
+ }
+ log_test ("]\n");
+ }
+ log_test ("]\n");
+ }
+ log_test ("\n");
+
+ if (rank < size-1) {
+ MPI_Send (&token, 1, MPI_INT, rank+1, 0, comm);
+ }
+
+ free (data);
+ adios_free_varinfo (v);
+
+ adios_read_close (f);
+ MPI_Barrier (comm);
+ adios_read_finalize_method (method);
+ adios_logger_close();
+ MPI_Finalize ();
+ return 0;
+}
+
+
diff --git a/tests/suite/programs/examples/global_array_time/global_array_time_read_as_stream_C.c b/tests/suite/programs/examples/global_array_time/global_array_time_read_as_stream_C.c
new file mode 100644
index 0000000..28b7496
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/global_array_time_read_as_stream_C.c
@@ -0,0 +1,123 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/* ADIOS C Example: read global arrays from a BP file
+ * which has multiple timesteps,
+ * reading step by step
+ *
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios_read.h"
+#include "adios_error.h"
+#include "core/adios_logger.h"
+
+int main (int argc, char ** argv)
+{
+ int rank, size, i, j;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ ADIOS_FILE * f;
+ ADIOS_VARINFO * v;
+ ADIOS_SELECTION * sel;
+ int steps = 0;
+ int retval = 0;
+ float timeout_sec = 0.0;
+
+ void * data = NULL;
+ uint64_t start[2], count[2];
+
+ MPI_Init (&argc, &argv);
+
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_read_init_method (ADIOS_READ_METHOD_BP, comm, "verbose=3");
+ adios_logger_open ("log_read_as_stream_C", rank);
+
+ f = adios_read_open ("global_array_time_C.bp", ADIOS_READ_METHOD_BP,
+ comm, ADIOS_LOCKMODE_NONE, timeout_sec);
+ if (adios_errno == err_file_not_found)
+ {
+ log_error ("rank %d: Stream not found after waiting %f seconds: %s\n",
+ rank, timeout_sec, adios_errmsg());
+ retval = adios_errno;
+ }
+ else if (adios_errno == err_end_of_stream)
+ {
+ log_error ("rank %d: Stream terminated before open. %s\n", rank, adios_errmsg());
+ retval = adios_errno;
+ }
+ else if (f == NULL) {
+ error ("rank %d: Error at opening stream: %s\n", rank, adios_errmsg());
+ retval = adios_errno;
+ }
+ else
+ {
+ /* process file here... */
+ v = adios_inq_var (f, "temperature");
+ adios_inq_var_blockinfo (f, v);
+
+ log_test ("rank %d: ndim = %d\n", rank, v->ndim);
+ //log_test ("nsteps = %d\n", v->nsteps);
+ log_test ("rank %d: dims[%llu][%llu]\n", rank, v->dims[0], v->dims[1]);
+
+ uint64_t slice_size = v->dims[0]/size;
+ if (rank == size-1)
+ slice_size = slice_size + v->dims[0]%size;
+
+ start[0] = rank * slice_size;
+ count[0] = slice_size;
+ start[1] = 0;
+ count[1] = v->dims[1];
+
+ data = malloc (slice_size * v->dims[1] * 8);
+
+ /* Processing loop over the steps (we are already in the first one) */
+ while (adios_errno != err_end_of_stream) {
+ steps++; // steps start counting from 1
+
+ sel = adios_selection_boundingbox (v->ndim, start, count);
+ adios_schedule_read (f, sel, "temperature", 0, 1, data);
+ adios_perform_reads (f, 1);
+
+ log_test("rank=%d: step %d: [0:%lld,0:%lld] = [", rank, f->current_step, v->dims[0], v->dims[1]);
+ for (i = 0; i < slice_size; i++) {
+ log_test (" [");
+ for (j = 0; j < v->dims[1]; j++) {
+ log_test ("%g ", *((double *)data + i * v->dims[1] + j));
+ }
+ log_test ("]");
+ }
+ log_test (" ]\n");
+
+ // advance to 1) next available step with 2) blocking wait
+ adios_advance_step (f, 0, timeout_sec);
+ if (adios_errno == err_step_notready)
+ {
+ log_test ("rank %d: No new step arrived within the timeout. Quit. %s\n",
+ rank, adios_errmsg());
+ break; // quit while loop
+ }
+
+ }
+
+ adios_read_close (f);
+ }
+
+ log_test ("rank: %d: We have processed %d steps\n", rank, steps);
+
+ adios_read_finalize_method (ADIOS_READ_METHOD_BP);
+ adios_logger_close();
+ free (data);
+ MPI_Finalize ();
+
+ return retval;
+}
+
+
diff --git a/tests/suite/programs/examples/global_array_time/global_array_time_write_C.c b/tests/suite/programs/examples/global_array_time/global_array_time_write_C.c
new file mode 100644
index 0000000..4485352
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/global_array_time_write_C.c
@@ -0,0 +1,58 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios.h"
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank, size, i, it;
+ int NX = 10;
+ // NY = 1 for testing purpose
+ int NY = 1;
+ double t[NX];
+ double p[NY];
+
+ /* ADIOS variables declarations for matching gwrite_temperature.ch */
+ uint64_t adios_groupsize, adios_totalsize;
+ int64_t adios_handle;
+ MPI_Comm comm=MPI_COMM_WORLD;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (MPI_COMM_WORLD, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_init ("global_array_time_C.xml", comm);
+ strcpy (filename, "global_array_time_C.bp");
+ for (it =1; it <= 13; it++) {
+
+ for (i = 0; i < NX; i++)
+ t[i] = it*100.0 + rank*NX + i;
+
+ for (i = 0; i < NY; i++)
+ p[i] = it*1000.0 + rank*NY + i;
+
+ if (it==1)
+ adios_open (&adios_handle, "restart", filename, "w", comm);
+ else
+ adios_open (&adios_handle, "restart", filename, "a", comm);
+
+ #include "gwrite_restart.ch"
+ adios_close (adios_handle);
+ MPI_Barrier (comm);
+ //if (rank==0) printf("Timestep %d written\n", it+1);
+ }
+ MPI_Barrier (comm);
+ //if (rank==0) printf("Finalize adios\n");
+ adios_finalize (rank);
+
+ //if (rank==0) printf("Finalize MPI\n");
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/global_array_time/global_array_time_write_F.F90 b/tests/suite/programs/examples/global_array_time/global_array_time_write_F.F90
new file mode 100644
index 0000000..eb79b1c
--- /dev/null
+++ b/tests/suite/programs/examples/global_array_time/global_array_time_write_F.F90
@@ -0,0 +1,70 @@
+!
+! ADIOS is freely available under the terms of the BSD license described
+! in the COPYING file in the top level directory of this source distribution.
+!
+! Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+!
+
+! ADIOS Fortran Example: write a global array from N processors with gwrite
+! and write several timesteps into one BP file
+!
+! How to run: mpirun -np <N> adios_globaltime
+! Output: adios_globaltime.bp
+! ADIOS config file: adios_globaltime.xml
+!
+
+program adios_global
+ use adios_write_mod
+ implicit none
+ include 'mpif.h'
+ character(len=256) :: filename = "global_array_time_F.bp"
+ integer :: rank, size, i, it, ierr
+ integer, parameter :: NX = 10
+ ! NY = 1 for testing purpose
+ integer, parameter :: NY = 1
+ real*8 :: t(NX)
+ real*8 :: p(NY)
+ integer :: comm
+
+ ! ADIOS variables declarations for matching gwrite_temperature.fh
+ integer :: adios_err
+ integer*8 :: adios_groupsize, adios_totalsize
+ integer*8 :: adios_handle
+
+ call MPI_Init (ierr)
+ call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
+ call MPI_Comm_rank (comm, rank, ierr)
+ call MPI_Comm_size (comm, size, ierr)
+
+ call adios_init ("global_array_time_F.xml", comm, adios_err)
+
+ do it = 1, 13
+ do i = 1, NX
+ t(i) = 100.0*it + NX*rank + i - 1
+ enddo
+
+ do i = 1, NY
+ p(i) = 1000.0*it + NY*rank + i - 1
+ enddo
+
+ ! We need to create the file in the first round,
+ ! then we need to append to it
+ if (it == 1) then
+ call adios_open (adios_handle, "restart", filename, "w", comm, adios_err)
+ else
+ call adios_open (adios_handle, "restart", filename, "a", comm, adios_err)
+ endif
+
+#include "gwrite_restart.fh"
+
+ call adios_close (adios_handle, adios_err)
+
+ call MPI_Barrier (comm, ierr)
+ enddo
+
+ call MPI_Barrier (comm, ierr)
+
+ call adios_finalize (rank, adios_err)
+
+ call MPI_Finalize (ierr)
+end program
diff --git a/tests/suite/programs/examples/local_array/CMakeLists.txt b/tests/suite/programs/examples/local_array/CMakeLists.txt
new file mode 100644
index 0000000..00a5451
--- /dev/null
+++ b/tests/suite/programs/examples/local_array/CMakeLists.txt
@@ -0,0 +1,33 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/test/suite/programs/examples/local_array)
+include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/test/suite/programs/examples/local_array)
+
+add_executable(local_array_write_C local_array_write_C.c)
+if(MPI_COMPILE_FLAGS)
+ set_target_properties(local_array_write_C PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+endif()
+if(MPI_LINK_FLAGS)
+ set_target_properties(local_array_write_C PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+endif()
+target_link_libraries(local_array_write_C adios ${ADIOSLIB_LDADD} ${MPI_C_LIBRARIES})
+add_custom_command(
+ OUTPUT gwrite_arrays.ch
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/local_array/local_array_C.xml
+ DEPENDS local_array_C.xml
+ )
+
+
+add_executable(local_array_read_C local_array_read_C.c)
+if(MPI_COMPILE_FLAGS)
+ set_target_properties(local_array_read_C PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+endif()
+if(MPI_LINK_FLAGS)
+ set_target_properties(local_array_read_C PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+endif()
+target_link_libraries(local_array_read_C adiosread ${ADIOSREADLIB_LDADD} ${MPI_C_LIBRARIES})
+
+#install(FILES arrays.xml gwrite_arrays.ch gread_arrays.ch job.pbs DESTINATION ${PROJECT_BINARY_DIR}/examples/C/arrays)
+
diff --git a/tests/suite/programs/examples/local_array/Makefile.am b/tests/suite/programs/examples/local_array/Makefile.am
new file mode 100644
index 0000000..42664b0
--- /dev/null
+++ b/tests/suite/programs/examples/local_array/Makefile.am
@@ -0,0 +1,24 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+all-local:
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+
+check_PROGRAMS = local_array_write_C local_array_read_C
+
+local_array_write_C_SOURCES = local_array_write_C.c
+local_array_write_C_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+local_array_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+local_array_write_C.o: gwrite_arrays.ch
+gwrite_arrays.ch: local_array_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/local_array_C.xml
+
+local_array_read_C_SOURCES = local_array_read_C.c
+local_array_read_C_LDADD = $(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
+local_array_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+
+CLEANFILES = *.bp *.ch *.fh
+CC=$(MPICC)
+EXTRA_DIST = local_array_C.xml
diff --git a/examples/C/flexpath_arrays/process_select/Makefile.in b/tests/suite/programs/examples/local_array/Makefile.in
similarity index 87%
copy from examples/C/flexpath_arrays/process_select/Makefile.in
copy to tests/suite/programs/examples/local_array/Makefile.in
index 73b99bd..bde91ed 100644
--- a/examples/C/flexpath_arrays/process_select/Makefile.in
+++ b/tests/suite/programs/examples/local_array/Makefile.in
@@ -14,7 +14,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -34,8 +33,9 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = arrays_write$(EXEEXT) arrays_read$(EXEEXT)
-subdir = examples/C/flexpath_arrays/process_select
+check_PROGRAMS = local_array_write_C$(EXEEXT) \
+ local_array_read_C$(EXEEXT)
+subdir = tests/suite/programs/examples/local_array
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -82,22 +82,21 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_arrays_read_OBJECTS = arrays_read.$(OBJEXT)
-arrays_read_OBJECTS = $(am_arrays_read_OBJECTS)
+am_local_array_read_C_OBJECTS = local_array_read_C.$(OBJEXT)
+local_array_read_C_OBJECTS = $(am_local_array_read_C_OBJECTS)
am__DEPENDENCIES_1 =
-arrays_read_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+local_array_read_C_DEPENDENCIES = $(top_builddir)/src/libadiosread.a \
$(am__DEPENDENCIES_1)
-arrays_read_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+local_array_read_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(arrays_read_LDFLAGS) $(LDFLAGS) -o $@
-am_arrays_write_OBJECTS = arrays_write.$(OBJEXT)
-arrays_write_OBJECTS = $(am_arrays_write_OBJECTS)
-arrays_write_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+ $(local_array_read_C_LDFLAGS) $(LDFLAGS) -o $@
+am_local_array_write_C_OBJECTS = local_array_write_C.$(OBJEXT)
+local_array_write_C_OBJECTS = $(am_local_array_write_C_OBJECTS)
+local_array_write_C_DEPENDENCIES = $(top_builddir)/src/libadios.a \
$(am__DEPENDENCIES_1)
-arrays_write_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+local_array_write_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(arrays_write_LDFLAGS) $(LDFLAGS) -o $@
+ $(local_array_write_C_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
@@ -110,8 +109,9 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(arrays_read_SOURCES) $(arrays_write_SOURCES)
-DIST_SOURCES = $(arrays_read_SOURCES) $(arrays_write_SOURCES)
+SOURCES = $(local_array_read_C_SOURCES) $(local_array_write_C_SOURCES)
+DIST_SOURCES = $(local_array_read_C_SOURCES) \
+ $(local_array_write_C_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,17 +373,18 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
-arrays_write_SOURCES = arrays_write.c
-arrays_write_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
-arrays_write_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-arrays_read_SOURCES = arrays_read.c
-arrays_read_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
-arrays_read_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-CLEANFILES = *_writer_info.txt *_writer_ready.txt *_reader_info.txt *_reader_ready.txt *.bp
-EXTRA_DIST = arrays.xml job.pbs
+local_array_write_C_SOURCES = local_array_write_C.c
+local_array_write_C_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
+local_array_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+local_array_read_C_SOURCES = local_array_read_C.c
+local_array_read_C_LDADD = $(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
+local_array_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+CLEANFILES = *.bp *.ch *.fh
+EXTRA_DIST = local_array_C.xml
all: all-am
.SUFFIXES:
@@ -394,9 +398,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/flexpath_arrays/process_select/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/local_array/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/C/flexpath_arrays/process_select/Makefile
+ $(AUTOMAKE) --gnu tests/suite/programs/examples/local_array/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -416,20 +420,20 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-arrays_read$(EXEEXT): $(arrays_read_OBJECTS) $(arrays_read_DEPENDENCIES)
- @rm -f arrays_read$(EXEEXT)
- $(arrays_read_LINK) $(arrays_read_OBJECTS) $(arrays_read_LDADD) $(LIBS)
-arrays_write$(EXEEXT): $(arrays_write_OBJECTS) $(arrays_write_DEPENDENCIES)
- @rm -f arrays_write$(EXEEXT)
- $(arrays_write_LINK) $(arrays_write_OBJECTS) $(arrays_write_LDADD) $(LIBS)
+local_array_read_C$(EXEEXT): $(local_array_read_C_OBJECTS) $(local_array_read_C_DEPENDENCIES)
+ @rm -f local_array_read_C$(EXEEXT)
+ $(local_array_read_C_LINK) $(local_array_read_C_OBJECTS) $(local_array_read_C_LDADD) $(LIBS)
+local_array_write_C$(EXEEXT): $(local_array_write_C_OBJECTS) $(local_array_write_C_DEPENDENCIES)
+ @rm -f local_array_write_C$(EXEEXT)
+ $(local_array_write_C_LINK) $(local_array_write_C_OBJECTS) $(local_array_write_C_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -535,8 +539,9 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS) all-local
+all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
@@ -566,7 +571,7 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
@@ -633,10 +638,10 @@ ps-am:
uninstall-am:
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
@@ -651,8 +656,10 @@ uninstall-am:
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.pbs $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+local_array_write_C.o: gwrite_arrays.ch
+gwrite_arrays.ch: local_array_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/local_array_C.xml
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/suite/programs/examples/local_array/local_array_C.xml b/tests/suite/programs/examples/local_array/local_array_C.xml
new file mode 100644
index 0000000..7a11efa
--- /dev/null
+++ b/tests/suite/programs/examples/local_array/local_array_C.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<adios-config host-language="C">
+
+ <adios-group name="arrays">
+ <var name="NX" type="integer"/>
+ <var name="NY" type="integer"/>
+ <var name="var_double_2Darray" gwrite="t" type="double" dimensions="NX,NY"/>
+ <var name="var_int_1Darray" gwrite="p" type="integer" dimensions="NX"/>
+ </adios-group>
+
+ <method group="arrays" method="MPI"/>
+
+ <buffer size-MB="20" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/tests/suite/programs/examples/local_array/local_array_read_C.c b/tests/suite/programs/examples/local_array/local_array_read_C.c
new file mode 100644
index 0000000..51d0501
--- /dev/null
+++ b/tests/suite/programs/examples/local_array/local_array_read_C.c
@@ -0,0 +1,84 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/*************************************************************/
+/* Example of reading arrays in ADIOS */
+/* which were written from the same number of processors */
+/* */
+/* Similar example is manual/2_adios_read.c */
+/*************************************************************/
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios_read.h"
+#include "core/adios_logger.h"
+
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank, size, i, j;
+ int NX, NY;
+ double *t;
+ int *p;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ ADIOS_SELECTION * sel;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+ MPI_Comm_size (comm, &size);
+
+ adios_read_init_method (method, comm, "verbose=3");
+ adios_logger_open ("log_read_C", rank);
+
+ strcpy (filename, "local_array_C.bp");
+ ADIOS_FILE * f = adios_read_open (filename, method, comm, ADIOS_LOCKMODE_NONE, 0);
+
+ /* Specify a selection that points to a specific writer's block */
+ sel = adios_selection_writeblock (rank);
+
+ /* First get the scalars to calculate the size of the arrays */
+ adios_schedule_read (f, sel, "NX", 0, 1, &NX);
+ adios_schedule_read (f, sel, "NY", 0, 1, &NY);
+ adios_perform_reads (f, 1);
+
+ log_test("rank=%d: NX=%d NY=%d\n", rank, NX, NY);
+
+ /* Allocate space for the arrays */
+ t = (double *) malloc (NX*NY*sizeof(double));
+ p = (int *) malloc (NX*sizeof(int));
+
+ /* Read the arrays */
+ adios_schedule_read (f, sel, "var_double_2Darray", 0, 1, t);
+ adios_schedule_read (f, sel, "var_int_1Darray", 0, 1, p);
+ adios_perform_reads (f, 1);
+
+ /* At this point, we have the data in memory */
+ log_test("rank=%d: p = [%d", rank, p[0]);
+ for (i = 1; i < NX; i++)
+ log_test(", %d", p[i]);
+ log_test("]\n");
+
+ log_test("rank=%d: t[5,*] = [%6.2f", rank, t[5*NY]);
+ for (j = 1; j < NY; j++)
+ log_test(", %6.2f", t[5*NY+j]);
+ log_test("]\n");
+
+ free (t);
+ free (p);
+
+ adios_read_close (f);
+ MPI_Barrier (comm);
+ adios_read_finalize_method (method);
+ adios_logger_close();
+ MPI_Finalize ();
+
+ return 0;
+}
diff --git a/tests/suite/programs/examples/local_array/local_array_write_C.c b/tests/suite/programs/examples/local_array/local_array_write_C.c
new file mode 100644
index 0000000..e948df2
--- /dev/null
+++ b/tests/suite/programs/examples/local_array/local_array_write_C.c
@@ -0,0 +1,52 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios.h"
+
+/*************************************************************/
+/* Example of writing arrays in ADIOS */
+/* */
+/* Similar example is manual/2_adios_write.c */
+/*************************************************************/
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank, i, j;
+ int NX = 10, NY = 100;
+ double t[NX][NY];
+ int p[NX];
+ MPI_Comm comm = MPI_COMM_WORLD;
+
+ uint64_t adios_groupsize, adios_totalsize;
+ int64_t adios_handle;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+
+ for (i = 0; i < NX; i++)
+ for (j = 0; j< NY; j++)
+ t[i][j] = rank * NX + i + j*(1.0/NY);
+
+ for (i = 0; i < NX; i++)
+ p[i] = rank * NX + i;
+
+ strcpy (filename, "local_array_C.bp");
+ adios_init ("local_array_C.xml", comm);
+ adios_open (&adios_handle, "arrays", filename, "w", comm);
+#include "gwrite_arrays.ch"
+ adios_close (adios_handle);
+
+ MPI_Barrier (comm);
+
+ adios_finalize (rank);
+
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/scalars/CMakeLists.txt b/tests/suite/programs/examples/scalars/CMakeLists.txt
new file mode 100644
index 0000000..b4daf37
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/CMakeLists.txt
@@ -0,0 +1,45 @@
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/test/suite/programs/examples/scalars)
+include_directories(${PROJECT_BINARY_DIR}/src)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/test/suite/programs/examples/scalars)
+
+add_executable(scalars_write_C scalars_write_C.c gwrite_scalars.ch)
+if(MPI_COMPILE_FLAGS)
+ set_target_properties(scalars_write_C PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+endif()
+if(MPI_LINK_FLAGS)
+ set_target_properties(scalars_write_C PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+endif()
+target_link_libraries(scalars_write_C adios ${ADIOSLIB_LDADD} ${MPI_C_LIBRARIES})
+add_custom_command(
+ OUTPUT gwrite_scalars.ch
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/scalars/scalars_C.xml
+ DEPENDS scalars_C.xml
+ )
+
+add_executable(scalars_read_C scalars_read_C.c)
+if(MPI_COMPILE_FLAGS)
+ set_target_properties(scalars_read_C PROPERTIES COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS}")
+endif()
+if(MPI_LINK_FLAGS)
+ set_target_properties(scalars_read_C PROPERTIES LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+endif()
+target_link_libraries(scalars_read_C adiosread ${ADIOSREADLIB_LDADD} ${MPI_C_LIBRARIES})
+
+if(BUILD_FORTRAN)
+ add_executable(scalars_write_F scalars_write_F.F90 gwrite_scalars.fh)
+ target_link_libraries(scalars_write_F adiosf ${ADIOSLIB_LDADD})
+ add_custom_command(
+ OUTPUT gwrite_scalars.fh
+ COMMAND ${PROJECT_SOURCE_DIR}/utils/gpp/gpp.py ${PROJECT_SOURCE_DIR}/tests/suite/programs/examples/scalars/scalars_F.xml
+ DEPENDS scalars_F.xml
+ )
+
+
+ add_executable(scalars_read_F scalars_read_F.F90)
+ target_link_libraries(scalars_read_F adiosreadf ${ADIOSREADLIB_LDADD})
+endif
+
+#install(FILES scalars.xml gwrite_scalars.ch gread_scalars.ch job.pbs DESTINATION ${PROJECT_BINARY_DIR}/examples/C/scalars)
diff --git a/tests/suite/programs/examples/scalars/Makefile.am b/tests/suite/programs/examples/scalars/Makefile.am
new file mode 100644
index 0000000..a67f906
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/Makefile.am
@@ -0,0 +1,52 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+all-local:
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+
+check_PROGRAMS = scalars_write_C scalars_read_C
+
+scalars_write_C_SOURCES = scalars_write_C.c
+scalars_write_C_LDADD = $(top_builddir)/src/libadios.a
+scalars_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+scalars_write_C_LDADD += $(ADIOSLIB_LDADD)
+scalars_write_C.o: gwrite_scalars.ch
+gwrite_scalars.ch: scalars_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/scalars_C.xml
+
+scalars_read_C_SOURCES = scalars_read_C.c
+scalars_read_C_LDADD = $(top_builddir)/src/libadiosread.a
+scalars_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+scalars_read_C_LDADD += $(ADIOSREADLIB_LDADD)
+
+CLEANFILES = *.bp *.ch *.fh
+CC=$(MPICC)
+EXTRA_DIST = scalars_C.xml scalars_F.xml
+
+
+if BUILD_FORTRAN
+check_PROGRAMS += scalars_write_F scalars_read_F
+scalars_write_F_SOURCES = scalars_write_F.F90
+scalars_write_F_LDADD = $(top_builddir)/src/libadiosf.a
+scalars_write_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+scalars_write_F_LDADD += $(ADIOSLIB_LDADD)
+scalars_write_F.o: gwrite_scalars.fh
+gwrite_scalars.fh: scalars_F.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/scalars_F.xml
+
+scalars_read_F_SOURCES = scalars_read_F.F90
+scalars_read_F_LDADD = $(top_builddir)/src/libadiosreadf.a
+scalars_read_F_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+scalars_read_F_LDADD += $(ADIOSREADLIB_LDADD)
+
+endif
+
+FC=$(MPIFC)
+FCLINK = \
+ $(LIBTOOL) --mode=link --tag F77 $(FC) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
+
+
+
diff --git a/examples/C/global-array-time/Makefile.in b/tests/suite/programs/examples/scalars/Makefile.in
similarity index 76%
copy from examples/C/global-array-time/Makefile.in
copy to tests/suite/programs/examples/scalars/Makefile.in
index 7bab32b..b597faf 100644
--- a/examples/C/global-array-time/Makefile.in
+++ b/tests/suite/programs/examples/scalars/Makefile.in
@@ -14,7 +14,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -34,11 +33,10 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = adios_globaltime$(EXEEXT) \
- adios_globaltime_no_xml$(EXEEXT) \
- adios_read_globaltime$(EXEEXT) \
- adios_read_globaltime_streaming$(EXEEXT)
-subdir = examples/C/global-array-time
+check_PROGRAMS = scalars_write_C$(EXEEXT) scalars_read_C$(EXEEXT) \
+ $(am__EXEEXT_1)
+ at BUILD_FORTRAN_TRUE@am__append_1 = scalars_write_F scalars_read_F
+subdir = tests/suite/programs/examples/scalars
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -85,44 +83,52 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_adios_globaltime_OBJECTS = adios_globaltime.$(OBJEXT)
-adios_globaltime_OBJECTS = $(am_adios_globaltime_OBJECTS)
+ at BUILD_FORTRAN_TRUE@am__EXEEXT_1 = scalars_write_F$(EXEEXT) \
+ at BUILD_FORTRAN_TRUE@ scalars_read_F$(EXEEXT)
+am_scalars_read_C_OBJECTS = scalars_read_C.$(OBJEXT)
+scalars_read_C_OBJECTS = $(am_scalars_read_C_OBJECTS)
am__DEPENDENCIES_1 =
-adios_globaltime_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+scalars_read_C_DEPENDENCIES = $(top_builddir)/src/libadiosread.a \
$(am__DEPENDENCIES_1)
-adios_globaltime_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+scalars_read_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(adios_globaltime_LDFLAGS) $(LDFLAGS) -o $@
-am_adios_globaltime_no_xml_OBJECTS = \
- adios_globaltime_no_xml.$(OBJEXT)
-adios_globaltime_no_xml_OBJECTS = \
- $(am_adios_globaltime_no_xml_OBJECTS)
-adios_globaltime_no_xml_DEPENDENCIES = $(top_builddir)/src/libadios.a \
+ $(scalars_read_C_LDFLAGS) $(LDFLAGS) -o $@
+am__scalars_read_F_SOURCES_DIST = scalars_read_F.F90
+ at BUILD_FORTRAN_TRUE@am_scalars_read_F_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@ scalars_read_F.$(OBJEXT)
+scalars_read_F_OBJECTS = $(am_scalars_read_F_OBJECTS)
+ at BUILD_FORTRAN_TRUE@scalars_read_F_DEPENDENCIES = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosreadf.a \
+ at BUILD_FORTRAN_TRUE@ $(am__DEPENDENCIES_1)
+scalars_read_F_LINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+ $(scalars_read_F_LDFLAGS) $(LDFLAGS) -o $@
+am_scalars_write_C_OBJECTS = scalars_write_C.$(OBJEXT)
+scalars_write_C_OBJECTS = $(am_scalars_write_C_OBJECTS)
+scalars_write_C_DEPENDENCIES = $(top_builddir)/src/libadios.a \
$(am__DEPENDENCIES_1)
-adios_globaltime_no_xml_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(adios_globaltime_no_xml_LDFLAGS) $(LDFLAGS) -o $@
-am_adios_read_globaltime_OBJECTS = adios_read_globaltime.$(OBJEXT)
-adios_read_globaltime_OBJECTS = $(am_adios_read_globaltime_OBJECTS)
-adios_read_globaltime_DEPENDENCIES = \
- $(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
-adios_read_globaltime_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+scalars_write_C_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(adios_read_globaltime_LDFLAGS) $(LDFLAGS) -o $@
-am_adios_read_globaltime_streaming_OBJECTS = \
- adios_read_globaltime_streaming.$(OBJEXT)
-adios_read_globaltime_streaming_OBJECTS = \
- $(am_adios_read_globaltime_streaming_OBJECTS)
-adios_read_globaltime_streaming_DEPENDENCIES = \
- $(top_builddir)/src/libadiosread.a $(am__DEPENDENCIES_1)
-adios_read_globaltime_streaming_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
- $(adios_read_globaltime_streaming_LDFLAGS) $(LDFLAGS) -o $@
+ $(scalars_write_C_LDFLAGS) $(LDFLAGS) -o $@
+am__scalars_write_F_SOURCES_DIST = scalars_write_F.F90
+ at BUILD_FORTRAN_TRUE@am_scalars_write_F_OBJECTS = \
+ at BUILD_FORTRAN_TRUE@ scalars_write_F.$(OBJEXT)
+scalars_write_F_OBJECTS = $(am_scalars_write_F_OBJECTS)
+ at BUILD_FORTRAN_TRUE@scalars_write_F_DEPENDENCIES = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(am__DEPENDENCIES_1)
+scalars_write_F_LINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+ $(scalars_write_F_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
+PPFCCOMPILE = $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+FCLD = $(FC)
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -132,14 +138,11 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(adios_globaltime_SOURCES) \
- $(adios_globaltime_no_xml_SOURCES) \
- $(adios_read_globaltime_SOURCES) \
- $(adios_read_globaltime_streaming_SOURCES)
-DIST_SOURCES = $(adios_globaltime_SOURCES) \
- $(adios_globaltime_no_xml_SOURCES) \
- $(adios_read_globaltime_SOURCES) \
- $(adios_read_globaltime_streaming_SOURCES)
+SOURCES = $(scalars_read_C_SOURCES) $(scalars_read_F_SOURCES) \
+ $(scalars_write_C_SOURCES) $(scalars_write_F_SOURCES)
+DIST_SOURCES = $(scalars_read_C_SOURCES) \
+ $(am__scalars_read_F_SOURCES_DIST) $(scalars_write_C_SOURCES) \
+ $(am__scalars_write_F_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -227,7 +230,7 @@ EXEEXT = @EXEEXT@
FASTBIT_CPPFLAGS = @FASTBIT_CPPFLAGS@
FASTBIT_LDFLAGS = @FASTBIT_LDFLAGS@
FASTBIT_LIBS = @FASTBIT_LIBS@
-FC = @FC@
+FC = $(MPIFC)
FCFLAGS = @FCFLAGS@
FCLIBS = @FCLIBS@
FGREP = @FGREP@
@@ -341,6 +344,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -398,31 +404,38 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
-adios_globaltime_SOURCES = adios_globaltime.c
-adios_globaltime_LDADD = $(top_builddir)/src/libadios.a \
+scalars_write_C_SOURCES = scalars_write_C.c
+scalars_write_C_LDADD = $(top_builddir)/src/libadios.a \
$(ADIOSLIB_LDADD)
-adios_globaltime_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-adios_globaltime_no_xml_SOURCES = adios_globaltime_no_xml.c
-adios_globaltime_no_xml_LDADD = $(top_builddir)/src/libadios.a \
- $(ADIOSLIB_LDADD)
-adios_globaltime_no_xml_LDFLAGS = $(ADIOSLIB_LDFLAGS)
-adios_read_globaltime_SOURCES = adios_read_globaltime.c
-adios_read_globaltime_LDADD = $(top_builddir)/src/libadiosread.a \
+scalars_write_C_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+scalars_read_C_SOURCES = scalars_read_C.c
+scalars_read_C_LDADD = $(top_builddir)/src/libadiosread.a \
$(ADIOSREADLIB_LDADD)
-adios_read_globaltime_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
-adios_read_globaltime_streaming_SOURCES = adios_read_globaltime_streaming.c
-adios_read_globaltime_streaming_LDADD = \
- $(top_builddir)/src/libadiosread.a $(ADIOSREADLIB_LDADD)
-adios_read_globaltime_streaming_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
-CLEANFILES = *.bp
-EXTRA_DIST = adios_globaltime.xml gread_restart.ch gwrite_restart.ch job.pbs
+scalars_read_C_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+CLEANFILES = *.bp *.ch *.fh
+EXTRA_DIST = scalars_C.xml scalars_F.xml
+ at BUILD_FORTRAN_TRUE@scalars_write_F_SOURCES = scalars_write_F.F90
+ at BUILD_FORTRAN_TRUE@scalars_write_F_LDADD = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosf.a \
+ at BUILD_FORTRAN_TRUE@ $(ADIOSLIB_LDADD)
+ at BUILD_FORTRAN_TRUE@scalars_write_F_LDFLAGS = $(ADIOSLIB_LDFLAGS)
+ at BUILD_FORTRAN_TRUE@scalars_read_F_SOURCES = scalars_read_F.F90
+ at BUILD_FORTRAN_TRUE@scalars_read_F_LDADD = \
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/src/libadiosreadf.a \
+ at BUILD_FORTRAN_TRUE@ $(ADIOSREADLIB_LDADD)
+ at BUILD_FORTRAN_TRUE@scalars_read_F_LDFLAGS = $(ADIOSREADLIB_LDFLAGS)
+FCLINK = \
+ $(LIBTOOL) --mode=link --tag F77 $(FC) \
+ $(AM_FCFLAGS) $(FCFLAGS) $(LDFLAGS) -o $@
+
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .F90 .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -432,9 +445,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/C/global-array-time/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/suite/programs/examples/scalars/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/C/global-array-time/Makefile
+ $(AUTOMAKE) --gnu tests/suite/programs/examples/scalars/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -454,26 +467,26 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-adios_globaltime$(EXEEXT): $(adios_globaltime_OBJECTS) $(adios_globaltime_DEPENDENCIES)
- @rm -f adios_globaltime$(EXEEXT)
- $(adios_globaltime_LINK) $(adios_globaltime_OBJECTS) $(adios_globaltime_LDADD) $(LIBS)
-adios_globaltime_no_xml$(EXEEXT): $(adios_globaltime_no_xml_OBJECTS) $(adios_globaltime_no_xml_DEPENDENCIES)
- @rm -f adios_globaltime_no_xml$(EXEEXT)
- $(adios_globaltime_no_xml_LINK) $(adios_globaltime_no_xml_OBJECTS) $(adios_globaltime_no_xml_LDADD) $(LIBS)
-adios_read_globaltime$(EXEEXT): $(adios_read_globaltime_OBJECTS) $(adios_read_globaltime_DEPENDENCIES)
- @rm -f adios_read_globaltime$(EXEEXT)
- $(adios_read_globaltime_LINK) $(adios_read_globaltime_OBJECTS) $(adios_read_globaltime_LDADD) $(LIBS)
-adios_read_globaltime_streaming$(EXEEXT): $(adios_read_globaltime_streaming_OBJECTS) $(adios_read_globaltime_streaming_DEPENDENCIES)
- @rm -f adios_read_globaltime_streaming$(EXEEXT)
- $(adios_read_globaltime_streaming_LINK) $(adios_read_globaltime_streaming_OBJECTS) $(adios_read_globaltime_streaming_LDADD) $(LIBS)
+scalars_read_C$(EXEEXT): $(scalars_read_C_OBJECTS) $(scalars_read_C_DEPENDENCIES)
+ @rm -f scalars_read_C$(EXEEXT)
+ $(scalars_read_C_LINK) $(scalars_read_C_OBJECTS) $(scalars_read_C_LDADD) $(LIBS)
+scalars_read_F$(EXEEXT): $(scalars_read_F_OBJECTS) $(scalars_read_F_DEPENDENCIES)
+ @rm -f scalars_read_F$(EXEEXT)
+ $(scalars_read_F_LINK) $(scalars_read_F_OBJECTS) $(scalars_read_F_LDADD) $(LIBS)
+scalars_write_C$(EXEEXT): $(scalars_write_C_OBJECTS) $(scalars_write_C_DEPENDENCIES)
+ @rm -f scalars_write_C$(EXEEXT)
+ $(scalars_write_C_LINK) $(scalars_write_C_OBJECTS) $(scalars_write_C_LDADD) $(LIBS)
+scalars_write_F$(EXEEXT): $(scalars_write_F_OBJECTS) $(scalars_write_F_DEPENDENCIES)
+ @rm -f scalars_write_F$(EXEEXT)
+ $(scalars_write_F_LINK) $(scalars_write_F_OBJECTS) $(scalars_write_F_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -481,6 +494,15 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $<
+
+.F90.obj:
+ $(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.F90.lo:
+ $(LTPPFCCOMPILE) -c -o $@ $<
+
.c.o:
$(COMPILE) -c $<
@@ -579,8 +601,9 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS) all-local
+all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
@@ -610,7 +633,7 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
@@ -677,10 +700,10 @@ ps-am:
uninstall-am:
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
@@ -695,7 +718,13 @@ uninstall-am:
all-local:
- test "$(srcdir)" = "$(builddir)" || cp $(srcdir)/*.xml $(builddir)
+ test "$(srcdir)" = "$(builddir)" || cp -p $(srcdir)/*.xml $(builddir)
+scalars_write_C.o: gwrite_scalars.ch
+gwrite_scalars.ch: scalars_C.xml
+ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/scalars_C.xml
+ at BUILD_FORTRAN_TRUE@scalars_write_F.o: gwrite_scalars.fh
+ at BUILD_FORTRAN_TRUE@gwrite_scalars.fh: scalars_F.xml
+ at BUILD_FORTRAN_TRUE@ $(top_builddir)/utils/gpp/gpp.py $(srcdir)/scalars_F.xml
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/suite/programs/examples/scalars/scalars_C.xml b/tests/suite/programs/examples/scalars/scalars_C.xml
new file mode 100644
index 0000000..96440be
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/scalars_C.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<adios-config host-language="C">
+
+ <adios-group name="scalars">
+ <!-- name defines the variable name in the output file
+ gwrite defines the variable name in the code to write out
+ gwrite is optional
+ -->
+ <var name="var_byte" gwrite="v1" type="byte"/>
+ <var name="var_short" gwrite="v2" type="short"/>
+ <var name="var_int" gwrite="v3" type="integer"/>
+ <var name="var_long" gwrite="v4" type="long"/>
+ <var name="var_ubyte" gwrite="v5" type="unsigned byte"/>
+ <var name="var_ushort" gwrite="v6" type="unsigned short"/>
+ <var name="var_uint" gwrite="v7" type="unsigned integer"/>
+ <var name="var_ulong" gwrite="v8" type="unsigned long"/>
+ <var name="var_real" gwrite="v9" type="real"/>
+ <var name="var_double" gwrite="v10" type="double"/>
+ <var name="var_string" gwrite="v11" type="string"/>
+ <var name="var_complex" gwrite="v12" type="complex"/>
+ <var name="var_double_complex" gwrite="v13" type="double complex"/>
+ </adios-group>
+
+ <method group="scalars" method="MPI"/>
+
+ <buffer size-MB="20" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/tests/suite/programs/examples/scalars/scalars_F.xml b/tests/suite/programs/examples/scalars/scalars_F.xml
new file mode 100644
index 0000000..6da498c
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/scalars_F.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<adios-config host-language="Fortran">
+
+ <adios-group name="scalars">
+ <!-- name defines the variable name in the output file
+ gwrite defines the variable name in the code to write out
+ gread defines the variable name in the code to read the value into
+ gwrite and gread are optional
+ -->
+ <var name="var_byte" gwrite="v1" gread="v1" type="byte"/>
+ <var name="var_short" gwrite="v2" gread="v2" type="short"/>
+ <var name="var_int" gwrite="v3" gread="v3" type="integer"/>
+ <var name="var_long" gwrite="v4" gread="v4" type="long"/>
+ <var name="var_ubyte" gwrite="v5" gread="v5" type="unsigned byte"/>
+ <var name="var_ushort" gwrite="v6" gread="v6" type="unsigned short"/>
+ <var name="var_uint" gwrite="v7" gread="v7" type="unsigned integer"/>
+ <var name="var_ulong" gwrite="v8" gread="v8" type="unsigned long"/>
+ <var name="var_real" gwrite="v9" gread="v9" type="real"/>
+ <var name="var_double" gwrite="v10" gread="v10" type="double"/>
+ <var name="var_string" gwrite="v11" gread="v11" type="string"/>
+ <var name="var_complex" gwrite="v12" gread="v12" type="complex"/>
+ <var name="var_double_complex" gwrite="v13" gread="v13" type="double complex"/>
+ </adios-group>
+
+ <method group="scalars" method="MPI"/>
+
+ <buffer size-MB="20" allocate-time="now"/>
+
+</adios-config>
+
diff --git a/tests/suite/programs/examples/scalars/scalars_read_C.c b/tests/suite/programs/examples/scalars/scalars_read_C.c
new file mode 100644
index 0000000..dca789d
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/scalars_read_C.c
@@ -0,0 +1,111 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/*********************************************************************/
+/* Example of reading various types of scalar variables in ADIOS */
+/*********************************************************************/
+#include <stdio.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios_read.h"
+
+typedef struct complex
+{
+ float r;
+ float i;
+} complex;
+
+typedef struct double_complex
+{
+ double r;
+ double i;
+} double_complex;
+
+
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank;
+ MPI_Comm comm = MPI_COMM_WORLD;
+ enum ADIOS_READ_METHOD method = ADIOS_READ_METHOD_BP;
+ ADIOS_SELECTION * sel1=NULL;
+
+ int8_t v1 = 0;
+ int16_t v2 = 0;
+ int32_t v3 = 0;
+ int64_t v4 = 0;
+
+ uint8_t v5 = 0;
+ uint16_t v6 = 0;
+ uint32_t v7 = 0;
+ uint64_t v8 = 0;
+
+ float v9 = 0.0;
+ double v10 = 0.0;
+
+ char v11[256];
+
+ complex v12;
+ v12.r = 0.0;
+ v12.i = 0.0;
+
+ double_complex v13;
+ v13.r = 0.0;
+ v13.i = 0.0;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+
+ strcpy (filename, "scalars_C.bp");
+
+ adios_read_init_method (method, comm, "verbose=3");
+ ADIOS_FILE * f = adios_read_open (filename, method, comm, ADIOS_LOCKMODE_NONE, 0.0);
+
+ adios_schedule_read (f, sel1, "var_byte", 0, 1, &v1);
+ adios_schedule_read (f, sel1, "var_short", 0, 1, &v2);
+ adios_schedule_read (f, sel1, "var_int", 0, 1, &v3);
+ adios_schedule_read (f, sel1, "var_long", 0, 1, &v4);
+ adios_schedule_read (f, sel1, "var_ubyte", 0, 1, &v5);
+ adios_schedule_read (f, sel1, "var_ushort", 0, 1, &v6);
+ adios_schedule_read (f, sel1, "var_uint", 0, 1, &v7);
+ adios_schedule_read (f, sel1, "var_ulong", 0, 1, &v8);
+ adios_schedule_read (f, sel1, "var_real", 0, 1, &v9);
+ adios_schedule_read (f, sel1, "var_double", 0, 1, &v10);
+ /* note that a string is an array and thus v11 a pointer already,
+ so we pass the v11 instead of &v11 here */
+ adios_schedule_read (f, sel1, "var_string", 0, 1, v11);
+ adios_schedule_read (f, sel1, "var_complex", 0, 1, &v12);
+ adios_schedule_read (f, sel1, "var_double_complex", 0, 1, &v13);
+ adios_perform_reads (f,1);
+
+ if (rank == 0) {
+ printf("byte v1 = %d\n", v1);
+ printf("short v2 = %d\n", v2);
+ printf("integer v3 = %d\n", v3);
+ printf("long v4 = %lld\n", v4);
+
+ printf("uns.byte v5 = %u\n", v5);
+ printf("uns.short v6 = %u\n", v6);
+ printf("uns.int v7 = %u\n", v7);
+ printf("uns.long v8 = %llu\n", v8);
+
+ printf("float v9 = %g\n", v9);
+ printf("double v10 = %g\n", v10);
+
+ printf("string v11 = %s\n", v11);
+
+ printf("complex v12 = (%g, i%g)\n", v12.r, v12.i);
+ printf("dbl-complex v13 = (%g, i%g)\n", v13.r, v13.i);
+ }
+
+ adios_read_close (f);
+ MPI_Barrier (comm);
+ adios_read_finalize_method (ADIOS_READ_METHOD_BP);
+ MPI_Finalize ();
+
+ return 0;
+}
diff --git a/tests/suite/programs/examples/scalars/scalars_read_F.F90 b/tests/suite/programs/examples/scalars/scalars_read_F.F90
new file mode 100644
index 0000000..3c4bb83
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/scalars_read_F.F90
@@ -0,0 +1,102 @@
+!
+! ADIOS is freely available under the terms of the BSD license described
+! in the COPYING file in the top level directory of this source distribution.
+!
+! Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+!
+
+!/*************************************************************/
+!/* Example of reading various types of variable in ADIOS */
+!/*************************************************************/
+program scalars_read
+ use adios_read_mod
+ implicit none
+ include 'mpif.h'
+
+ character(len=25) :: filename = "scalars_F.bp"
+ integer :: rank, size, i, ierr
+ integer :: comm
+
+ ! ADIOS variables declarations
+ integer*8 :: f
+ integer :: method = ADIOS_READ_METHOD_BP
+ integer*8 :: sel
+
+ ! scalar variables to write out (including a string)
+ integer*1 :: v1 = 0
+ integer*2 :: v2 = 0
+ integer*4 :: v3 = 0
+ integer*8 :: v4 = 0
+
+ integer*1 :: v5 = 0
+ integer*2 :: v6 = 0
+ integer*4 :: v7 = 0
+ integer*8 :: v8 = 0
+
+ real*4 :: v9 = 0.0
+ real*8 :: v10 = 0.0
+
+ character(len=20) :: v11 = "undefined"
+
+ complex*8 :: v12 = (0.0, 0.0)
+ complex*16 :: v13 = (0.0, 0.0)
+
+ call MPI_Init (ierr)
+ call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
+ call MPI_Comm_rank (comm, rank, ierr)
+ call MPI_Comm_size (comm, size, ierr);
+
+ call adios_read_init_method (method, comm, "verbose=3", ierr);
+
+ call adios_read_open (f, filename, method, comm, ADIOS_LOCKMODE_NONE, 1.0, ierr);
+
+ sel = 0 ! sel must be integer*8
+
+ ! option 1 for scalars: get it from the metadata read at open
+ call adios_get_scalar (f, "var_byte", v1, ierr)
+ call adios_get_scalar (f, "var_short", v2, ierr)
+ call adios_get_scalar (f, "var_int", v3, ierr)
+ call adios_get_scalar (f, "var_long", v4, ierr)
+ ! the above variables contain the value at this point
+
+ ! option 2 for scalars: read them from file
+ call adios_schedule_read (f, sel, "var_ubyte", 0, 1, v5, ierr)
+ call adios_schedule_read (f, sel, "var_ushort", 0, 1, v6, ierr)
+ call adios_schedule_read (f, sel, "var_uint", 0, 1, v7, ierr)
+ call adios_schedule_read (f, sel, "var_ulong", 0, 1, v8, ierr)
+ call adios_schedule_read (f, sel, "var_real", 0, 1, v9, ierr)
+ call adios_schedule_read (f, sel, "var_double", 0, 1, v10, ierr)
+ call adios_schedule_read (f, sel, "var_string", 0, 1, v11, ierr)
+ call adios_schedule_read (f, sel, "var_complex", 0, 1, v12, ierr)
+ call adios_schedule_read (f, sel, "var_double_complex", 0, 1, v13, ierr)
+ ! no read has been performed yet!
+ call adios_perform_reads (f, ierr)
+ ! the above variables contain the value only at this point
+
+ if (rank == 0) then
+ write (*, '("int*1 v1 = ",i3)') v1
+ write (*, '("int*2 v2 = ",i3)') v2
+ write (*, '("int*4 v3 = ",i3)') v3
+ write (*, '("int*8 v4 = ",i3)') v4
+
+ write (*, '("int*1 v5 = ",i3)') v5
+ write (*, '("int*2 v6 = ",i3)') v6
+ write (*, '("int*4 v7 = ",i3)') v7
+ write (*, '("int*8 v8 = ",i3)') v8
+
+ write (*, '("real*4 v9 = ",f6.2)') v9
+ write (*, '("real*8 v10 = ",f6.2)') v10
+
+ write (*, '("string v11 = ",a)') trim(v11)
+
+ write (*, '("complex*8 v12 = (",f6.2,", ", f6.2,")")') v12
+ write (*, '("complex*16 v13 = (",f6.2,", ", f6.2,")")') v13
+ endif
+
+ call adios_read_close (f, ierr)
+ call MPI_Barrier (comm, ierr);
+ call adios_read_finalize_method (method, ierr);
+ call MPI_Finalize (ierr);
+
+end program
+
diff --git a/tests/suite/programs/examples/scalars/scalars_write_C.c b/tests/suite/programs/examples/scalars/scalars_write_C.c
new file mode 100644
index 0000000..d526b3c
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/scalars_write_C.c
@@ -0,0 +1,82 @@
+/*
+ * ADIOS is freely available under the terms of the BSD license described
+ * in the COPYING file in the top level directory of this source distribution.
+ *
+ * Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+ */
+
+/*************************************************************/
+/* Example of writing various types of variable in ADIOS */
+/*************************************************************/
+#include <stdio.h>
+#include <string.h>
+#include "mpi.h"
+#include "adios.h"
+
+typedef struct complex
+{
+ float r;
+ float i;
+} complex;
+
+typedef struct double_complex
+{
+ double r;
+ double i;
+} double_complex;
+
+
+int main (int argc, char ** argv)
+{
+ char filename [256];
+ int rank;
+ MPI_Comm comm = MPI_COMM_WORLD;
+
+ uint64_t adios_groupsize, adios_totalsize;
+ int64_t adios_handle;
+
+ int8_t v1 = -4;
+ int16_t v2 = -3;
+ int32_t v3 = -2;
+ int64_t v4 = -1;
+
+ uint8_t v5 = 1;
+ uint16_t v6 = 2;
+ uint32_t v7 = 3;
+ uint64_t v8 = 4;
+
+ float v9 = 5.0;
+ double v10 = 6.0;
+
+ char * v11 = "ADIOS example";
+
+ complex v12;
+ v12.r = 8.0;
+ v12.i = 9.0;
+
+ double_complex v13;
+ v13.r = 10.0;
+ v13.i = 11.0;
+
+ MPI_Init (&argc, &argv);
+ MPI_Comm_rank (comm, &rank);
+
+ strcpy (filename, "scalars_C.bp");
+
+ /* adios_open() opens a "group in a file", here the "scalars" group.
+ GWRITE is the convenient way to write all variables defined in the
+ xml file but of course one can write the individual adios_write()
+ statements here too
+ */
+ adios_init ("scalars_C.xml", comm);
+ adios_open (&adios_handle, "scalars", filename, "w", comm);
+#include "gwrite_scalars.ch"
+ adios_close (adios_handle);
+
+ MPI_Barrier (comm);
+
+ adios_finalize (rank);
+
+ MPI_Finalize ();
+ return 0;
+}
diff --git a/tests/suite/programs/examples/scalars/scalars_write_F.F90 b/tests/suite/programs/examples/scalars/scalars_write_F.F90
new file mode 100644
index 0000000..a88a806
--- /dev/null
+++ b/tests/suite/programs/examples/scalars/scalars_write_F.F90
@@ -0,0 +1,62 @@
+!
+! ADIOS is freely available under the terms of the BSD license described
+! in the COPYING file in the top level directory of this source distribution.
+!
+! Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
+!
+
+!/*************************************************************/
+!/* Example of writing various types of variable in ADIOS */
+!/*************************************************************/
+program scalars
+ use adios_write_mod
+ implicit none
+ include 'mpif.h'
+
+ character(len=25) :: filename = "scalars_F.bp"
+ integer :: rank, size, i, ierr
+ integer :: comm
+
+ ! ADIOS variables declarations for matching gwrite_scalars.fh
+ integer :: adios_err
+ integer*8 :: adios_groupsize, adios_totalsize
+ integer*8 :: adios_handle
+
+ ! scalar variables to write out (including a string)
+ integer*1 :: v1 = -4
+ integer*2 :: v2 = -3
+ integer*4 :: v3 = -2
+ integer*8 :: v4 = -1
+
+ integer*1 :: v5 = 1
+ integer*2 :: v6 = 2
+ integer*4 :: v7 = 3
+ integer*8 :: v8 = 4
+
+ real*4 :: v9 = 5.0
+ real*8 :: v10 = 6.0
+
+ character(len=20) :: v11 = "ADIOS example"
+
+ complex*8 :: v12 = (8.0, 9.0)
+ complex*16 :: v13 = (10.0, 11.0)
+
+ call MPI_Init (ierr)
+ call MPI_Comm_dup (MPI_COMM_WORLD, comm, ierr)
+ call MPI_Comm_rank (comm, rank, ierr)
+ call MPI_Comm_size (comm, size, ierr);
+
+ call adios_init ("scalars_F.xml", comm, adios_err);
+ ! adios_open() opens a 'group in a file', here the 'scalars' group
+ call adios_open (adios_handle, "scalars", filename, "w", comm, adios_err);
+#include "gwrite_scalars.fh"
+ call adios_close (adios_handle, adios_err)
+
+ call MPI_Barrier (comm, ierr);
+
+ call adios_finalize (rank, adios_err);
+
+ call MPI_Finalize (ierr);
+
+end program
+
diff --git a/tests/suite/programs/hashtest.c b/tests/suite/programs/hashtest.c
index a1d1dee..4e2ea65 100644
--- a/tests/suite/programs/hashtest.c
+++ b/tests/suite/programs/hashtest.c
@@ -143,8 +143,8 @@ int dotest ()
}
time (&tget);
tget = tget - tbegin;
- printf("Timing: put %d elements in %d seconds, got them back in %d seconds\n",
- npaths*nvars, tput, tget);
+ printf("Timing: put %d elements in %ld seconds, got them back in %ld seconds\n",
+ npaths*nvars, (long)tput, (long)tget);
/* Print hashtable */
printf("============== PRINT HASHTABLE ============\n");
diff --git a/tests/suite/programs/many_vars.c b/tests/suite/programs/many_vars.c
index ea89543..ffd7285 100644
--- a/tests/suite/programs/many_vars.c
+++ b/tests/suite/programs/many_vars.c
@@ -31,6 +31,7 @@
int NVARS = 1;
int NBLOCKS = 1;
int NSTEPS = 1;
+int REDEFINE = 0; // 1: delete and redefine variable definitions at each step to test adios_delete_vardefs()
static const char FILENAME[] = "many_vars.bp";
#define VALUE(rank, step, block) (step * 10000 + 10*rank + block)
@@ -118,10 +119,11 @@ void fini_vars()
void Usage()
{
- printf("Usage: many_vars <nvars> <nblocks> <nsteps>\n"
+ printf("Usage: many_vars <nvars> <nblocks> <nsteps> [redef]\n"
" <nvars>: Number of variables to generate\n"
" <nblocks>: Number of blocks per process to write\n"
- " <nsteps>: Number of write cycles (to same file)\n");
+ " <nsteps>: Number of write cycles (to same file)\n"
+ " [redef]: delete and redefine variables at every step\n");
}
void define_vars ();
@@ -155,6 +157,14 @@ int main (int argc, char ** argv)
NSTEPS = i;
}
+ if (argc > 4) {
+ if (!strncasecmp (argv[4], "redef", 5)) {
+ printf("Delete and redefine variable definitions at each step.\n");
+ REDEFINE=1;
+ }
+ }
+
+
alloc_vars();
adios_init_noxml (comm);
adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, 100);
@@ -167,12 +177,21 @@ int main (int argc, char ** argv)
adios_select_method (m_adios_group, "MPI", "", "");
- define_vars();
set_gdim();
for (i=0; i<NSTEPS; i++) {
if (!err) {
+ if (i==0 || REDEFINE) {
+ printf("-- Define variables.\n");
+ define_vars();
+ }
+
err = write_file (i);
+
+ if (REDEFINE) {
+ printf("-- Delete variable definitions.\n");
+ adios_delete_vardefs(m_adios_group);
+ }
}
}
@@ -318,7 +337,7 @@ int read_file ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/path_test.c b/tests/suite/programs/path_test.c
index 46af066..761eb13 100644
--- a/tests/suite/programs/path_test.c
+++ b/tests/suite/programs/path_test.c
@@ -247,7 +247,7 @@ int read_file (char *fname)
log ("Read and check data in %s\n", fname);
f = adios_read_open_file (fname, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/reuse_dim.c b/tests/suite/programs/reuse_dim.c
index 7f79d8c..d702230 100755
--- a/tests/suite/programs/reuse_dim.c
+++ b/tests/suite/programs/reuse_dim.c
@@ -187,7 +187,7 @@ int read_file (char *fname)
log ("Read and check data in %s\n", fname);
f = adios_read_open_file (fname, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/selections.c b/tests/suite/programs/selections.c
index 637203f..8c9004b 100644
--- a/tests/suite/programs/selections.c
+++ b/tests/suite/programs/selections.c
@@ -336,7 +336,7 @@ int read_points ()
f = adios_read_open (FILENAME, read_method, comm,
ADIOS_LOCKMODE_CURRENT, 0.0);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/set_path.c b/tests/suite/programs/set_path.c
index a8562c4..c2a7c5f 100644
--- a/tests/suite/programs/set_path.c
+++ b/tests/suite/programs/set_path.c
@@ -254,7 +254,7 @@ int read_file ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/set_path_var.c b/tests/suite/programs/set_path_var.c
index 4bdb5ca..5b6968c 100644
--- a/tests/suite/programs/set_path_var.c
+++ b/tests/suite/programs/set_path_var.c
@@ -272,7 +272,7 @@ int read_file ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/programs/transforms_writeblock_read.c b/tests/suite/programs/transforms_writeblock_read.c
index 204392f..9e5d45d 100644
--- a/tests/suite/programs/transforms_writeblock_read.c
+++ b/tests/suite/programs/transforms_writeblock_read.c
@@ -8,6 +8,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
+#include <string.h>
#include <assert.h>
#include <adios_read.h>
diff --git a/tests/suite/programs/two_groups.c b/tests/suite/programs/two_groups.c
index dd3e7e5..3e5a7a1 100644
--- a/tests/suite/programs/two_groups.c
+++ b/tests/suite/programs/two_groups.c
@@ -180,7 +180,7 @@ int read_file ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
@@ -229,7 +229,7 @@ int read_by_group ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
@@ -238,7 +238,7 @@ int read_by_group ()
log (" Limit view to first group only\n");
err = adios_group_view (f, 0);
if (err) {
- printE ("Error in adios_group_view: %s\n", rank, adios_errmsg());
+ printE ("Error in adios_group_view: %s\n", adios_errmsg());
goto endread;
}
@@ -259,7 +259,7 @@ int read_by_group ()
log (" Limit view to second group only\n");
err = adios_group_view (f, 1);
if (err) {
- printE ("Error in adios_group_view: %s\n", rank, adios_errmsg());
+ printE ("Error in adios_group_view: %s\n", adios_errmsg());
goto endread;
}
diff --git a/tests/suite/programs/write_alternate.c b/tests/suite/programs/write_alternate.c
index 92e55ea..69fce78 100644
--- a/tests/suite/programs/write_alternate.c
+++ b/tests/suite/programs/write_alternate.c
@@ -271,7 +271,7 @@ int read_file ()
log ("Read and check data in %s\n", FILENAME);
f = adios_read_open_file (FILENAME, ADIOS_READ_METHOD_BP, comm);
if (f == NULL) {
- printE ("Error at opening file: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file: %s\n", adios_errmsg());
return 1;
}
@@ -405,7 +405,7 @@ int read_stream ()
f = adios_read_open (FILENAME, ADIOS_READ_METHOD_BP, comm,
ADIOS_LOCKMODE_NONE, 0.0);
if (f == NULL) {
- printE ("Error at opening file as stream: %s\n", rank, adios_errmsg());
+ printE ("Error at opening file as stream: %s\n", adios_errmsg());
return 1;
}
diff --git a/tests/suite/reference/attributes_bpls.txt b/tests/suite/reference/attributes_bpls.txt
index 6a59906..d35afc6 100644
--- a/tests/suite/reference/attributes_bpls.txt
+++ b/tests/suite/reference/attributes_bpls.txt
@@ -4,16 +4,16 @@ File info:
of attributes: 4
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- integer NX scalar = 10
- integer size scalar = 5
- integer rank scalar = 0
- double mean scalar = 4.5
+ integer NX scalar = 10
+ integer size scalar = 5
+ integer rank scalar = 0
+ double mean scalar = 4.5
string date scalar = "Nov, 2009"
- double temperature {5, 10} = 0 / 49 / 24.5 / 14.4309
- integer temperature/number of levels attr = 1
+ double temperature {5, 10} = 0 / 49 / 24.5 / 14.4309
+ integer temperature/number of levels attr = 1
string temperature/description attr = "Global array written from 'size' processes"
- double temperature/mean value attr = 4.5
+ double temperature/mean value attr = 4.5
string temperature/date of coding attr = "Nov, 2009"
diff --git a/tests/suite/reference/attributes_read.txt b/tests/suite/reference/attributes_read.txt
index e9a270c..58109f9 100644
--- a/tests/suite/reference/attributes_read.txt
+++ b/tests/suite/reference/attributes_read.txt
@@ -1,8 +1,8 @@
-rank 0: attr: double temperature/mean value = 4.500000e+00
rank 0: attr: integer temperature/number of levels = 1
-rank 0: attr: string temperature/date of coding = Nov, 2009
-rank 0: attr: string temperature/description = Global array written from 'size' processes
-rank 1: attr: double temperature/mean value = 4.500000e+00
+rank 0: attr: string temperature/description = "Global array written from 'size' processes"
+rank 0: attr: double temperature/mean value = 4.500000e+00
+rank 0: attr: string temperature/date of coding = "Nov, 2009"
rank 1: attr: integer temperature/number of levels = 1
-rank 1: attr: string temperature/date of coding = Nov, 2009
-rank 1: attr: string temperature/description = Global array written from 'size' processes
+rank 1: attr: string temperature/description = "Global array written from 'size' processes"
+rank 1: attr: double temperature/mean value = 4.500000e+00
+rank 1: attr: string temperature/date of coding = "Nov, 2009"
diff --git a/tests/suite/reference/global_array_bpls.txt b/tests/suite/reference/global_array_bpls.txt
index a5ba4fc..eb4ecd8 100644
--- a/tests/suite/reference/global_array_bpls.txt
+++ b/tests/suite/reference/global_array_bpls.txt
@@ -1,13 +1,13 @@
- integer NX scalar = 10
- integer size scalar = 7
- integer rank scalar = 0
- double temperature {7, 10} = 0 / 69 / 34.5 / 20.2052
- (0,0) 0 1 2 3 4 5 6 7 8 9
- (1,0) 10 11 12 13 14 15 16 17 18 19
- (2,0) 20 21 22 23 24 25 26 27 28 29
- (3,0) 30 31 32 33 34 35 36 37 38 39
- (4,0) 40 41 42 43 44 45 46 47 48 49
- (5,0) 50 51 52 53 54 55 56 57 58 59
- (6,0) 60 61 62 63 64 65 66 67 68 69
+ integer NX scalar = 10
+ integer size scalar = 7
+ integer rank scalar = 0
+ double temperature {7, 10} = 0 / 69 / 34.5 / 20.2052
+ (0,0) 0 1 2 3 4 5 6 7 8 9
+ (1,0) 10 11 12 13 14 15 16 17 18 19
+ (2,0) 20 21 22 23 24 25 26 27 28 29
+ (3,0) 30 31 32 33 34 35 36 37 38 39
+ (4,0) 40 41 42 43 44 45 46 47 48 49
+ (5,0) 50 51 52 53 54 55 56 57 58 59
+ (6,0) 60 61 62 63 64 65 66 67 68 69
string temperature/description attr = "Global array written from 'size' processes"
diff --git a/tests/suite/reference/global_array_no_xml_bpls.txt b/tests/suite/reference/global_array_no_xml_bpls.txt
index 8b4669f..688c7c4 100644
--- a/tests/suite/reference/global_array_no_xml_bpls.txt
+++ b/tests/suite/reference/global_array_no_xml_bpls.txt
@@ -4,221 +4,221 @@ File info:
of attributes: 0
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- integer NX scalar = 100
- integer Global_bounds scalar = 2100
- integer Offsets scalar = 0
- double temperature {2100} = 0 / 2099 / 1049.5 / 606.218
- ( 0) 0 1 2 3 4 5 6 7 8 9
- ( 10) 10 11 12 13 14 15 16 17 18 19
- ( 20) 20 21 22 23 24 25 26 27 28 29
- ( 30) 30 31 32 33 34 35 36 37 38 39
- ( 40) 40 41 42 43 44 45 46 47 48 49
- ( 50) 50 51 52 53 54 55 56 57 58 59
- ( 60) 60 61 62 63 64 65 66 67 68 69
- ( 70) 70 71 72 73 74 75 76 77 78 79
- ( 80) 80 81 82 83 84 85 86 87 88 89
- ( 90) 90 91 92 93 94 95 96 97 98 99
- ( 100) 100 101 102 103 104 105 106 107 108 109
- ( 110) 110 111 112 113 114 115 116 117 118 119
- ( 120) 120 121 122 123 124 125 126 127 128 129
- ( 130) 130 131 132 133 134 135 136 137 138 139
- ( 140) 140 141 142 143 144 145 146 147 148 149
- ( 150) 150 151 152 153 154 155 156 157 158 159
- ( 160) 160 161 162 163 164 165 166 167 168 169
- ( 170) 170 171 172 173 174 175 176 177 178 179
- ( 180) 180 181 182 183 184 185 186 187 188 189
- ( 190) 190 191 192 193 194 195 196 197 198 199
- ( 200) 200 201 202 203 204 205 206 207 208 209
- ( 210) 210 211 212 213 214 215 216 217 218 219
- ( 220) 220 221 222 223 224 225 226 227 228 229
- ( 230) 230 231 232 233 234 235 236 237 238 239
- ( 240) 240 241 242 243 244 245 246 247 248 249
- ( 250) 250 251 252 253 254 255 256 257 258 259
- ( 260) 260 261 262 263 264 265 266 267 268 269
- ( 270) 270 271 272 273 274 275 276 277 278 279
- ( 280) 280 281 282 283 284 285 286 287 288 289
- ( 290) 290 291 292 293 294 295 296 297 298 299
- ( 300) 300 301 302 303 304 305 306 307 308 309
- ( 310) 310 311 312 313 314 315 316 317 318 319
- ( 320) 320 321 322 323 324 325 326 327 328 329
- ( 330) 330 331 332 333 334 335 336 337 338 339
- ( 340) 340 341 342 343 344 345 346 347 348 349
- ( 350) 350 351 352 353 354 355 356 357 358 359
- ( 360) 360 361 362 363 364 365 366 367 368 369
- ( 370) 370 371 372 373 374 375 376 377 378 379
- ( 380) 380 381 382 383 384 385 386 387 388 389
- ( 390) 390 391 392 393 394 395 396 397 398 399
- ( 400) 400 401 402 403 404 405 406 407 408 409
- ( 410) 410 411 412 413 414 415 416 417 418 419
- ( 420) 420 421 422 423 424 425 426 427 428 429
- ( 430) 430 431 432 433 434 435 436 437 438 439
- ( 440) 440 441 442 443 444 445 446 447 448 449
- ( 450) 450 451 452 453 454 455 456 457 458 459
- ( 460) 460 461 462 463 464 465 466 467 468 469
- ( 470) 470 471 472 473 474 475 476 477 478 479
- ( 480) 480 481 482 483 484 485 486 487 488 489
- ( 490) 490 491 492 493 494 495 496 497 498 499
- ( 500) 500 501 502 503 504 505 506 507 508 509
- ( 510) 510 511 512 513 514 515 516 517 518 519
- ( 520) 520 521 522 523 524 525 526 527 528 529
- ( 530) 530 531 532 533 534 535 536 537 538 539
- ( 540) 540 541 542 543 544 545 546 547 548 549
- ( 550) 550 551 552 553 554 555 556 557 558 559
- ( 560) 560 561 562 563 564 565 566 567 568 569
- ( 570) 570 571 572 573 574 575 576 577 578 579
- ( 580) 580 581 582 583 584 585 586 587 588 589
- ( 590) 590 591 592 593 594 595 596 597 598 599
- ( 600) 600 601 602 603 604 605 606 607 608 609
- ( 610) 610 611 612 613 614 615 616 617 618 619
- ( 620) 620 621 622 623 624 625 626 627 628 629
- ( 630) 630 631 632 633 634 635 636 637 638 639
- ( 640) 640 641 642 643 644 645 646 647 648 649
- ( 650) 650 651 652 653 654 655 656 657 658 659
- ( 660) 660 661 662 663 664 665 666 667 668 669
- ( 670) 670 671 672 673 674 675 676 677 678 679
- ( 680) 680 681 682 683 684 685 686 687 688 689
- ( 690) 690 691 692 693 694 695 696 697 698 699
- ( 700) 700 701 702 703 704 705 706 707 708 709
- ( 710) 710 711 712 713 714 715 716 717 718 719
- ( 720) 720 721 722 723 724 725 726 727 728 729
- ( 730) 730 731 732 733 734 735 736 737 738 739
- ( 740) 740 741 742 743 744 745 746 747 748 749
- ( 750) 750 751 752 753 754 755 756 757 758 759
- ( 760) 760 761 762 763 764 765 766 767 768 769
- ( 770) 770 771 772 773 774 775 776 777 778 779
- ( 780) 780 781 782 783 784 785 786 787 788 789
- ( 790) 790 791 792 793 794 795 796 797 798 799
- ( 800) 800 801 802 803 804 805 806 807 808 809
- ( 810) 810 811 812 813 814 815 816 817 818 819
- ( 820) 820 821 822 823 824 825 826 827 828 829
- ( 830) 830 831 832 833 834 835 836 837 838 839
- ( 840) 840 841 842 843 844 845 846 847 848 849
- ( 850) 850 851 852 853 854 855 856 857 858 859
- ( 860) 860 861 862 863 864 865 866 867 868 869
- ( 870) 870 871 872 873 874 875 876 877 878 879
- ( 880) 880 881 882 883 884 885 886 887 888 889
- ( 890) 890 891 892 893 894 895 896 897 898 899
- ( 900) 900 901 902 903 904 905 906 907 908 909
- ( 910) 910 911 912 913 914 915 916 917 918 919
- ( 920) 920 921 922 923 924 925 926 927 928 929
- ( 930) 930 931 932 933 934 935 936 937 938 939
- ( 940) 940 941 942 943 944 945 946 947 948 949
- ( 950) 950 951 952 953 954 955 956 957 958 959
- ( 960) 960 961 962 963 964 965 966 967 968 969
- ( 970) 970 971 972 973 974 975 976 977 978 979
- ( 980) 980 981 982 983 984 985 986 987 988 989
- ( 990) 990 991 992 993 994 995 996 997 998 999
- (1000) 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
- (1010) 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
- (1020) 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029
- (1030) 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
- (1040) 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049
- (1050) 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059
- (1060) 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
- (1070) 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
- (1080) 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
- (1090) 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099
- (1100) 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109
- (1110) 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
- (1120) 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129
- (1130) 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139
- (1140) 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
- (1150) 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159
- (1160) 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169
- (1170) 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
- (1180) 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
- (1190) 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199
- (1200) 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209
- (1210) 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219
- (1220) 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
- (1230) 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
- (1240) 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249
- (1250) 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259
- (1260) 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269
- (1270) 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279
- (1280) 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289
- (1290) 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299
- (1300) 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309
- (1310) 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319
- (1320) 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329
- (1330) 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
- (1340) 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349
- (1350) 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359
- (1360) 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369
- (1370) 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
- (1380) 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
- (1390) 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399
- (1400) 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409
- (1410) 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419
- (1420) 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
- (1430) 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439
- (1440) 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449
- (1450) 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459
- (1460) 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469
- (1470) 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479
- (1480) 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489
- (1490) 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
- (1500) 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509
- (1510) 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519
- (1520) 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529
- (1530) 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539
- (1540) 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549
- (1550) 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559
- (1560) 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569
- (1570) 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579
- (1580) 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589
- (1590) 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599
- (1600) 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609
- (1610) 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619
- (1620) 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629
- (1630) 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639
- (1640) 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649
- (1650) 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659
- (1660) 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669
- (1670) 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679
- (1680) 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689
- (1690) 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699
- (1700) 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709
- (1710) 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719
- (1720) 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729
- (1730) 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
- (1740) 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749
- (1750) 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759
- (1760) 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769
- (1770) 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779
- (1780) 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789
- (1790) 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799
- (1800) 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809
- (1810) 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819
- (1820) 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829
- (1830) 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839
- (1840) 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849
- (1850) 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859
- (1860) 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869
- (1870) 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879
- (1880) 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889
- (1890) 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899
- (1900) 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
- (1910) 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919
- (1920) 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929
- (1930) 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939
- (1940) 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949
- (1950) 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959
- (1960) 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
- (1970) 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
- (1980) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
- (1990) 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
- (2000) 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
- (2010) 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
- (2020) 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
- (2030) 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039
- (2040) 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049
- (2050) 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059
- (2060) 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069
- (2070) 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079
- (2080) 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089
- (2090) 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
+ integer NX scalar = 100
+ integer Global_bounds scalar = 2100
+ integer Offsets scalar = 0
+ double temperature {2100} = 0 / 2099 / 1049.5 / 606.218
+ ( 0) 0 1 2 3 4 5 6 7 8 9
+ ( 10) 10 11 12 13 14 15 16 17 18 19
+ ( 20) 20 21 22 23 24 25 26 27 28 29
+ ( 30) 30 31 32 33 34 35 36 37 38 39
+ ( 40) 40 41 42 43 44 45 46 47 48 49
+ ( 50) 50 51 52 53 54 55 56 57 58 59
+ ( 60) 60 61 62 63 64 65 66 67 68 69
+ ( 70) 70 71 72 73 74 75 76 77 78 79
+ ( 80) 80 81 82 83 84 85 86 87 88 89
+ ( 90) 90 91 92 93 94 95 96 97 98 99
+ ( 100) 100 101 102 103 104 105 106 107 108 109
+ ( 110) 110 111 112 113 114 115 116 117 118 119
+ ( 120) 120 121 122 123 124 125 126 127 128 129
+ ( 130) 130 131 132 133 134 135 136 137 138 139
+ ( 140) 140 141 142 143 144 145 146 147 148 149
+ ( 150) 150 151 152 153 154 155 156 157 158 159
+ ( 160) 160 161 162 163 164 165 166 167 168 169
+ ( 170) 170 171 172 173 174 175 176 177 178 179
+ ( 180) 180 181 182 183 184 185 186 187 188 189
+ ( 190) 190 191 192 193 194 195 196 197 198 199
+ ( 200) 200 201 202 203 204 205 206 207 208 209
+ ( 210) 210 211 212 213 214 215 216 217 218 219
+ ( 220) 220 221 222 223 224 225 226 227 228 229
+ ( 230) 230 231 232 233 234 235 236 237 238 239
+ ( 240) 240 241 242 243 244 245 246 247 248 249
+ ( 250) 250 251 252 253 254 255 256 257 258 259
+ ( 260) 260 261 262 263 264 265 266 267 268 269
+ ( 270) 270 271 272 273 274 275 276 277 278 279
+ ( 280) 280 281 282 283 284 285 286 287 288 289
+ ( 290) 290 291 292 293 294 295 296 297 298 299
+ ( 300) 300 301 302 303 304 305 306 307 308 309
+ ( 310) 310 311 312 313 314 315 316 317 318 319
+ ( 320) 320 321 322 323 324 325 326 327 328 329
+ ( 330) 330 331 332 333 334 335 336 337 338 339
+ ( 340) 340 341 342 343 344 345 346 347 348 349
+ ( 350) 350 351 352 353 354 355 356 357 358 359
+ ( 360) 360 361 362 363 364 365 366 367 368 369
+ ( 370) 370 371 372 373 374 375 376 377 378 379
+ ( 380) 380 381 382 383 384 385 386 387 388 389
+ ( 390) 390 391 392 393 394 395 396 397 398 399
+ ( 400) 400 401 402 403 404 405 406 407 408 409
+ ( 410) 410 411 412 413 414 415 416 417 418 419
+ ( 420) 420 421 422 423 424 425 426 427 428 429
+ ( 430) 430 431 432 433 434 435 436 437 438 439
+ ( 440) 440 441 442 443 444 445 446 447 448 449
+ ( 450) 450 451 452 453 454 455 456 457 458 459
+ ( 460) 460 461 462 463 464 465 466 467 468 469
+ ( 470) 470 471 472 473 474 475 476 477 478 479
+ ( 480) 480 481 482 483 484 485 486 487 488 489
+ ( 490) 490 491 492 493 494 495 496 497 498 499
+ ( 500) 500 501 502 503 504 505 506 507 508 509
+ ( 510) 510 511 512 513 514 515 516 517 518 519
+ ( 520) 520 521 522 523 524 525 526 527 528 529
+ ( 530) 530 531 532 533 534 535 536 537 538 539
+ ( 540) 540 541 542 543 544 545 546 547 548 549
+ ( 550) 550 551 552 553 554 555 556 557 558 559
+ ( 560) 560 561 562 563 564 565 566 567 568 569
+ ( 570) 570 571 572 573 574 575 576 577 578 579
+ ( 580) 580 581 582 583 584 585 586 587 588 589
+ ( 590) 590 591 592 593 594 595 596 597 598 599
+ ( 600) 600 601 602 603 604 605 606 607 608 609
+ ( 610) 610 611 612 613 614 615 616 617 618 619
+ ( 620) 620 621 622 623 624 625 626 627 628 629
+ ( 630) 630 631 632 633 634 635 636 637 638 639
+ ( 640) 640 641 642 643 644 645 646 647 648 649
+ ( 650) 650 651 652 653 654 655 656 657 658 659
+ ( 660) 660 661 662 663 664 665 666 667 668 669
+ ( 670) 670 671 672 673 674 675 676 677 678 679
+ ( 680) 680 681 682 683 684 685 686 687 688 689
+ ( 690) 690 691 692 693 694 695 696 697 698 699
+ ( 700) 700 701 702 703 704 705 706 707 708 709
+ ( 710) 710 711 712 713 714 715 716 717 718 719
+ ( 720) 720 721 722 723 724 725 726 727 728 729
+ ( 730) 730 731 732 733 734 735 736 737 738 739
+ ( 740) 740 741 742 743 744 745 746 747 748 749
+ ( 750) 750 751 752 753 754 755 756 757 758 759
+ ( 760) 760 761 762 763 764 765 766 767 768 769
+ ( 770) 770 771 772 773 774 775 776 777 778 779
+ ( 780) 780 781 782 783 784 785 786 787 788 789
+ ( 790) 790 791 792 793 794 795 796 797 798 799
+ ( 800) 800 801 802 803 804 805 806 807 808 809
+ ( 810) 810 811 812 813 814 815 816 817 818 819
+ ( 820) 820 821 822 823 824 825 826 827 828 829
+ ( 830) 830 831 832 833 834 835 836 837 838 839
+ ( 840) 840 841 842 843 844 845 846 847 848 849
+ ( 850) 850 851 852 853 854 855 856 857 858 859
+ ( 860) 860 861 862 863 864 865 866 867 868 869
+ ( 870) 870 871 872 873 874 875 876 877 878 879
+ ( 880) 880 881 882 883 884 885 886 887 888 889
+ ( 890) 890 891 892 893 894 895 896 897 898 899
+ ( 900) 900 901 902 903 904 905 906 907 908 909
+ ( 910) 910 911 912 913 914 915 916 917 918 919
+ ( 920) 920 921 922 923 924 925 926 927 928 929
+ ( 930) 930 931 932 933 934 935 936 937 938 939
+ ( 940) 940 941 942 943 944 945 946 947 948 949
+ ( 950) 950 951 952 953 954 955 956 957 958 959
+ ( 960) 960 961 962 963 964 965 966 967 968 969
+ ( 970) 970 971 972 973 974 975 976 977 978 979
+ ( 980) 980 981 982 983 984 985 986 987 988 989
+ ( 990) 990 991 992 993 994 995 996 997 998 999
+ (1000) 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
+ (1010) 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
+ (1020) 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029
+ (1030) 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
+ (1040) 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049
+ (1050) 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059
+ (1060) 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
+ (1070) 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
+ (1080) 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
+ (1090) 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099
+ (1100) 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109
+ (1110) 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
+ (1120) 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129
+ (1130) 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139
+ (1140) 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
+ (1150) 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159
+ (1160) 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169
+ (1170) 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
+ (1180) 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
+ (1190) 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199
+ (1200) 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209
+ (1210) 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219
+ (1220) 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
+ (1230) 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
+ (1240) 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249
+ (1250) 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259
+ (1260) 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269
+ (1270) 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279
+ (1280) 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289
+ (1290) 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299
+ (1300) 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309
+ (1310) 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319
+ (1320) 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329
+ (1330) 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
+ (1340) 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349
+ (1350) 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359
+ (1360) 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369
+ (1370) 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
+ (1380) 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
+ (1390) 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399
+ (1400) 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409
+ (1410) 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419
+ (1420) 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
+ (1430) 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439
+ (1440) 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449
+ (1450) 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459
+ (1460) 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469
+ (1470) 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479
+ (1480) 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489
+ (1490) 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
+ (1500) 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509
+ (1510) 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519
+ (1520) 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529
+ (1530) 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539
+ (1540) 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549
+ (1550) 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559
+ (1560) 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569
+ (1570) 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579
+ (1580) 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589
+ (1590) 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599
+ (1600) 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609
+ (1610) 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619
+ (1620) 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629
+ (1630) 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639
+ (1640) 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649
+ (1650) 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659
+ (1660) 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669
+ (1670) 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679
+ (1680) 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689
+ (1690) 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699
+ (1700) 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709
+ (1710) 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719
+ (1720) 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729
+ (1730) 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
+ (1740) 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749
+ (1750) 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759
+ (1760) 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769
+ (1770) 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779
+ (1780) 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789
+ (1790) 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799
+ (1800) 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809
+ (1810) 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819
+ (1820) 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829
+ (1830) 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839
+ (1840) 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849
+ (1850) 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859
+ (1860) 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869
+ (1870) 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879
+ (1880) 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889
+ (1890) 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899
+ (1900) 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
+ (1910) 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919
+ (1920) 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929
+ (1930) 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939
+ (1940) 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949
+ (1950) 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959
+ (1960) 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
+ (1970) 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
+ (1980) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
+ (1990) 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
+ (2000) 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+ (2010) 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
+ (2020) 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
+ (2030) 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039
+ (2040) 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049
+ (2050) 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059
+ (2060) 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069
+ (2070) 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079
+ (2080) 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089
+ (2090) 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
diff --git a/tests/suite/reference/global_array_no_xml_f_bpls.txt b/tests/suite/reference/global_array_no_xml_f_bpls.txt
index 42ce305..28e14cb 100644
--- a/tests/suite/reference/global_array_no_xml_f_bpls.txt
+++ b/tests/suite/reference/global_array_no_xml_f_bpls.txt
@@ -4,25 +4,25 @@ File info:
of attributes: 0
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- integer NX scalar = 10
- integer G scalar = 140
- integer O scalar = 0
- double temperature {140} = 0 / 139 / 69.5 / 40.4135
- ( 0) 0 1 2 3 4 5 6 7 8 9
- ( 10) 10 11 12 13 14 15 16 17 18 19
- ( 20) 20 21 22 23 24 25 26 27 28 29
- ( 30) 30 31 32 33 34 35 36 37 38 39
- ( 40) 40 41 42 43 44 45 46 47 48 49
- ( 50) 50 51 52 53 54 55 56 57 58 59
- ( 60) 60 61 62 63 64 65 66 67 68 69
- ( 70) 70 71 72 73 74 75 76 77 78 79
- ( 80) 80 81 82 83 84 85 86 87 88 89
- ( 90) 90 91 92 93 94 95 96 97 98 99
- (100) 100 101 102 103 104 105 106 107 108 109
- (110) 110 111 112 113 114 115 116 117 118 119
- (120) 120 121 122 123 124 125 126 127 128 129
- (130) 130 131 132 133 134 135 136 137 138 139
+ integer NX scalar = 10
+ integer G scalar = 140
+ integer O scalar = 0
+ double temperature {140} = 0 / 139 / 69.5 / 40.4135
+ ( 0) 0 1 2 3 4 5 6 7 8 9
+ ( 10) 10 11 12 13 14 15 16 17 18 19
+ ( 20) 20 21 22 23 24 25 26 27 28 29
+ ( 30) 30 31 32 33 34 35 36 37 38 39
+ ( 40) 40 41 42 43 44 45 46 47 48 49
+ ( 50) 50 51 52 53 54 55 56 57 58 59
+ ( 60) 60 61 62 63 64 65 66 67 68 69
+ ( 70) 70 71 72 73 74 75 76 77 78 79
+ ( 80) 80 81 82 83 84 85 86 87 88 89
+ ( 90) 90 91 92 93 94 95 96 97 98 99
+ (100) 100 101 102 103 104 105 106 107 108 109
+ (110) 110 111 112 113 114 115 116 117 118 119
+ (120) 120 121 122 123 124 125 126 127 128 129
+ (130) 130 131 132 133 134 135 136 137 138 139
diff --git a/tests/suite/reference/global_array_time_bpls.txt b/tests/suite/reference/global_array_time_bpls.txt
index 753f199..5409d2c 100644
--- a/tests/suite/reference/global_array_time_bpls.txt
+++ b/tests/suite/reference/global_array_time_bpls.txt
@@ -1,7 +1,7 @@
- integer NX 13*scalar = 10 / 10 / 10 / 0
- integer NY 13*scalar = 1 / 1 / 1 / 0
- integer size 13*scalar = 9 / 9 / 9 / 0
- integer rank 13*scalar = 0 / 8 / 4 / 2.58199
- double temperature 13*{9, 10} = 100 / 1389 / 744.5 / 375.067
- double pressure 13*{9, 1} = 1000 / 13008 / 7004 / 3741.66
+ integer NX 13*scalar = 10 / 10 / 10 / 0
+ integer NY 13*scalar = 1 / 1 / 1 / 0
+ integer size 13*scalar = 9 / 9 / 9 / 0
+ integer rank 13*scalar = 0 / 8 / 4 / 2.58199
+ double temperature 13*{9, 10} = 100 / 1389 / 744.5 / 375.067
+ double pressure 13*{9, 1} = 1000 / 13008 / 7004 / 3741.66
string temperature/description attr = "Global array written from 'size' processes over several timesteps"
diff --git a/tests/suite/reference/global_array_time_read.txt b/tests/suite/reference/global_array_time_read_as_file.txt
similarity index 100%
rename from tests/suite/reference/global_array_time_read.txt
rename to tests/suite/reference/global_array_time_read_as_file.txt
diff --git a/tests/suite/reference/global_array_time_read_as_stream.txt b/tests/suite/reference/global_array_time_read_as_stream.txt
new file mode 100644
index 0000000..f61c385
--- /dev/null
+++ b/tests/suite/reference/global_array_time_read_as_stream.txt
@@ -0,0 +1,153 @@
+rank 0: ndim = 2
+rank 0: dims[9][10]
+rank=0: step 0: [0:9,0:10] = [ [100 101 102 103 104 105 106 107 108 109 ] ]
+rank=0: step 1: [0:9,0:10] = [ [200 201 202 203 204 205 206 207 208 209 ] ]
+rank=0: step 2: [0:9,0:10] = [ [300 301 302 303 304 305 306 307 308 309 ] ]
+rank=0: step 3: [0:9,0:10] = [ [400 401 402 403 404 405 406 407 408 409 ] ]
+rank=0: step 4: [0:9,0:10] = [ [500 501 502 503 504 505 506 507 508 509 ] ]
+rank=0: step 5: [0:9,0:10] = [ [600 601 602 603 604 605 606 607 608 609 ] ]
+rank=0: step 6: [0:9,0:10] = [ [700 701 702 703 704 705 706 707 708 709 ] ]
+rank=0: step 7: [0:9,0:10] = [ [800 801 802 803 804 805 806 807 808 809 ] ]
+rank=0: step 8: [0:9,0:10] = [ [900 901 902 903 904 905 906 907 908 909 ] ]
+rank=0: step 9: [0:9,0:10] = [ [1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 ] ]
+rank=0: step 10: [0:9,0:10] = [ [1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 ] ]
+rank=0: step 11: [0:9,0:10] = [ [1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 ] ]
+rank=0: step 12: [0:9,0:10] = [ [1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 ] ]
+rank 0: No new step arrived within the timeout. Quit.
+rank: 0: We have processed 13 steps
+rank 1: ndim = 2
+rank 1: dims[9][10]
+rank=1: step 0: [0:9,0:10] = [ [110 111 112 113 114 115 116 117 118 119 ] ]
+rank=1: step 1: [0:9,0:10] = [ [210 211 212 213 214 215 216 217 218 219 ] ]
+rank=1: step 2: [0:9,0:10] = [ [310 311 312 313 314 315 316 317 318 319 ] ]
+rank=1: step 3: [0:9,0:10] = [ [410 411 412 413 414 415 416 417 418 419 ] ]
+rank=1: step 4: [0:9,0:10] = [ [510 511 512 513 514 515 516 517 518 519 ] ]
+rank=1: step 5: [0:9,0:10] = [ [610 611 612 613 614 615 616 617 618 619 ] ]
+rank=1: step 6: [0:9,0:10] = [ [710 711 712 713 714 715 716 717 718 719 ] ]
+rank=1: step 7: [0:9,0:10] = [ [810 811 812 813 814 815 816 817 818 819 ] ]
+rank=1: step 8: [0:9,0:10] = [ [910 911 912 913 914 915 916 917 918 919 ] ]
+rank=1: step 9: [0:9,0:10] = [ [1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 ] ]
+rank=1: step 10: [0:9,0:10] = [ [1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 ] ]
+rank=1: step 11: [0:9,0:10] = [ [1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 ] ]
+rank=1: step 12: [0:9,0:10] = [ [1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 ] ]
+rank 1: No new step arrived within the timeout. Quit.
+rank: 1: We have processed 13 steps
+rank 2: ndim = 2
+rank 2: dims[9][10]
+rank=2: step 0: [0:9,0:10] = [ [120 121 122 123 124 125 126 127 128 129 ] ]
+rank=2: step 1: [0:9,0:10] = [ [220 221 222 223 224 225 226 227 228 229 ] ]
+rank=2: step 2: [0:9,0:10] = [ [320 321 322 323 324 325 326 327 328 329 ] ]
+rank=2: step 3: [0:9,0:10] = [ [420 421 422 423 424 425 426 427 428 429 ] ]
+rank=2: step 4: [0:9,0:10] = [ [520 521 522 523 524 525 526 527 528 529 ] ]
+rank=2: step 5: [0:9,0:10] = [ [620 621 622 623 624 625 626 627 628 629 ] ]
+rank=2: step 6: [0:9,0:10] = [ [720 721 722 723 724 725 726 727 728 729 ] ]
+rank=2: step 7: [0:9,0:10] = [ [820 821 822 823 824 825 826 827 828 829 ] ]
+rank=2: step 8: [0:9,0:10] = [ [920 921 922 923 924 925 926 927 928 929 ] ]
+rank=2: step 9: [0:9,0:10] = [ [1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 ] ]
+rank=2: step 10: [0:9,0:10] = [ [1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 ] ]
+rank=2: step 11: [0:9,0:10] = [ [1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 ] ]
+rank=2: step 12: [0:9,0:10] = [ [1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 ] ]
+rank 2: No new step arrived within the timeout. Quit.
+rank: 2: We have processed 13 steps
+rank 3: ndim = 2
+rank 3: dims[9][10]
+rank=3: step 0: [0:9,0:10] = [ [130 131 132 133 134 135 136 137 138 139 ] ]
+rank=3: step 1: [0:9,0:10] = [ [230 231 232 233 234 235 236 237 238 239 ] ]
+rank=3: step 2: [0:9,0:10] = [ [330 331 332 333 334 335 336 337 338 339 ] ]
+rank=3: step 3: [0:9,0:10] = [ [430 431 432 433 434 435 436 437 438 439 ] ]
+rank=3: step 4: [0:9,0:10] = [ [530 531 532 533 534 535 536 537 538 539 ] ]
+rank=3: step 5: [0:9,0:10] = [ [630 631 632 633 634 635 636 637 638 639 ] ]
+rank=3: step 6: [0:9,0:10] = [ [730 731 732 733 734 735 736 737 738 739 ] ]
+rank=3: step 7: [0:9,0:10] = [ [830 831 832 833 834 835 836 837 838 839 ] ]
+rank=3: step 8: [0:9,0:10] = [ [930 931 932 933 934 935 936 937 938 939 ] ]
+rank=3: step 9: [0:9,0:10] = [ [1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 ] ]
+rank=3: step 10: [0:9,0:10] = [ [1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 ] ]
+rank=3: step 11: [0:9,0:10] = [ [1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 ] ]
+rank=3: step 12: [0:9,0:10] = [ [1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 ] ]
+rank 3: No new step arrived within the timeout. Quit.
+rank: 3: We have processed 13 steps
+rank 4: ndim = 2
+rank 4: dims[9][10]
+rank=4: step 0: [0:9,0:10] = [ [140 141 142 143 144 145 146 147 148 149 ] ]
+rank=4: step 1: [0:9,0:10] = [ [240 241 242 243 244 245 246 247 248 249 ] ]
+rank=4: step 2: [0:9,0:10] = [ [340 341 342 343 344 345 346 347 348 349 ] ]
+rank=4: step 3: [0:9,0:10] = [ [440 441 442 443 444 445 446 447 448 449 ] ]
+rank=4: step 4: [0:9,0:10] = [ [540 541 542 543 544 545 546 547 548 549 ] ]
+rank=4: step 5: [0:9,0:10] = [ [640 641 642 643 644 645 646 647 648 649 ] ]
+rank=4: step 6: [0:9,0:10] = [ [740 741 742 743 744 745 746 747 748 749 ] ]
+rank=4: step 7: [0:9,0:10] = [ [840 841 842 843 844 845 846 847 848 849 ] ]
+rank=4: step 8: [0:9,0:10] = [ [940 941 942 943 944 945 946 947 948 949 ] ]
+rank=4: step 9: [0:9,0:10] = [ [1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 ] ]
+rank=4: step 10: [0:9,0:10] = [ [1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 ] ]
+rank=4: step 11: [0:9,0:10] = [ [1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 ] ]
+rank=4: step 12: [0:9,0:10] = [ [1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 ] ]
+rank 4: No new step arrived within the timeout. Quit.
+rank: 4: We have processed 13 steps
+rank 5: ndim = 2
+rank 5: dims[9][10]
+rank=5: step 0: [0:9,0:10] = [ [150 151 152 153 154 155 156 157 158 159 ] ]
+rank=5: step 1: [0:9,0:10] = [ [250 251 252 253 254 255 256 257 258 259 ] ]
+rank=5: step 2: [0:9,0:10] = [ [350 351 352 353 354 355 356 357 358 359 ] ]
+rank=5: step 3: [0:9,0:10] = [ [450 451 452 453 454 455 456 457 458 459 ] ]
+rank=5: step 4: [0:9,0:10] = [ [550 551 552 553 554 555 556 557 558 559 ] ]
+rank=5: step 5: [0:9,0:10] = [ [650 651 652 653 654 655 656 657 658 659 ] ]
+rank=5: step 6: [0:9,0:10] = [ [750 751 752 753 754 755 756 757 758 759 ] ]
+rank=5: step 7: [0:9,0:10] = [ [850 851 852 853 854 855 856 857 858 859 ] ]
+rank=5: step 8: [0:9,0:10] = [ [950 951 952 953 954 955 956 957 958 959 ] ]
+rank=5: step 9: [0:9,0:10] = [ [1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 ] ]
+rank=5: step 10: [0:9,0:10] = [ [1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 ] ]
+rank=5: step 11: [0:9,0:10] = [ [1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 ] ]
+rank=5: step 12: [0:9,0:10] = [ [1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 ] ]
+rank 5: No new step arrived within the timeout. Quit.
+rank: 5: We have processed 13 steps
+rank 6: ndim = 2
+rank 6: dims[9][10]
+rank=6: step 0: [0:9,0:10] = [ [160 161 162 163 164 165 166 167 168 169 ] ]
+rank=6: step 1: [0:9,0:10] = [ [260 261 262 263 264 265 266 267 268 269 ] ]
+rank=6: step 2: [0:9,0:10] = [ [360 361 362 363 364 365 366 367 368 369 ] ]
+rank=6: step 3: [0:9,0:10] = [ [460 461 462 463 464 465 466 467 468 469 ] ]
+rank=6: step 4: [0:9,0:10] = [ [560 561 562 563 564 565 566 567 568 569 ] ]
+rank=6: step 5: [0:9,0:10] = [ [660 661 662 663 664 665 666 667 668 669 ] ]
+rank=6: step 6: [0:9,0:10] = [ [760 761 762 763 764 765 766 767 768 769 ] ]
+rank=6: step 7: [0:9,0:10] = [ [860 861 862 863 864 865 866 867 868 869 ] ]
+rank=6: step 8: [0:9,0:10] = [ [960 961 962 963 964 965 966 967 968 969 ] ]
+rank=6: step 9: [0:9,0:10] = [ [1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 ] ]
+rank=6: step 10: [0:9,0:10] = [ [1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 ] ]
+rank=6: step 11: [0:9,0:10] = [ [1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 ] ]
+rank=6: step 12: [0:9,0:10] = [ [1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 ] ]
+rank 6: No new step arrived within the timeout. Quit.
+rank: 6: We have processed 13 steps
+rank 7: ndim = 2
+rank 7: dims[9][10]
+rank=7: step 0: [0:9,0:10] = [ [170 171 172 173 174 175 176 177 178 179 ] ]
+rank=7: step 1: [0:9,0:10] = [ [270 271 272 273 274 275 276 277 278 279 ] ]
+rank=7: step 2: [0:9,0:10] = [ [370 371 372 373 374 375 376 377 378 379 ] ]
+rank=7: step 3: [0:9,0:10] = [ [470 471 472 473 474 475 476 477 478 479 ] ]
+rank=7: step 4: [0:9,0:10] = [ [570 571 572 573 574 575 576 577 578 579 ] ]
+rank=7: step 5: [0:9,0:10] = [ [670 671 672 673 674 675 676 677 678 679 ] ]
+rank=7: step 6: [0:9,0:10] = [ [770 771 772 773 774 775 776 777 778 779 ] ]
+rank=7: step 7: [0:9,0:10] = [ [870 871 872 873 874 875 876 877 878 879 ] ]
+rank=7: step 8: [0:9,0:10] = [ [970 971 972 973 974 975 976 977 978 979 ] ]
+rank=7: step 9: [0:9,0:10] = [ [1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 ] ]
+rank=7: step 10: [0:9,0:10] = [ [1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 ] ]
+rank=7: step 11: [0:9,0:10] = [ [1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 ] ]
+rank=7: step 12: [0:9,0:10] = [ [1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 ] ]
+rank 7: No new step arrived within the timeout. Quit.
+rank: 7: We have processed 13 steps
+rank 8: ndim = 2
+rank 8: dims[9][10]
+rank=8: step 0: [0:9,0:10] = [ [180 181 182 183 184 185 186 187 188 189 ] ]
+rank=8: step 1: [0:9,0:10] = [ [280 281 282 283 284 285 286 287 288 289 ] ]
+rank=8: step 2: [0:9,0:10] = [ [380 381 382 383 384 385 386 387 388 389 ] ]
+rank=8: step 3: [0:9,0:10] = [ [480 481 482 483 484 485 486 487 488 489 ] ]
+rank=8: step 4: [0:9,0:10] = [ [580 581 582 583 584 585 586 587 588 589 ] ]
+rank=8: step 5: [0:9,0:10] = [ [680 681 682 683 684 685 686 687 688 689 ] ]
+rank=8: step 6: [0:9,0:10] = [ [780 781 782 783 784 785 786 787 788 789 ] ]
+rank=8: step 7: [0:9,0:10] = [ [880 881 882 883 884 885 886 887 888 889 ] ]
+rank=8: step 8: [0:9,0:10] = [ [980 981 982 983 984 985 986 987 988 989 ] ]
+rank=8: step 9: [0:9,0:10] = [ [1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 ] ]
+rank=8: step 10: [0:9,0:10] = [ [1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 ] ]
+rank=8: step 11: [0:9,0:10] = [ [1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 ] ]
+rank=8: step 12: [0:9,0:10] = [ [1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 ] ]
+rank 8: No new step arrived within the timeout. Quit.
+rank: 8: We have processed 13 steps
diff --git a/tests/suite/reference/arrays_bpls.txt b/tests/suite/reference/local_array_C_bpls.txt
similarity index 54%
rename from tests/suite/reference/arrays_bpls.txt
rename to tests/suite/reference/local_array_C_bpls.txt
index 60c2d37..8057cf9 100644
--- a/tests/suite/reference/arrays_bpls.txt
+++ b/tests/suite/reference/local_array_C_bpls.txt
@@ -4,10 +4,10 @@ File info:
of attributes: 0
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- integer NX scalar = 10
- integer NY scalar = 100
- double var_double_2Darray {10, 100} = 0 / 49.99 / 24.995 / 14.4338
- integer var_int_1Darray {10} = 0 / 49 / 24.5 / 14.4309
+ integer NX scalar = 10
+ integer NY scalar = 100
+ double var_double_2Darray {10, 100} = 0 / 49.99 / 24.995 / 14.4338
+ integer var_int_1Darray {10} = 0 / 49 / 24.5 / 14.4309
diff --git a/tests/suite/reference/arrays_read.txt b/tests/suite/reference/local_array_C_read.txt
similarity index 100%
rename from tests/suite/reference/arrays_read.txt
rename to tests/suite/reference/local_array_C_read.txt
diff --git a/tests/suite/reference/no_xml_write_byid_bpls.txt b/tests/suite/reference/no_xml_write_byid_bpls.txt
index ea80c26..ebd3f35 100644
--- a/tests/suite/reference/no_xml_write_byid_bpls.txt
+++ b/tests/suite/reference/no_xml_write_byid_bpls.txt
@@ -1,221 +1,227 @@
File info:
of groups: 1
of variables: 1
- of attributes: 0
+ of attributes: 6
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- double temperature {2100} = 0 / 2099 / 1049.5 / 606.218
- ( 0) 0 1 2 3 4 5 6 7 8 9
- ( 10) 10 11 12 13 14 15 16 17 18 19
- ( 20) 20 21 22 23 24 25 26 27 28 29
- ( 30) 30 31 32 33 34 35 36 37 38 39
- ( 40) 40 41 42 43 44 45 46 47 48 49
- ( 50) 50 51 52 53 54 55 56 57 58 59
- ( 60) 60 61 62 63 64 65 66 67 68 69
- ( 70) 70 71 72 73 74 75 76 77 78 79
- ( 80) 80 81 82 83 84 85 86 87 88 89
- ( 90) 90 91 92 93 94 95 96 97 98 99
- ( 100) 100 101 102 103 104 105 106 107 108 109
- ( 110) 110 111 112 113 114 115 116 117 118 119
- ( 120) 120 121 122 123 124 125 126 127 128 129
- ( 130) 130 131 132 133 134 135 136 137 138 139
- ( 140) 140 141 142 143 144 145 146 147 148 149
- ( 150) 150 151 152 153 154 155 156 157 158 159
- ( 160) 160 161 162 163 164 165 166 167 168 169
- ( 170) 170 171 172 173 174 175 176 177 178 179
- ( 180) 180 181 182 183 184 185 186 187 188 189
- ( 190) 190 191 192 193 194 195 196 197 198 199
- ( 200) 200 201 202 203 204 205 206 207 208 209
- ( 210) 210 211 212 213 214 215 216 217 218 219
- ( 220) 220 221 222 223 224 225 226 227 228 229
- ( 230) 230 231 232 233 234 235 236 237 238 239
- ( 240) 240 241 242 243 244 245 246 247 248 249
- ( 250) 250 251 252 253 254 255 256 257 258 259
- ( 260) 260 261 262 263 264 265 266 267 268 269
- ( 270) 270 271 272 273 274 275 276 277 278 279
- ( 280) 280 281 282 283 284 285 286 287 288 289
- ( 290) 290 291 292 293 294 295 296 297 298 299
- ( 300) 300 301 302 303 304 305 306 307 308 309
- ( 310) 310 311 312 313 314 315 316 317 318 319
- ( 320) 320 321 322 323 324 325 326 327 328 329
- ( 330) 330 331 332 333 334 335 336 337 338 339
- ( 340) 340 341 342 343 344 345 346 347 348 349
- ( 350) 350 351 352 353 354 355 356 357 358 359
- ( 360) 360 361 362 363 364 365 366 367 368 369
- ( 370) 370 371 372 373 374 375 376 377 378 379
- ( 380) 380 381 382 383 384 385 386 387 388 389
- ( 390) 390 391 392 393 394 395 396 397 398 399
- ( 400) 400 401 402 403 404 405 406 407 408 409
- ( 410) 410 411 412 413 414 415 416 417 418 419
- ( 420) 420 421 422 423 424 425 426 427 428 429
- ( 430) 430 431 432 433 434 435 436 437 438 439
- ( 440) 440 441 442 443 444 445 446 447 448 449
- ( 450) 450 451 452 453 454 455 456 457 458 459
- ( 460) 460 461 462 463 464 465 466 467 468 469
- ( 470) 470 471 472 473 474 475 476 477 478 479
- ( 480) 480 481 482 483 484 485 486 487 488 489
- ( 490) 490 491 492 493 494 495 496 497 498 499
- ( 500) 500 501 502 503 504 505 506 507 508 509
- ( 510) 510 511 512 513 514 515 516 517 518 519
- ( 520) 520 521 522 523 524 525 526 527 528 529
- ( 530) 530 531 532 533 534 535 536 537 538 539
- ( 540) 540 541 542 543 544 545 546 547 548 549
- ( 550) 550 551 552 553 554 555 556 557 558 559
- ( 560) 560 561 562 563 564 565 566 567 568 569
- ( 570) 570 571 572 573 574 575 576 577 578 579
- ( 580) 580 581 582 583 584 585 586 587 588 589
- ( 590) 590 591 592 593 594 595 596 597 598 599
- ( 600) 600 601 602 603 604 605 606 607 608 609
- ( 610) 610 611 612 613 614 615 616 617 618 619
- ( 620) 620 621 622 623 624 625 626 627 628 629
- ( 630) 630 631 632 633 634 635 636 637 638 639
- ( 640) 640 641 642 643 644 645 646 647 648 649
- ( 650) 650 651 652 653 654 655 656 657 658 659
- ( 660) 660 661 662 663 664 665 666 667 668 669
- ( 670) 670 671 672 673 674 675 676 677 678 679
- ( 680) 680 681 682 683 684 685 686 687 688 689
- ( 690) 690 691 692 693 694 695 696 697 698 699
- ( 700) 700 701 702 703 704 705 706 707 708 709
- ( 710) 710 711 712 713 714 715 716 717 718 719
- ( 720) 720 721 722 723 724 725 726 727 728 729
- ( 730) 730 731 732 733 734 735 736 737 738 739
- ( 740) 740 741 742 743 744 745 746 747 748 749
- ( 750) 750 751 752 753 754 755 756 757 758 759
- ( 760) 760 761 762 763 764 765 766 767 768 769
- ( 770) 770 771 772 773 774 775 776 777 778 779
- ( 780) 780 781 782 783 784 785 786 787 788 789
- ( 790) 790 791 792 793 794 795 796 797 798 799
- ( 800) 800 801 802 803 804 805 806 807 808 809
- ( 810) 810 811 812 813 814 815 816 817 818 819
- ( 820) 820 821 822 823 824 825 826 827 828 829
- ( 830) 830 831 832 833 834 835 836 837 838 839
- ( 840) 840 841 842 843 844 845 846 847 848 849
- ( 850) 850 851 852 853 854 855 856 857 858 859
- ( 860) 860 861 862 863 864 865 866 867 868 869
- ( 870) 870 871 872 873 874 875 876 877 878 879
- ( 880) 880 881 882 883 884 885 886 887 888 889
- ( 890) 890 891 892 893 894 895 896 897 898 899
- ( 900) 900 901 902 903 904 905 906 907 908 909
- ( 910) 910 911 912 913 914 915 916 917 918 919
- ( 920) 920 921 922 923 924 925 926 927 928 929
- ( 930) 930 931 932 933 934 935 936 937 938 939
- ( 940) 940 941 942 943 944 945 946 947 948 949
- ( 950) 950 951 952 953 954 955 956 957 958 959
- ( 960) 960 961 962 963 964 965 966 967 968 969
- ( 970) 970 971 972 973 974 975 976 977 978 979
- ( 980) 980 981 982 983 984 985 986 987 988 989
- ( 990) 990 991 992 993 994 995 996 997 998 999
- (1000) 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
- (1010) 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
- (1020) 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029
- (1030) 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
- (1040) 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049
- (1050) 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059
- (1060) 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
- (1070) 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
- (1080) 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
- (1090) 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099
- (1100) 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109
- (1110) 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
- (1120) 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129
- (1130) 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139
- (1140) 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
- (1150) 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159
- (1160) 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169
- (1170) 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
- (1180) 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
- (1190) 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199
- (1200) 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209
- (1210) 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219
- (1220) 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
- (1230) 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
- (1240) 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249
- (1250) 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259
- (1260) 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269
- (1270) 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279
- (1280) 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289
- (1290) 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299
- (1300) 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309
- (1310) 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319
- (1320) 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329
- (1330) 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
- (1340) 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349
- (1350) 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359
- (1360) 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369
- (1370) 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
- (1380) 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
- (1390) 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399
- (1400) 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409
- (1410) 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419
- (1420) 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
- (1430) 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439
- (1440) 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449
- (1450) 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459
- (1460) 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469
- (1470) 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479
- (1480) 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489
- (1490) 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
- (1500) 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509
- (1510) 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519
- (1520) 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529
- (1530) 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539
- (1540) 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549
- (1550) 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559
- (1560) 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569
- (1570) 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579
- (1580) 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589
- (1590) 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599
- (1600) 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609
- (1610) 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619
- (1620) 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629
- (1630) 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639
- (1640) 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649
- (1650) 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659
- (1660) 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669
- (1670) 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679
- (1680) 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689
- (1690) 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699
- (1700) 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709
- (1710) 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719
- (1720) 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729
- (1730) 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
- (1740) 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749
- (1750) 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759
- (1760) 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769
- (1770) 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779
- (1780) 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789
- (1790) 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799
- (1800) 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809
- (1810) 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819
- (1820) 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829
- (1830) 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839
- (1840) 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849
- (1850) 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859
- (1860) 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869
- (1870) 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879
- (1880) 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889
- (1890) 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899
- (1900) 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
- (1910) 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919
- (1920) 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929
- (1930) 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939
- (1940) 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949
- (1950) 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959
- (1960) 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
- (1970) 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
- (1980) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
- (1990) 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
- (2000) 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
- (2010) 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
- (2020) 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
- (2030) 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039
- (2040) 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049
- (2050) 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059
- (2060) 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069
- (2070) 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079
- (2080) 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089
- (2090) 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
+ double temperature {2100} = 0 / 2099 / 1049.5 / 606.218
+ ( 0) 0 1 2 3 4 5 6 7 8 9
+ ( 10) 10 11 12 13 14 15 16 17 18 19
+ ( 20) 20 21 22 23 24 25 26 27 28 29
+ ( 30) 30 31 32 33 34 35 36 37 38 39
+ ( 40) 40 41 42 43 44 45 46 47 48 49
+ ( 50) 50 51 52 53 54 55 56 57 58 59
+ ( 60) 60 61 62 63 64 65 66 67 68 69
+ ( 70) 70 71 72 73 74 75 76 77 78 79
+ ( 80) 80 81 82 83 84 85 86 87 88 89
+ ( 90) 90 91 92 93 94 95 96 97 98 99
+ ( 100) 100 101 102 103 104 105 106 107 108 109
+ ( 110) 110 111 112 113 114 115 116 117 118 119
+ ( 120) 120 121 122 123 124 125 126 127 128 129
+ ( 130) 130 131 132 133 134 135 136 137 138 139
+ ( 140) 140 141 142 143 144 145 146 147 148 149
+ ( 150) 150 151 152 153 154 155 156 157 158 159
+ ( 160) 160 161 162 163 164 165 166 167 168 169
+ ( 170) 170 171 172 173 174 175 176 177 178 179
+ ( 180) 180 181 182 183 184 185 186 187 188 189
+ ( 190) 190 191 192 193 194 195 196 197 198 199
+ ( 200) 200 201 202 203 204 205 206 207 208 209
+ ( 210) 210 211 212 213 214 215 216 217 218 219
+ ( 220) 220 221 222 223 224 225 226 227 228 229
+ ( 230) 230 231 232 233 234 235 236 237 238 239
+ ( 240) 240 241 242 243 244 245 246 247 248 249
+ ( 250) 250 251 252 253 254 255 256 257 258 259
+ ( 260) 260 261 262 263 264 265 266 267 268 269
+ ( 270) 270 271 272 273 274 275 276 277 278 279
+ ( 280) 280 281 282 283 284 285 286 287 288 289
+ ( 290) 290 291 292 293 294 295 296 297 298 299
+ ( 300) 300 301 302 303 304 305 306 307 308 309
+ ( 310) 310 311 312 313 314 315 316 317 318 319
+ ( 320) 320 321 322 323 324 325 326 327 328 329
+ ( 330) 330 331 332 333 334 335 336 337 338 339
+ ( 340) 340 341 342 343 344 345 346 347 348 349
+ ( 350) 350 351 352 353 354 355 356 357 358 359
+ ( 360) 360 361 362 363 364 365 366 367 368 369
+ ( 370) 370 371 372 373 374 375 376 377 378 379
+ ( 380) 380 381 382 383 384 385 386 387 388 389
+ ( 390) 390 391 392 393 394 395 396 397 398 399
+ ( 400) 400 401 402 403 404 405 406 407 408 409
+ ( 410) 410 411 412 413 414 415 416 417 418 419
+ ( 420) 420 421 422 423 424 425 426 427 428 429
+ ( 430) 430 431 432 433 434 435 436 437 438 439
+ ( 440) 440 441 442 443 444 445 446 447 448 449
+ ( 450) 450 451 452 453 454 455 456 457 458 459
+ ( 460) 460 461 462 463 464 465 466 467 468 469
+ ( 470) 470 471 472 473 474 475 476 477 478 479
+ ( 480) 480 481 482 483 484 485 486 487 488 489
+ ( 490) 490 491 492 493 494 495 496 497 498 499
+ ( 500) 500 501 502 503 504 505 506 507 508 509
+ ( 510) 510 511 512 513 514 515 516 517 518 519
+ ( 520) 520 521 522 523 524 525 526 527 528 529
+ ( 530) 530 531 532 533 534 535 536 537 538 539
+ ( 540) 540 541 542 543 544 545 546 547 548 549
+ ( 550) 550 551 552 553 554 555 556 557 558 559
+ ( 560) 560 561 562 563 564 565 566 567 568 569
+ ( 570) 570 571 572 573 574 575 576 577 578 579
+ ( 580) 580 581 582 583 584 585 586 587 588 589
+ ( 590) 590 591 592 593 594 595 596 597 598 599
+ ( 600) 600 601 602 603 604 605 606 607 608 609
+ ( 610) 610 611 612 613 614 615 616 617 618 619
+ ( 620) 620 621 622 623 624 625 626 627 628 629
+ ( 630) 630 631 632 633 634 635 636 637 638 639
+ ( 640) 640 641 642 643 644 645 646 647 648 649
+ ( 650) 650 651 652 653 654 655 656 657 658 659
+ ( 660) 660 661 662 663 664 665 666 667 668 669
+ ( 670) 670 671 672 673 674 675 676 677 678 679
+ ( 680) 680 681 682 683 684 685 686 687 688 689
+ ( 690) 690 691 692 693 694 695 696 697 698 699
+ ( 700) 700 701 702 703 704 705 706 707 708 709
+ ( 710) 710 711 712 713 714 715 716 717 718 719
+ ( 720) 720 721 722 723 724 725 726 727 728 729
+ ( 730) 730 731 732 733 734 735 736 737 738 739
+ ( 740) 740 741 742 743 744 745 746 747 748 749
+ ( 750) 750 751 752 753 754 755 756 757 758 759
+ ( 760) 760 761 762 763 764 765 766 767 768 769
+ ( 770) 770 771 772 773 774 775 776 777 778 779
+ ( 780) 780 781 782 783 784 785 786 787 788 789
+ ( 790) 790 791 792 793 794 795 796 797 798 799
+ ( 800) 800 801 802 803 804 805 806 807 808 809
+ ( 810) 810 811 812 813 814 815 816 817 818 819
+ ( 820) 820 821 822 823 824 825 826 827 828 829
+ ( 830) 830 831 832 833 834 835 836 837 838 839
+ ( 840) 840 841 842 843 844 845 846 847 848 849
+ ( 850) 850 851 852 853 854 855 856 857 858 859
+ ( 860) 860 861 862 863 864 865 866 867 868 869
+ ( 870) 870 871 872 873 874 875 876 877 878 879
+ ( 880) 880 881 882 883 884 885 886 887 888 889
+ ( 890) 890 891 892 893 894 895 896 897 898 899
+ ( 900) 900 901 902 903 904 905 906 907 908 909
+ ( 910) 910 911 912 913 914 915 916 917 918 919
+ ( 920) 920 921 922 923 924 925 926 927 928 929
+ ( 930) 930 931 932 933 934 935 936 937 938 939
+ ( 940) 940 941 942 943 944 945 946 947 948 949
+ ( 950) 950 951 952 953 954 955 956 957 958 959
+ ( 960) 960 961 962 963 964 965 966 967 968 969
+ ( 970) 970 971 972 973 974 975 976 977 978 979
+ ( 980) 980 981 982 983 984 985 986 987 988 989
+ ( 990) 990 991 992 993 994 995 996 997 998 999
+ (1000) 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
+ (1010) 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
+ (1020) 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029
+ (1030) 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
+ (1040) 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049
+ (1050) 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059
+ (1060) 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
+ (1070) 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
+ (1080) 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
+ (1090) 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099
+ (1100) 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109
+ (1110) 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
+ (1120) 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129
+ (1130) 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139
+ (1140) 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
+ (1150) 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159
+ (1160) 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169
+ (1170) 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
+ (1180) 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
+ (1190) 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199
+ (1200) 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209
+ (1210) 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219
+ (1220) 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
+ (1230) 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
+ (1240) 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249
+ (1250) 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259
+ (1260) 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269
+ (1270) 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279
+ (1280) 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289
+ (1290) 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299
+ (1300) 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309
+ (1310) 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319
+ (1320) 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329
+ (1330) 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
+ (1340) 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349
+ (1350) 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359
+ (1360) 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369
+ (1370) 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
+ (1380) 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
+ (1390) 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399
+ (1400) 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409
+ (1410) 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419
+ (1420) 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
+ (1430) 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439
+ (1440) 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449
+ (1450) 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459
+ (1460) 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469
+ (1470) 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479
+ (1480) 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489
+ (1490) 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
+ (1500) 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509
+ (1510) 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519
+ (1520) 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529
+ (1530) 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539
+ (1540) 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549
+ (1550) 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559
+ (1560) 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569
+ (1570) 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579
+ (1580) 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589
+ (1590) 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599
+ (1600) 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609
+ (1610) 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619
+ (1620) 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629
+ (1630) 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639
+ (1640) 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649
+ (1650) 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659
+ (1660) 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669
+ (1670) 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679
+ (1680) 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689
+ (1690) 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699
+ (1700) 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709
+ (1710) 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719
+ (1720) 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729
+ (1730) 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
+ (1740) 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749
+ (1750) 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759
+ (1760) 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769
+ (1770) 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779
+ (1780) 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789
+ (1790) 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799
+ (1800) 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809
+ (1810) 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819
+ (1820) 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829
+ (1830) 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839
+ (1840) 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849
+ (1850) 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859
+ (1860) 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869
+ (1870) 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879
+ (1880) 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889
+ (1890) 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899
+ (1900) 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
+ (1910) 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919
+ (1920) 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929
+ (1930) 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939
+ (1940) 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949
+ (1950) 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959
+ (1960) 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
+ (1970) 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
+ (1980) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
+ (1990) 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
+ (2000) 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+ (2010) 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
+ (2020) 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
+ (2030) 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039
+ (2040) 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049
+ (2050) 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059
+ (2060) 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069
+ (2070) 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079
+ (2080) 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089
+ (2090) 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
+ string single_string attr = "A single string attribute"
+ char*[] three_strings attr = {"X", "Yy", "ZzZ"}
+ integer single_int attr = 5
+ double single_double attr = 5.55555
+ integer five_ints attr = {5, 4, 3, 2, 1}
+ double five_double attr = {5.55555, 4.4444, 3.333, 2.22, 1.1}
diff --git a/tests/suite/reference/no_xml_write_byid_f_bpls.txt b/tests/suite/reference/no_xml_write_byid_f_bpls.txt
index be11b59..1185625 100644
--- a/tests/suite/reference/no_xml_write_byid_f_bpls.txt
+++ b/tests/suite/reference/no_xml_write_byid_f_bpls.txt
@@ -1,25 +1,31 @@
File info:
of groups: 1
of variables: 1
- of attributes: 0
+ of attributes: 6
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- double temperature {140} = 0 / 139 / 69.5 / 40.4135
- ( 0) 0 1 2 3 4 5 6 7 8 9
- ( 10) 10 11 12 13 14 15 16 17 18 19
- ( 20) 20 21 22 23 24 25 26 27 28 29
- ( 30) 30 31 32 33 34 35 36 37 38 39
- ( 40) 40 41 42 43 44 45 46 47 48 49
- ( 50) 50 51 52 53 54 55 56 57 58 59
- ( 60) 60 61 62 63 64 65 66 67 68 69
- ( 70) 70 71 72 73 74 75 76 77 78 79
- ( 80) 80 81 82 83 84 85 86 87 88 89
- ( 90) 90 91 92 93 94 95 96 97 98 99
- (100) 100 101 102 103 104 105 106 107 108 109
- (110) 110 111 112 113 114 115 116 117 118 119
- (120) 120 121 122 123 124 125 126 127 128 129
- (130) 130 131 132 133 134 135 136 137 138 139
+ double temperature {140} = 0 / 139 / 69.5 / 40.4135
+ ( 0) 0 1 2 3 4 5 6 7 8 9
+ ( 10) 10 11 12 13 14 15 16 17 18 19
+ ( 20) 20 21 22 23 24 25 26 27 28 29
+ ( 30) 30 31 32 33 34 35 36 37 38 39
+ ( 40) 40 41 42 43 44 45 46 47 48 49
+ ( 50) 50 51 52 53 54 55 56 57 58 59
+ ( 60) 60 61 62 63 64 65 66 67 68 69
+ ( 70) 70 71 72 73 74 75 76 77 78 79
+ ( 80) 80 81 82 83 84 85 86 87 88 89
+ ( 90) 90 91 92 93 94 95 96 97 98 99
+ (100) 100 101 102 103 104 105 106 107 108 109
+ (110) 110 111 112 113 114 115 116 117 118 119
+ (120) 120 121 122 123 124 125 126 127 128 129
+ (130) 130 131 132 133 134 135 136 137 138 139
+ string single_string attr = "A single string attribute"
+ char*[] three_strings attr = {"X", "Yy", "ZzZ"}
+ integer single_int attr = 5
+ double single_double attr = 5.55555
+ integer five_ints attr = {5, 4, 3, 2, 1}
+ double five_double attr = {5.55555, 4.4444, 3.333, 2.22, 1.1}
diff --git a/tests/suite/reference/scalars_write_bpls.txt b/tests/suite/reference/scalars_write_bpls.txt
index 3eb07e8..7bb3998 100644
--- a/tests/suite/reference/scalars_write_bpls.txt
+++ b/tests/suite/reference/scalars_write_bpls.txt
@@ -4,19 +4,19 @@ File info:
of attributes: 0
of meshes: 0
time steps: 0 - 0
- bp version: 2
+ bp version: 3
statistics: Min / Max / Avg / Std_dev
- byte var_byte scalar = -4
- short var_short scalar = -3
- integer var_int scalar = -2
- long long var_long scalar = -1
- unsigned byte var_ubyte scalar = 1
- unsigned short var_ushort scalar = 2
- unsigned integer var_uint scalar = 3
- unsigned long long var_ulong scalar = 4
- real var_real scalar = 5
- double var_double scalar = 6
+ byte var_byte scalar = -4
+ short var_short scalar = -3
+ integer var_int scalar = -2
+ long long var_long scalar = -1
+ unsigned byte var_ubyte scalar = 1
+ unsigned short var_ushort scalar = 2
+ unsigned integer var_uint scalar = 3
+ unsigned long long var_ulong scalar = 4
+ real var_real scalar = 5
+ double var_double scalar = 6
string var_string scalar = "ADIOS example"
- complex var_complex scalar = (8,i9)
+ complex var_complex scalar = (8,i9)
double complex var_double_complex scalar = (10,i11)
diff --git a/tests/suite/reference/transforms_read_write_bpls.txt b/tests/suite/reference/transforms_read_write_bpls.txt
index 0a96d29..2bb4716 100644
--- a/tests/suite/reference/transforms_read_write_bpls.txt
+++ b/tests/suite/reference/transforms_read_write_bpls.txt
@@ -1,10 +1,12 @@
- integer l1 16*scalar = 1 / 1 / 1 / 0
- integer l2 16*scalar = 64 / 64 / 64 / 0
- integer o1 16*scalar = 0 / 15 / 7.5 / 4.60977
- integer o2 16*scalar = 0 / 0 / 0 / 0
- integer g1 16*scalar = 16 / 16 / 16 / 0
- integer g2 16*scalar = 64 / 64 / 64 / 0
- double t_none 16*{16, 64} = 0 / 1038 / 519 / 295.639
- double t_identity 16*{16, 64} = 0 / 1038 / 519 / 295.639
- double t_aplod 16*{16, 64} = 0 / 1038 / 519 / 295.639
- double t_isobar 16*{16, 64} = 0 / 1038 / 519 / 295.639
+ integer l1 16*scalar = 1 / 1 / 1 / 0
+ integer l2 16*scalar = 64 / 64 / 64 / 0
+ integer o1 16*scalar = 0 / 15 / 7.5 / 4.60977
+ integer o2 16*scalar = 0 / 0 / 0 / 0
+ integer g1 16*scalar = 16 / 16 / 16 / 0
+ integer g2 16*scalar = 64 / 64 / 64 / 0
+ double t_none 16*{16, 64} = 0 / 1038 / 519 / 295.639
+ double t_identity 16*{16, 64} = 0 / 1038 / 519 / 295.639
+ double t_zlib 16*{16, 64} = 0 / 1038 / 519 / 295.639
+ double t_bzip2 16*{16, 64} = 0 / 1038 / 519 / 295.639
+ double t_aplod 16*{16, 64} = 0 / 1038 / 519 / 295.639
+ double t_isobar 16*{16, 64} = 0 / 1038 / 519 / 295.639
diff --git a/tests/suite/test.sh b/tests/suite/test.sh
index 4e8342f..95ff3fe 100755
--- a/tests/suite/test.sh
+++ b/tests/suite/test.sh
@@ -11,13 +11,13 @@
# default values
XXX=`which aprun &>/dev/null`
-if [ $? == 0 ]; then
- MPIRUN="aprun -q"
- NP_MPIRUN=-n
-else
+#if [ $? == 0 ]; then
+# MPIRUN="aprun -q"
+# NP_MPIRUN=-n
+#else
MPIRUN=mpirun
NP_MPIRUN=-np
-fi
+#fi
KEEPOUTPUT=no
MAXPROCS=128
@@ -88,8 +88,7 @@ if [ "${SRCDIR:0:1}" != "/" ]; then
fi
# check if Fortran codes were built
-S=`grep BUILD_FORTRAN_TRUE $SRCDIR/$TRUNKDISTANCE/Makefile`
-if [ -z ${S#BUILD_FORTRAN_TRUE = } ]; then
+if [ -f $SRCDIR/$TRUNKDISTANCE/src/libadiosf.a ]; then
HAVE_FORTRAN=yes
else
echo "WARNING: Fortran binaries are not built, so test will not use them"
diff --git a/tests/suite/tests/01_scalars.sh b/tests/suite/tests/01_scalars.sh
index 0bd2fec..bd67b7c 100755
--- a/tests/suite/tests/01_scalars.sh
+++ b/tests/suite/tests/01_scalars.sh
@@ -20,33 +20,33 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/scalars/scalars_read .
-cp $TRUNKDIR/examples/C/scalars/scalars_write .
-cp $TRUNKDIR/examples/C/scalars/scalars.xml .
+cp $SRCDIR/programs/examples/scalars/scalars_read_C .
+cp $SRCDIR/programs/examples/scalars/scalars_write_C .
+cp $SRCDIR/programs/examples/scalars/scalars_C.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
echo "Run C scalars_write"
-echo $MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_write
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_write
+echo $MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_write_C
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_write_C
EX=$?
-if [ ! -f scalars.bp ]; then
+if [ ! -f scalars_C.bp ]; then
echo "ERROR: C version of scalars_write failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav scalars.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav scalars_C.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
diff -q c_bpls.txt $SRCDIR/reference/scalars_write_bpls.txt
if [ $? != 0 ]; then
echo "ERROR: C version of scalars_write produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/scalars.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/scalars_write_bpls.txt"
+ echo "Compare \"bpls -lav $PWD/scalars_C.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/scalars_write_bpls.txt"
exit 1
fi
echo "Run C scalars_read"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_read > c_read.txt
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_read_C > c_read.txt
EX=$?
if [ $? != 0 ]; then
echo "ERROR: C version of scalars_read failed with exit code $EX"
@@ -65,34 +65,32 @@ if [ $HAVE_FORTRAN != yes ]; then
fi
# run the Fortran tests too if available
-mv scalars.xml scalars_c.xml
-mv scalars.bp scalars_c.bp
-cp $TRUNKDIR/examples/Fortran/scalars/scalars_read fortran_read
-cp $TRUNKDIR/examples/Fortran/scalars/scalars_write fortran_write
-cp $TRUNKDIR/examples/Fortran/scalars/scalars.xml .
+cp $SRCDIR/programs/examples/scalars/scalars_read_F .
+cp $SRCDIR/programs/examples/scalars/scalars_write_F .
+cp $SRCDIR/programs/examples/scalars/scalars_F.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
echo "Run Fortran scalar_write"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./fortran_write
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_write_F
EX=$?
-if [ ! -f scalars.bp ]; then
+if [ ! -f scalars_F.bp ]; then
echo "ERROR: Fortran version of scalars_write failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav scalars.bp | grep -v -e endianness -e 'file size' > f_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav scalars_F.bp | grep -v -e endianness -e 'file size' > f_bpls.txt
diff -q f_bpls.txt $SRCDIR/reference/scalars_write_bpls.txt
if [ $? != 0 ]; then
echo "ERROR: Fortran version of scalars_write produced a file different from the reference"
- echo "Compare \"bpls -lav scalars.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/scalars_write_bpls.txt"
+ echo "Compare \"bpls -lav scalars_F.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/scalars_write_bpls.txt"
exit 1
fi
echo "Run Fortran scalars_read"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./fortran_read > f_read.txt
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./scalars_read_F > f_read.txt
EX=$?
if [ $? != 0 ]; then
echo "ERROR: Fortran version of scalars_read failed with exit code $EX"
diff --git a/tests/suite/tests/02_attributes.sh b/tests/suite/tests/02_attributes.sh
index 7cb1204..b7492a2 100755
--- a/tests/suite/tests/02_attributes.sh
+++ b/tests/suite/tests/02_attributes.sh
@@ -20,41 +20,42 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/attributes/attributes_read .
-cp $TRUNKDIR/examples/C/attributes/attributes_write .
-cp $TRUNKDIR/examples/C/attributes/attributes.xml .
+cp $SRCDIR/programs/examples/attributes/attributes_read_C .
+cp $SRCDIR/programs/examples/attributes/attributes_write_C .
+cp $SRCDIR/programs/examples/attributes/attributes_C.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
-echo "Run C attributes_write"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./attributes_write
+echo "Run C attributes_write_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./attributes_write_C
EX=$?
-if [ ! -f attributes.bp ]; then
- echo "ERROR: C version of attributes_write failed. No BP file is created. Exit code=$EX"
+if [ ! -f attributes_C.bp ]; then
+ echo "ERROR: attributes_write_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav attributes.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav attributes_C.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
diff -q c_bpls.txt $SRCDIR/reference/attributes_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of attributes_write produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/attributes.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/attributes_bpls.txt"
+ echo "ERROR: attributes_write_C produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/attributes_C.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/attributes_bpls.txt"
exit 1
fi
-echo "Run C attributes_read"
-$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./attributes_read | sort > c_read.txt
+echo "Run C attributes_read_C"
+$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./attributes_read_C
EX=$?
if [ $? != 0 ]; then
- echo "ERROR: C version of attributes_read failed with exit code $EX"
+ echo "ERROR: attributes_read_C failed with exit code $EX"
exit 1
fi
echo "Check output"
+cat log_read_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read.txt
diff -q c_read.txt $SRCDIR/reference/attributes_read.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of attributes_read produced an output different from the reference."
+ echo "ERROR: attributes_read_C produced an output different from the reference."
echo "Compare $PWD/c_read.txt reference $SRCDIR/reference/attributes_read.txt"
exit 1
fi
diff --git a/tests/suite/tests/03_arrays.sh b/tests/suite/tests/03_arrays.sh
index fd8011c..c398349 100755
--- a/tests/suite/tests/03_arrays.sh
+++ b/tests/suite/tests/03_arrays.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
-# Test if adios can write and read arrays correctly
-# Uses codes from examples/C/arrays
+# Test if adios can write and read local_array_C correctly
+# Uses codes from examples/C/local_array_C
#
# Environment variables set by caller:
# MPIRUN Run command
@@ -19,42 +19,44 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/arrays/arrays_read .
-cp $TRUNKDIR/examples/C/arrays/arrays_write .
-cp $TRUNKDIR/examples/C/arrays/arrays.xml .
+cp $SRCDIR/programs/examples/local_array/local_array_write_C .
+cp $SRCDIR/programs/examples/local_array/local_array_read_C .
+cp $SRCDIR/programs/examples/local_array/local_array_C.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
-echo "Run C arrays_write"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./arrays_write
+echo "Run C local_array_write_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./local_array_write_C
EX=$?
-if [ ! -f arrays.bp ]; then
- echo "ERROR: C version of arrays_write failed. No BP file is created. Exit code=$EX"
+if [ ! -f local_array_C.bp ]; then
+ echo "ERROR: C version of local_array_write_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav arrays.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
-diff -q c_bpls.txt $SRCDIR/reference/arrays_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav local_array_C.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
+diff -q c_bpls.txt $SRCDIR/reference/local_array_C_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of arrays_write produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/arrays.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/arrays_bpls.txt"
+ echo "ERROR: C version of local_array_write_C produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/local_array_C.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/local_array_C_bpls.txt"
exit 1
fi
-echo "Run C arrays_read"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./arrays_read | sort > c_read.txt
+echo "Run C local_array_read_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./local_array_read_C
EX=$?
if [ $? != 0 ]; then
- echo "ERROR: C version of arrays_read failed with exit code $EX"
+ echo "ERROR: C version of local_array_read_C failed with exit code $EX"
exit 1
fi
+
echo "Check output"
-diff -q c_read.txt $SRCDIR/reference/arrays_read.txt
+cat log_read_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read.txt
+diff -q c_read.txt $SRCDIR/reference/local_array_C_read.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of arrays_read produced an output different from the reference."
- echo "Compare $PWD/c_read.txt reference $SRCDIR/reference/arrays_read.txt"
+ echo "ERROR: C version of local_array_read_C produced an output different from the reference."
+ echo "Compare $PWD/c_read.txt reference $SRCDIR/reference/local_array_C_read.txt"
exit 1
fi
diff --git a/tests/suite/tests/04_global_array.sh b/tests/suite/tests/04_global_array.sh
index 3398d45..6872ae6 100755
--- a/tests/suite/tests/04_global_array.sh
+++ b/tests/suite/tests/04_global_array.sh
@@ -20,43 +20,44 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/global-array/adios_global .
-cp $TRUNKDIR/examples/C/global-array/adios_read_global .
-cp $TRUNKDIR/examples/C/global-array/adios_global.xml .
+cp $SRCDIR/programs/examples/global_array/global_array_write_C .
+cp $SRCDIR/programs/examples/global_array/global_array_read_C .
+cp $SRCDIR/programs/examples/global_array/global_array_C.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
-echo "Run C adios_global"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_global
+echo "Run C global_array_write_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_C
EX=$?
-if [ ! -f adios_global.bp ]; then
- echo "ERROR: C version of adios_global failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_C.bp ]; then
+ echo "ERROR: global_array_write_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -la adios_global.bp -d -n 10 | grep -v -e endianness -e 'file size' > c_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -la global_array_C.bp -d -n 10 | grep -v -e endianness -e 'file size' > c_bpls.txt
diff -q c_bpls.txt $SRCDIR/reference/global_array_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_global produced a file different from the reference."
- echo "Compare \"bpls -la $PWD/adios_global.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_bpls.txt"
+ echo "ERROR: global_array_write_C produced a file different from the reference."
+ echo "Compare \"bpls -la $PWD/global_array_C.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_bpls.txt"
exit 1
fi
-echo "Run C adios_read_global"
-$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./adios_read_global | sort > c_read.txt
+echo "Run C global_array_read_C"
+$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./global_array_read_C
EX=$?
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_read_global exited with $EX"
- echo "Check $PWD/c_read.txt"
+ echo "ERROR: global_array_read_C exited with $EX"
+ echo "Check $PWD/log_read_C.* for each process' output"
exit 1
fi
echo "Check output"
+cat log_read_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read.txt
diff -q c_read.txt $SRCDIR/reference/global_array_read.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_read_global produced a file different from the reference."
+ echo "ERROR: global_array_read_C produced a file different from the reference."
echo "$PWD/c_read.txt to reference $SRCDIR/reference/global_array_read.txt"
exit 1
fi
@@ -67,28 +68,26 @@ if [ $HAVE_FORTRAN != yes ]; then
fi
# run the Fortran tests too if available
-mv adios_global.xml adios_global_c.xml
-mv adios_global.bp adios_global_c.bp
-cp $TRUNKDIR/examples/Fortran/global-array/adios_global adios_global_f
-cp $TRUNKDIR/examples/Fortran/global-array/adios_global.xml .
+cp $SRCDIR/programs/examples/global_array/global_array_write_F .
+cp $SRCDIR/programs/examples/global_array/global_array_F.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
-echo "Run Fortran adios_global_f"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_global_f
+echo "Run Fortran global_array_write_F"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_F
EX=$?
-if [ ! -f adios_global.bp ]; then
- echo "ERROR: Fortran version of adios_global failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_F.bp ]; then
+ echo "ERROR: global_array_write_F failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -la adios_global.bp -d -n 10 | grep -v -e endianness -e 'file size' > f_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -la global_array_F.bp -d -n 10 | grep -v -e endianness -e 'file size' > f_bpls.txt
diff -q f_bpls.txt $SRCDIR/reference/global_array_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: Fortran version of adios_global produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/adios_global.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_bpls.txt"
+ echo "ERROR: global_array_write_F produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/global_array_F.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_bpls.txt"
exit 1
fi
diff --git a/tests/suite/tests/05_global_array_time.sh b/tests/suite/tests/05_global_array_time.sh
index 7e37b08..0227c92 100755
--- a/tests/suite/tests/05_global_array_time.sh
+++ b/tests/suite/tests/05_global_array_time.sh
@@ -19,43 +19,65 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/global-array-time/adios_globaltime .
-cp $TRUNKDIR/examples/C/global-array-time/adios_read_globaltime .
-cp $TRUNKDIR/examples/C/global-array-time/adios_globaltime.xml .
+cp $SRCDIR/programs/examples/global_array_time/global_array_time_write_C .
+cp $SRCDIR/programs/examples/global_array_time/global_array_time_read_as_file_C .
+cp $SRCDIR/programs/examples/global_array_time/global_array_time_read_as_stream_C .
+cp $SRCDIR/programs/examples/global_array_time/global_array_time_C.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
-echo "Run C adios_globaltime"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_globaltime
+echo "Run C global_array_time_write_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_time_write_C
EX=$?
-if [ ! -f adios_globaltime.bp ]; then
- echo "ERROR: C version of adios_globaltime failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_time_C.bp ]; then
+ echo "ERROR: global_array_time_write_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -la adios_globaltime.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -la global_array_time_C.bp | grep -v -e endianness -e 'file size' > c_bpls.txt
diff -q c_bpls.txt $SRCDIR/reference/global_array_time_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_globaltime produced a file different from the reference."
- echo "Compare \"bpls -la $PWD/adios_globaltime.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_time_bpls.txt"
+ echo "ERROR: global_array_time_write_C produced a file different from the reference."
+ echo "Compare \"bpls -la $PWD/global_array_time_C.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_time_bpls.txt"
fi
-echo "Run C adios_read_globaltime"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_read_globaltime > c_read.txt
+###################################################
+echo "Run C global_array_time_read_as_file_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_time_read_as_file_C
EX=$?
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_read_globaltime exited with $EX"
- echo "Check $PWD/c_read.txt"
+ echo "ERROR: global_array_time_read_as_file_C exited with $EX"
+ echo "Check $PWD/c_read_as_file.txt"
exit 1
fi
echo "Check output"
-diff -q c_read.txt $SRCDIR/reference/global_array_time_read.txt
+cat log_read_as_file_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read_as_file.txt
+diff -q c_read_as_file.txt $SRCDIR/reference/global_array_time_read_as_file.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_read_globaltime produced a file different from the reference."
- echo "$PWD/c_read.txt to reference $SRCDIR/reference/global_array_time_read.txt"
+ echo "ERROR: global_array_time_read_as_file_C produced a file different from the reference."
+ echo "$PWD/c_read_as_file.txt to reference $SRCDIR/reference/global_array_time_read_as_file.txt"
+ exit 1
+fi
+
+###################################################
+echo "Run C global_array_time_read_as_stream_C"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_time_read_as_stream_C > c_read_as_stream.txt
+EX=$?
+if [ $? != 0 ]; then
+ echo "ERROR: global_array_time_read_as_stream_C exited with $EX"
+ echo "Check $PWD/c_read_as_stream.txt"
+ exit 1
+fi
+
+echo "Check output"
+cat log_read_as_stream_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read_as_stream.txt
+diff -q c_read_as_stream.txt $SRCDIR/reference/global_array_time_read_as_stream.txt
+if [ $? != 0 ]; then
+ echo "ERROR: global_array_time_read_as_stream_C produced a stream different from the reference."
+ echo "$PWD/c_read_as_stream.txt to reference $SRCDIR/reference/global_array_time_read_as_stream.txt"
exit 1
fi
@@ -63,30 +85,29 @@ fi
if [ $HAVE_FORTRAN != yes ]; then
exit 0
fi
+###################################################
# run the Fortran tests too if available
-mv adios_globaltime.xml adios_globaltime_c.xml
-mv adios_globaltime.bp adios_globaltime_c.bp
-cp $TRUNKDIR/examples/Fortran/global-array-time/adios_globaltime adios_globaltime_f
-cp $TRUNKDIR/examples/Fortran/global-array-time/adios_globaltime.xml .
+cp $SRCDIR/programs/examples/global_array_time/global_array_time_write_F .
+cp $SRCDIR/programs/examples/global_array_time/global_array_time_F.xml .
# Insert transform=X if requested by user
add_transform_to_xmls
-echo "Run Fortran adios_globaltime_f"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_globaltime_f
+echo "Run Fortran global_array_time_write_F"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_time_write_F
EX=$?
-if [ ! -f adios_globaltime.bp ]; then
- echo "ERROR: Fortran version of adios_globaltime failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_time_F.bp ]; then
+ echo "ERROR: Fortran version of global_array_time_write_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -la adios_globaltime.bp | grep -v -e endianness -e 'file size' > f_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -la global_array_time_F.bp | grep -v -e endianness -e 'file size' > f_bpls.txt
diff -q f_bpls.txt $SRCDIR/reference/global_array_time_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: Fortran version of adios_globaltime produced a file different from the reference."
- echo "Compare \"bpls -la $PWD/adios_globaltime.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_time_bpls.txt"
+ echo "ERROR: global_array_time_write_F produced a file different from the reference."
+ echo "Compare \"bpls -la $PWD/global_array_time_F.bp | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_time_bpls.txt"
exit 1
fi
diff --git a/tests/suite/tests/07_global_array_no_xml.sh b/tests/suite/tests/07_global_array_no_xml.sh
index e8b3125..9f3d556 100755
--- a/tests/suite/tests/07_global_array_no_xml.sh
+++ b/tests/suite/tests/07_global_array_no_xml.sh
@@ -20,41 +20,42 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/global-array/adios_global_no_xml .
-cp $TRUNKDIR/examples/C/global-array/adios_read_global_no_xml .
+cp $SRCDIR/programs/examples/global_array/global_array_write_noxml_C .
+cp $SRCDIR/programs/examples/global_array/global_array_read_noxml_C .
-echo "Run C adios_global_no_xml"
-ls -l ./adios_global_no_xml
-echo $MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_global_no_xml
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_global_no_xml
+echo "Run C global_array_write_noxml_C"
+echo $MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_noxml_C
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_noxml_C
EX=$?
-if [ ! -f adios_global_no_xml.bp ]; then
- echo "ERROR: C version of adios_global_no_xml failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_noxml_C.bp ]; then
+ echo "ERROR: global_array_write_noxml_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav adios_global_no_xml.bp -d -n 10 | grep -v -e endianness -e 'file size' > c_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav global_array_noxml_C.bp -d -n 10 | grep -v -e endianness -e 'file size' > c_bpls.txt
diff -q c_bpls.txt $SRCDIR/reference/global_array_no_xml_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_global_no_xml produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/adios_global_no_xml.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_no_xml_bpls.txt"
+ echo "ERROR: global_array_write_noxml_C produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/global_array_noxml_C.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_no_xml_bpls.txt"
exit 1
fi
-echo "Run C adios_read_global_no_xml"
-$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./adios_read_global_no_xml > c_read.txt
+echo "Run C global_array_read_noxml_C"
+echo $MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./global_array_read_noxml_C
+$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./global_array_read_noxml_C
EX=$?
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_read_global_no_xml exited with $EX"
- echo "Check $PWD/c_read.txt"
+ echo "ERROR: global_array_read_noxml_C exited with $EX"
+ echo "Check $PWD/log_read_noxml.* files."
exit 1
fi
echo "Check output"
+cat log_read_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read.txt
diff -q c_read.txt $SRCDIR/reference/global_array_no_xml_read.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of adios_read_global produced a file different from the reference."
+ echo "ERROR: global_array_read_noxml_C produced a file different from the reference."
echo "$PWD/c_read.txt to reference $SRCDIR/reference/global_array_no_xml_read.txt"
exit 1
fi
@@ -65,27 +66,22 @@ if [ $HAVE_FORTRAN != yes ]; then
fi
# run the Fortran tests too if available
-mv adios_global_no_xml.bp adios_global_no_xml_c.bp
-cp $TRUNKDIR/examples/Fortran/global-array/adios_global_no_xml adios_global_f
-cp $TRUNKDIR/examples/Fortran/global-array/adios_global.xml .
-
-# Insert transform=X if requested by user
-add_transform_to_xmls
+cp $SRCDIR/programs/examples/global_array/global_array_write_noxml_F .
echo "Run Fortran adios_global_f"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_global_f
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_noxml_F
EX=$?
-if [ ! -f adios_global_no_xml.bp ]; then
- echo "ERROR: Fortran version of adios_global failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_noxml_F.bp ]; then
+ echo "ERROR: global_array_write_noxml_F failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav adios_global_no_xml.bp -d -n 10 | grep -v -e endianness -e 'file size' > f_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav global_array_noxml_F.bp -d -n 10 | grep -v -e endianness -e 'file size' > f_bpls.txt
diff -q f_bpls.txt $SRCDIR/reference/global_array_no_xml_f_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: Fortran version of adios_global produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/adios_global_no_xml.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_no_xml_f_bpls.txt"
+ echo "ERROR: global_array_write_noxml_F produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/global_array_F.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/global_array_no_xml_f_bpls.txt"
exit 1
fi
diff --git a/tests/suite/tests/08_amr_write_read.sh b/tests/suite/tests/08_amr_write_read.sh
index 76d3d8b..326e620 100755
--- a/tests/suite/tests/08_amr_write_read.sh
+++ b/tests/suite/tests/08_amr_write_read.sh
@@ -13,6 +13,10 @@
PROCS=32
READPROCS=4
+echo "WARNING: This test is turned off"
+exit 77 # not failure, just skip
+
+
if [ $MAXPROCS -lt $PROCS ]; then
echo "WARNING: Needs $PROCS processes at least"
exit 77 # not failure, just skip
diff --git a/tests/suite/tests/09_amr_write_read_2vars.sh b/tests/suite/tests/09_amr_write_read_2vars.sh
index 5147a13..27bd886 100755
--- a/tests/suite/tests/09_amr_write_read_2vars.sh
+++ b/tests/suite/tests/09_amr_write_read_2vars.sh
@@ -13,6 +13,9 @@
PROCS=32
READPROCS=4
+echo "WARNING: This test is turned off"
+exit 77 # not failure, just skip
+
if [ $MAXPROCS -lt $PROCS ]; then
echo "WARNING: Needs $PROCS processes at least"
exit 77 # not failure, just skip
diff --git a/tests/suite/tests/13_write_byid.sh b/tests/suite/tests/13_write_byid.sh
index e12e6f5..3a82d03 100755
--- a/tests/suite/tests/13_write_byid.sh
+++ b/tests/suite/tests/13_write_byid.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Test if adios can write and read global arrays over time correctly
-# Uses codes from examples/C/global-array and examples/Fortran/global-array
+# Uses codes from tests/suite/programs/examples/global_array
#
# Environment variables set by caller:
# MPIRUN Run command
@@ -20,41 +20,42 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/global-array/no_xml_write_byid .
-cp $TRUNKDIR/examples/C/global-array/read_no_xml_write_byid .
+cp $SRCDIR/programs/examples/global_array/global_array_write_byid_noxml_C .
+cp $SRCDIR/programs/examples/global_array/global_array_read_byid_noxml_C .
-echo "Run C no_xml_write_byid"
-ls -l ./no_xml_write_byid
-echo $MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./no_xml_write_byid
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./no_xml_write_byid
+echo "Run C global_array_write_byid_noxml_C"
+echo $MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_byid_noxml_C
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_byid_noxml_C
EX=$?
-if [ ! -f no_xml_write_byid.bp ]; then
- echo "ERROR: C version of no_xml_write_byid failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_byid_noxml_C.bp ]; then
+ echo "ERROR: global_array_write_byid_noxml_C failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav no_xml_write_byid.bp -d -n 10 | grep -v -e endianness -e 'file size' > c_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav global_array_byid_noxml_C.bp -d -n 10 | grep -v -e endianness -e 'file size' > c_bpls.txt
diff -q c_bpls.txt $SRCDIR/reference/no_xml_write_byid_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of no_xml_write_byid produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/no_xml_write_byid.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/no_xml_write_byid_bpls.txt"
+ echo "ERROR: global_array_write_byid_noxml_C produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/global_array_byid_noxml_C.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/no_xml_write_byid_bpls.txt"
exit 1
fi
-echo "Run C read_no_xml_write_byid"
-$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./read_no_xml_write_byid > c_read.txt
+echo "Run C global_array_read_byid_noxml_C"
+echo $MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./global_array_read_byid_noxml_C
+$MPIRUN $NP_MPIRUN $READPROCS $EXEOPT ./global_array_read_byid_noxml_C
EX=$?
if [ $? != 0 ]; then
- echo "ERROR: C version of read_no_xml_write_byid exited with $EX"
+ echo "ERROR: global_array_read_byid_noxml_C exited with $EX"
echo "Check $PWD/c_read.txt"
exit 1
fi
echo "Check output"
+cat log_read_C.[0-9]* | grep -F -v -e "DEBUG:" -e "INFO:" -e "WARN:" > c_read.txt
diff -q c_read.txt $SRCDIR/reference/no_xml_write_byid_read.txt
if [ $? != 0 ]; then
- echo "ERROR: C version of read_no_xml_write_byid produced a file different from the reference."
+ echo "ERROR: global_array_read_byid_noxml_C produced a file different from the reference."
echo "$PWD/c_read.txt to reference $SRCDIR/reference/no_xml_write_byid_read.txt"
exit 1
fi
@@ -65,23 +66,22 @@ if [ $HAVE_FORTRAN != yes ]; then
fi
# run the Fortran tests too if available
-mv no_xml_write_byid.bp no_xml_write_byid_c.bp
-cp $TRUNKDIR/examples/Fortran/global-array/no_xml_write_byid no_xml_write_byid_f
+cp $SRCDIR/programs/examples/global_array/global_array_write_byid_noxml_F .
-echo "Run Fortran no_xml_write_byid"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./no_xml_write_byid_f
+echo "Run Fortran global_array_write_noxml_F"
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_write_byid_noxml_F
EX=$?
-if [ ! -f no_xml_write_byid.bp ]; then
- echo "ERROR: Fortran version of no_xml_write_byid failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_byid_noxml_F.bp ]; then
+ echo "ERROR: global_array_write_noxml_F failed. No BP file is created. Exit code=$EX"
exit 1
fi
echo "Check output with bpls"
-$TRUNKDIR/utils/bpls/bpls -lav no_xml_write_byid.bp -d -n 10 | grep -v -e endianness -e 'file size' > f_bpls.txt
+$TRUNKDIR/utils/bpls/bpls -lav global_array_byid_noxml_F.bp -d -n 10 | grep -v -e endianness -e 'file size' > f_bpls.txt
diff -q f_bpls.txt $SRCDIR/reference/no_xml_write_byid_f_bpls.txt
if [ $? != 0 ]; then
- echo "ERROR: Fortran version of no_xml_write_byid produced a file different from the reference."
- echo "Compare \"bpls -lav $PWD/no_xml_write_byid.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/no_xml_write_byid_f_bpls.txt"
+ echo "ERROR: Fortran version of global_array_write_byid_noxml_F produced a file different from the reference."
+ echo "Compare \"bpls -lav $PWD/global_array_byid_noxml_F.bp -d -n 10 | grep -v -e endianness -e 'file size'\" to reference $SRCDIR/reference/no_xml_write_byid_f_bpls.txt"
exit 1
fi
diff --git a/tests/suite/tests/16_transform_write_read.sh b/tests/suite/tests/16_transform_write_read.sh
index 0d9e362..0e70e91 100755
--- a/tests/suite/tests/16_transform_write_read.sh
+++ b/tests/suite/tests/16_transform_write_read.sh
@@ -44,7 +44,7 @@ if [ $? != 0 ]; then
fi
rm c1.txt c2.txt
-for VAR in t_none t_identity t_aplod t_isobar
+for VAR in t_none t_identity t_aplod t_isobar t_zlib t_bzip2
do
echo " $VAR"
grep "$VAR" ${TEST_NAME}_bpls.txt > c1.txt
diff --git a/tests/suite/tests/18_aggregation_by_color.sh b/tests/suite/tests/18_aggregation_by_color.sh
index d1b6365..03d5d00 100755
--- a/tests/suite/tests/18_aggregation_by_color.sh
+++ b/tests/suite/tests/18_aggregation_by_color.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Test if adios aggregates data by color properly.
-# Uses the example code from examples/C/global-array/adios_global_aggregate_by_color
+# Uses the example code from programs/examples/global_array/global_array_aggregate_by_color_C
#
# Environment variables set by caller:
# MPIRUN Run command
@@ -20,14 +20,14 @@ if [ $MAXPROCS -lt $PROCS ]; then
fi
# copy codes and inputs to .
-cp $TRUNKDIR/examples/C/global-array/adios_global_aggregate_by_color .
+cp $SRCDIR/programs/examples/global_array/global_array_aggregate_by_color_C .
echo "Run C adios_global_aggregate_by_color"
-$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./adios_global_aggregate_by_color
+$MPIRUN $NP_MPIRUN $PROCS $EXEOPT ./global_array_aggregate_by_color_C
EX=$?
-if [ ! -f adios_global_aggregate_by_color.bp ] \
-|| [! -f adios_global_aggregate_by_color.bp.dir/adios_global_aggregate_by_color.bp.0 ] \
-|| [! -f adios_global_aggregate_by_color.bp.dir/adios_global_aggregate_by_color.bp.1 ]; then
- echo "ERROR: adios_global_aggregate_by_color failed. No BP file is created. Exit code=$EX"
+if [ ! -f global_array_aggregate_by_color_C.bp ] \
+|| [! -f global_array_aggregate_by_color_C.bp.dir/global_array_aggregate_by_color_C.bp.0 ] \
+|| [! -f global_array_aggregate_by_color_C.bp.dir/global_array_aggregate_by_color_C.bp.1 ]; then
+ echo "ERROR: adios_global_aggregate_by_color failed. No BP file or subfiles are created. Exit code=$EX"
exit 1
fi
diff --git a/tests/suite/tests/19_query.sh b/tests/suite/tests/19_query.sh
index 7118c0b..b297976 100755
--- a/tests/suite/tests/19_query.sh
+++ b/tests/suite/tests/19_query.sh
@@ -175,7 +175,7 @@ function build_indexed_datasets_fastbit() {
invoke_dataset_builder "$DSID" "$DSOUTPUT" "none"
set -o xtrace
- $FASTBIT_INDEXER_EXE_LOCAL "$DSOUTPUT".bp "<binning precision=5/>"||
+ $MPIRUN_SERIAL $FASTBIT_INDEXER_EXE_LOCAL "$DSOUTPUT".bp "<binning precision=5/>"||
die "ERROR: $FASTBIT_INDEXER_EXE_LOCAL failed with exit code $?"
set +o xtrace
}
diff --git a/toolchain/cray/README.md b/toolchain/cray/README.md
index b591daa..c1cd133 100644
--- a/toolchain/cray/README.md
+++ b/toolchain/cray/README.md
@@ -10,6 +10,8 @@ A collection CMake code for use on various Cray supercomputing systems
* ToolChain: CMake cross-compiling toolchain files
* CrayPrgEnv-ToolChain.cmake: The Cray Programming Environment
+The toolchain was tested on Titan, eos and chester.
+
How to use it:
in ADIOS top source file
$mkdir build
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 72a1083..6939c14 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -4,6 +4,8 @@ add_subdirectory(bp2ascii)
add_subdirectory(bpsplit)
add_subdirectory(bpls)
add_subdirectory(bpdiff)
+add_subdirectory(bpmeta)
+add_subdirectory(bprecover)
add_subdirectory(list_methods)
if(BUILD_WRITE)
diff --git a/utils/Makefile.am b/utils/Makefile.am
index f564048..e6d7bb6 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS= gpp bpdump bp2ascii bpsplit bpls bpdiff skeldump list_methods bpmeta
+SUBDIRS= gpp bpdump bp2ascii bpsplit bpls bpdiff skeldump list_methods bpmeta bprecover
if BUILD_WRITE
SUBDIRS += adios_lint bp2bp
diff --git a/utils/Makefile.in b/utils/Makefile.in
index 3e1228a..6058f18 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -101,7 +101,8 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = gpp bpdump bp2ascii bpsplit bpls bpdiff skeldump \
- list_methods bpmeta adios_lint bp2bp fastbit bp2h5 bp2ncd skel
+ list_methods bpmeta bprecover adios_lint bp2bp fastbit bp2h5 \
+ bp2ncd skel
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -326,6 +327,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -384,7 +388,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = gpp bpdump bp2ascii bpsplit bpls bpdiff skeldump \
- list_methods bpmeta $(am__append_1) $(am__append_2) \
+ list_methods bpmeta bprecover $(am__append_1) $(am__append_2) \
$(am__append_3) $(am__append_4) skel
all: all-recursive
diff --git a/utils/adios_lint/CMakeLists.txt b/utils/adios_lint/CMakeLists.txt
index 784fb2f..c1d0353 100644
--- a/utils/adios_lint/CMakeLists.txt
+++ b/utils/adios_lint/CMakeLists.txt
@@ -2,7 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
include_directories(${PROJECT_SOURCE_DIR}/utils/adios_lint)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/adios_lint)
add_executable(adios_lint adios_lint.c)
diff --git a/utils/adios_lint/Makefile.am b/utils/adios_lint/Makefile.am
index a04ac86..ae642e4 100644
--- a/utils/adios_lint/Makefile.am
+++ b/utils/adios_lint/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/adios_lint/Makefile.in b/utils/adios_lint/Makefile.in
index 6a58967..527ce9a 100644
--- a/utils/adios_lint/Makefile.in
+++ b/utils/adios_lint/Makefile.in
@@ -310,6 +310,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -367,7 +370,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
adios_lint_SOURCES = adios_lint.c
diff --git a/utils/bp2ascii/CMakeLists.txt b/utils/bp2ascii/CMakeLists.txt
index 1557df5..2238db1 100644
--- a/utils/bp2ascii/CMakeLists.txt
+++ b/utils/bp2ascii/CMakeLists.txt
@@ -2,7 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/utils/bp2ascii)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bp2ascii)
add_executable(bp2ascii bp2ascii.c)
diff --git a/utils/bp2ascii/Makefile.am b/utils/bp2ascii/Makefile.am
index 2e6de81..5ea6185 100644
--- a/utils/bp2ascii/Makefile.am
+++ b/utils/bp2ascii/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bp2ascii/Makefile.in b/utils/bp2ascii/Makefile.in
index 9a650ca..6f708a6 100644
--- a/utils/bp2ascii/Makefile.in
+++ b/utils/bp2ascii/Makefile.in
@@ -308,6 +308,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -365,7 +368,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
bp2ascii_SOURCES = bp2ascii.c
diff --git a/utils/bp2ascii/bp2ascii.c b/utils/bp2ascii/bp2ascii.c
index 9bdb7d1..f2a2f72 100644
--- a/utils/bp2ascii/bp2ascii.c
+++ b/utils/bp2ascii/bp2ascii.c
@@ -98,7 +98,7 @@ int main (int argc, char ** argv)
adios_parse_index_offsets_v1 (b);
adios_posix_read_process_group_index (b);
- adios_parse_process_group_index_v1 (b, &pg_root);
+ adios_parse_process_group_index_v1 (b, &pg_root, NULL);
print_process_group_index (pg_root);
adios_posix_read_vars_index (b);
diff --git a/utils/bp2bp/CMakeLists.txt b/utils/bp2bp/CMakeLists.txt
index 733bb44..27d6211 100644
--- a/utils/bp2bp/CMakeLists.txt
+++ b/utils/bp2bp/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/utils/bp2bp)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bp2bp)
add_executable(bp2bp bp2bp.c)
diff --git a/utils/bp2bp/Makefile.am b/utils/bp2bp/Makefile.am
index 28884b0..26ef548 100644
--- a/utils/bp2bp/Makefile.am
+++ b/utils/bp2bp/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bp2bp/Makefile.in b/utils/bp2bp/Makefile.in
index c6da91e..2bdea12 100644
--- a/utils/bp2bp/Makefile.in
+++ b/utils/bp2bp/Makefile.in
@@ -309,6 +309,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -366,8 +369,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
bp2bp_SOURCES = bp2bp.c
bp2bp_CPPFLAGS = $(AM_CPPFLAGS) ${MACRODEFFLAG}ADIOS_USE_READ_API_1 $(ADIOSLIB_CPPFLAGS) $(ADIOSLIB_CFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS)
diff --git a/utils/bp2h5/CMakeLists.txt b/utils/bp2h5/CMakeLists.txt
index 09cfdde..03b8cc1 100644
--- a/utils/bp2h5/CMakeLists.txt
+++ b/utils/bp2h5/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/utils/bp2h5)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bp2h5)
add_executable(bp2h5 bp2h5.c)
diff --git a/utils/bp2h5/Makefile.am b/utils/bp2h5/Makefile.am
index a018f55..6872239 100644
--- a/utils/bp2h5/Makefile.am
+++ b/utils/bp2h5/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bp2h5/Makefile.in b/utils/bp2h5/Makefile.in
index 0a8b0e2..bb117d3 100644
--- a/utils/bp2h5/Makefile.in
+++ b/utils/bp2h5/Makefile.in
@@ -313,6 +313,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -370,8 +373,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
bp2h5_SOURCES = bp2h5.c
@USE_PARALLEL_COMPILER_FALSE at bp2h5_CPPFLAGS = $(AM_CPPFLAGS) ${MACRODEFFLAG}H5_USE_16_API ${MACRODEFFLAG}ADIOS_USE_READ_API_1 $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_SEQ_CPPFLAGS) $(ADIOSREADLIB_SEQ_CFLAGS) $(HDF5_CPPFLAGS)
diff --git a/utils/bp2ncd/CMakeLists.txt b/utils/bp2ncd/CMakeLists.txt
index 25e6eff..25d8cfe 100644
--- a/utils/bp2ncd/CMakeLists.txt
+++ b/utils/bp2ncd/CMakeLists.txt
@@ -2,7 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
include_directories(${PROJECT_SOURCE_DIR}/utils/bp2ncd)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bp2ncd)
add_executable(bp2ncd bp2ncd.c)
diff --git a/utils/bp2ncd/Makefile.am b/utils/bp2ncd/Makefile.am
index cda7870..5f80772 100644
--- a/utils/bp2ncd/Makefile.am
+++ b/utils/bp2ncd/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bp2ncd/Makefile.in b/utils/bp2ncd/Makefile.in
index 5dac3cb..773d0b6 100644
--- a/utils/bp2ncd/Makefile.in
+++ b/utils/bp2ncd/Makefile.in
@@ -312,6 +312,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -369,7 +372,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
bp2ncd_SOURCES = bp2ncd.c
diff --git a/utils/bp2ncd/bp2ncd.c b/utils/bp2ncd/bp2ncd.c
index 03b292c..349a231 100644
--- a/utils/bp2ncd/bp2ncd.c
+++ b/utils/bp2ncd/bp2ncd.c
@@ -248,7 +248,7 @@ int ncd_dataset (int ncid
enum ADIOS_FLAG time_flag;
while (dims) {
++maxrank;
- if (dims->dimension.time_index == adios_flag_yes) {
+ if (dims->dimension.is_time_index == adios_flag_yes) {
time_flag = adios_flag_yes;
time_dimrank = maxrank-1;
//fprintf(stderr, "Time dim rank = %d\n",time_dimrank);
@@ -377,7 +377,7 @@ int ncd_dataset (int ncid
else {
for (i = 0; i < var_dims_count; i++) {
if (var_dims [i].id == dims->dimension.var_id) {
- if (dims->dimension.time_index == adios_flag_yes) {
+ if (dims->dimension.is_time_index == adios_flag_yes) {
start_dims[rank] = var_dims[i].rank - 1;
time_index = var_dims[i].rank;
count_dims[rank] = 1;
@@ -455,7 +455,7 @@ int ncd_dataset (int ncid
count_dims[rank] = dims->dimension.rank;
start_dims[rank] =0;
ERR(retval);
- fprintf(stderr, "\t local[%d]: %d\n",rank,dims->dimension.rank);
+ fprintf(stderr, "\t local[%d]: %llu\n",rank,dims->dimension.rank);
}
}
if (dims)
@@ -723,7 +723,7 @@ int main (int argc, char ** argv)
adios_parse_index_offsets_v1 (b);
adios_posix_read_process_group_index (b);
- adios_parse_process_group_index_v1 (b, &pg_root);
+ adios_parse_process_group_index_v1 (b, &pg_root, NULL);
copy_buffer(b_0, b);
adios_posix_read_vars_index (b);
diff --git a/utils/bpdiff/CMakeLists.txt b/utils/bpdiff/CMakeLists.txt
index c58ad12..7541606 100644
--- a/utils/bpdiff/CMakeLists.txt
+++ b/utils/bpdiff/CMakeLists.txt
@@ -2,6 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/utils/bpdiff)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bpdiff)
add_executable(bpdiff bpdiff.c decompose_block.c utils.c)
diff --git a/utils/bpdiff/Makefile.am b/utils/bpdiff/Makefile.am
index 0034bf0..120e038 100644
--- a/utils/bpdiff/Makefile.am
+++ b/utils/bpdiff/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpdiff/Makefile.in b/utils/bpdiff/Makefile.in
index a0f438f..f98a04c 100644
--- a/utils/bpdiff/Makefile.in
+++ b/utils/bpdiff/Makefile.in
@@ -308,6 +308,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -365,8 +368,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
bpdiff_SOURCES = bpdiff.c decompose_block.c utils.c
bpdiff_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_CPPFLAGS) $(ADIOSREADLIB_CFLAGS)
diff --git a/utils/bpdump/CMakeLists.txt b/utils/bpdump/CMakeLists.txt
index b32dfbd..1fdf10c 100644
--- a/utils/bpdump/CMakeLists.txt
+++ b/utils/bpdump/CMakeLists.txt
@@ -1,7 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
include_directories(${PROJECT_SOURCE_DIR}/src/core/transforms)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
diff --git a/utils/bpdump/Makefile.am b/utils/bpdump/Makefile.am
index 5dffe4f..ee38e4d 100644
--- a/utils/bpdump/Makefile.am
+++ b/utils/bpdump/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpdump/Makefile.in b/utils/bpdump/Makefile.in
index 1634df9..6e4eeda 100644
--- a/utils/bpdump/Makefile.in
+++ b/utils/bpdump/Makefile.in
@@ -309,6 +309,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -366,7 +369,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core \
-I$(top_srcdir)/src/core/transforms
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpdump/bpdump.c b/utils/bpdump/bpdump.c
index c896ba7..f95df9d 100644
--- a/utils/bpdump/bpdump.c
+++ b/utils/bpdump/bpdump.c
@@ -61,6 +61,8 @@ void print_attributes_index
//const char * value_to_string (enum ADIOS_DATATYPES type, void * data);
const char * value_to_string_ptr (enum ADIOS_DATATYPES type, void * data, uint64_t element);
+int have_subfiles = 0; // global flag indicating if we variables are stored in subfiles (bpdump does not process subfiles)
+
int main (int argc, char ** argv)
{
char * filename;
@@ -112,6 +114,7 @@ int main (int argc, char ** argv)
dump.dump_var = 0;
}
+ have_subfiles = 0;
struct adios_bp_buffer_struct_v1 * b = 0;
uint32_t version = 0;
@@ -159,7 +162,7 @@ int main (int argc, char ** argv)
*/
adios_posix_read_process_group_index (b);
- adios_parse_process_group_index_v1 (b, &pg_root);
+ adios_parse_process_group_index_v1 (b, &pg_root, NULL);
print_process_group_index (pg_root);
printf (DIVIDER);
@@ -181,10 +184,27 @@ int main (int argc, char ** argv)
}
- uint64_t element_num = 1;
+ uint64_t pg_num = 0;
pg = pg_root;
while (pg)
{
+
+ pg_num++;
+ /* Avoid processing PG's whose offset is beyond the start of index (they are actually in subfiles) */
+ /* Note: only variables have subfile index, PG's don't so we need to be this indirect in the test */
+ if (pg->offset_in_file >= b->pg_index_offset)
+ {
+ printf ("Process Group %llu offset is beyond the footer.", pg_num);
+ if (have_subfiles) {
+ printf (" It is probably in a subfile but bpdump does not process subfiles.\n");
+ } else {
+ printf (" Since there are no subfiles, this probably means the BP file is corrupt.\n"
+ "offset=%llu footer starts at %llu\n", pg->offset_in_file, b->pg_index_offset);
+ }
+ pg = pg->next;
+ continue;
+ }
+
int var_dims_count = 0;
struct var_dim * var_dims = 0;
@@ -213,7 +233,7 @@ int main (int argc, char ** argv)
adios_posix_read_process_group (b);
adios_parse_process_group_header_v1 (b, &pg_header);
- print_process_group_header (element_num++, &pg_header);
+ print_process_group_header (pg_num, &pg_header);
//printf ("\tSize of group in fil: %llu bytes\n", b->read_pg_size);
adios_parse_vars_header_v1 (b, &vars_header);
@@ -561,7 +581,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
printf ("\t\t\tDim %d l:g:o: ", i++);
if (d->dimension.var_id == 0)
{
- if (d->dimension.time_index == adios_flag_yes)
+ if (d->dimension.is_time_index == adios_flag_yes)
{
printf ("TIME");
}
@@ -581,7 +601,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
{
if (d->global_dimension.var_id == 0)
{
- if (d->global_dimension.time_index == adios_flag_yes)
+ if (d->global_dimension.is_time_index == adios_flag_yes)
{
printf (":TIME");
}
@@ -596,7 +616,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
}
if (d->local_offset.var_id == 0)
{
- if (d->local_offset.time_index == adios_flag_yes)
+ if (d->local_offset.is_time_index == adios_flag_yes)
{
printf (":TIME");
}
@@ -898,7 +918,7 @@ void print_var_payload (struct adios_var_header_struct_v1 * var_header
}
else
{
- if (d->dimension.time_index == adios_flag_yes)
+ if (d->dimension.is_time_index == adios_flag_yes)
{
*dims_t = 1;
}
@@ -970,6 +990,7 @@ void print_attrs_header (
void print_attribute (struct adios_attribute_struct_v1 * attribute)
{
+ int i;
printf ("\t\tAttribute Name (ID): %s (%d)\n"
,attribute->name, attribute->id
);
@@ -981,10 +1002,20 @@ void print_attribute (struct adios_attribute_struct_v1 * attribute)
else
{
printf ("\t\tDatatype: %s\n", adios_type_to_string_int (attribute->type));
- printf ("\t\tValue: %s\n", bp_value_to_string (attribute->type
- ,attribute->value
- )
- );
+ printf ("\t\t# of elements: %d\n", attribute->nelems);
+ printf ("\t\tLength in bytes: %d\n", attribute->length);
+ char * p = (char *) attribute->value;
+ int elemsize = (int) adios_get_type_size (attribute->type, attribute->value);
+ if (attribute->nelems == 1) {
+ printf ("\t\tValue: %s\n", bp_value_to_string (attribute->type ,attribute->value));
+ } else {
+ printf ("\t\tValues: %s", bp_value_to_string (attribute->type, p));
+ for (i=1; i<attribute->nelems; i++) {
+ p += elemsize;
+ printf (", %s", bp_value_to_string (attribute->type, p));
+ }
+ printf ("\n");
+ }
}
}
@@ -1034,6 +1065,10 @@ void print_vars_index (struct adios_index_var_struct_v1 * vars_root)
printf ("\tFile Index(%d)", vars_root->characteristics [i].file_index);
printf ("\tTime Index(%d)", vars_root->characteristics [i].time_index);
+ if (vars_root->characteristics [i].file_index != (uint32_t)-1) {
+ have_subfiles = 1;
+ }
+
/* NCSU - Print min, max */
if (vars_root->type == adios_complex || vars_root->type == adios_double_complex)
{
@@ -1233,10 +1268,19 @@ void print_attributes_index
if (attrs_root->characteristics [i].value)
{
- printf ("\t\tValue(%s)", bp_value_to_string (attrs_root->type
- ,attrs_root->characteristics [i].value
- )
- );
+ if (attrs_root->nelems == 1) {
+ printf ("\t\tValue(%s)", bp_value_to_string (attrs_root->type, attrs_root->characteristics [i].value));
+ } else {
+ char * p = (char *) attrs_root->characteristics [i].value;
+ int elemsize = (int) adios_get_type_size (attrs_root->type, p);
+ int k;
+ printf ("\t\tValues(%s", bp_value_to_string (attrs_root->type, p));
+ for (k=1; k<attrs_root->nelems; k++) {
+ p += elemsize;
+ printf (", %s", bp_value_to_string (attrs_root->type, p));
+ }
+ printf (")\n");
+ }
}
if (attrs_root->characteristics [i].var_id)
{
diff --git a/utils/bpls/CMakeLists.txt b/utils/bpls/CMakeLists.txt
index 87ac92c..bd81356 100644
--- a/utils/bpls/CMakeLists.txt
+++ b/utils/bpls/CMakeLists.txt
@@ -2,6 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/utils/bpls)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
+include_directories(${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bpls)
add_executable(bpls bpls.c)
diff --git a/utils/bpls/Makefile.am b/utils/bpls/Makefile.am
index 45b899d..3bfbc3b 100644
--- a/utils/bpls/Makefile.am
+++ b/utils/bpls/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public
+AM_CPPFLAGS += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpls/Makefile.in b/utils/bpls/Makefile.in
index 3201874..9036460 100644
--- a/utils/bpls/Makefile.in
+++ b/utils/bpls/Makefile.in
@@ -307,6 +307,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -364,8 +367,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/public
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/public
AUTOMAKE_OPTIONS = no-dependencies
bpls_SOURCES = bpls.c
bpls_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSREADLIB_SEQ_CPPFLAGS) $(ADIOSREADLIB_SEQ_CFLAGS)
diff --git a/utils/bpls/bpls.c b/utils/bpls/bpls.c
index 3343d6b..165950c 100644
--- a/utils/bpls/bpls.c
+++ b/utils/bpls/bpls.c
@@ -560,7 +560,16 @@ int doList_group (ADIOS_FILE *fp)
// list (and print) attribute
if (readattrs || dump) {
fprintf(outf," attr = ");
- print_data(value, 0, vartype, false);
+ int type_size = adios_type_size (vartype, value);
+ int nelems = attrsize / type_size;
+ char *p = (char*)value;
+ if (nelems>1) fprintf(outf,"{");
+ for (i=0; i<nelems; i++) {
+ if (i>0) fprintf(outf,", ");
+ print_data(p, 0, vartype, false);
+ p += type_size;
+ }
+ if (nelems>1) fprintf(outf,"}");
fprintf(outf,"\n");
matches = false; // already printed
} else {
@@ -603,19 +612,19 @@ int doList_group (ADIOS_FILE *fp)
if(vartype == adios_complex || vartype == adios_double_complex) {
// force printing (double,double) here
print_data(vi->statistics->min, 0, adios_double_complex, false);
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
print_data(vi->statistics->max, 0, adios_double_complex, false);
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
print_data(vi->statistics->avg, 0, adios_double_complex, false);
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
print_data(vi->statistics->std_dev, 0, adios_double_complex, false);
} else {
print_data(vi->statistics->min, 0, vartype, false);
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
print_data(vi->statistics->max, 0, vartype, false);
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
print_data(vi->statistics->avg, 0, adios_double, false);
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
print_data(vi->statistics->std_dev, 0, adios_double, false);
}
@@ -1634,53 +1643,59 @@ int print_data(void *data, int item, enum ADIOS_DATATYPES adiosvartype, bool all
// print next data item
switch(adiosvartype) {
case adios_unsigned_byte:
- fprintf(outf,(f ? format : "%hhu "), ((unsigned char *) data)[item]);
+ fprintf(outf,(f ? format : "%hhu"), ((unsigned char *) data)[item]);
break;
case adios_byte:
- fprintf(outf,(f ? format : "%hhd "), ((signed char *) data)[item]);
+ fprintf(outf,(f ? format : "%hhd"), ((signed char *) data)[item]);
break;
+
case adios_string:
fprintf(outf,(f ? format : "\"%s\""), ((char *) data)+item);
break;
+ case adios_string_array:
+ // we expect one elemet of the array here
+ fprintf(outf,(f ? format : "\"%s\""), *((char **)data+item));
+ break;
+
case adios_unsigned_short:
- fprintf(outf,(f ? format : "%hu "), ((unsigned short *) data)[item]);
+ fprintf(outf,(f ? format : "%hu"), ((unsigned short *) data)[item]);
break;
case adios_short:
- fprintf(outf,(f ? format : "%hd "), ((signed short *) data)[item]);
+ fprintf(outf,(f ? format : "%hd"), ((signed short *) data)[item]);
break;
case adios_unsigned_integer:
- fprintf(outf,(f ? format : "%u "), ((unsigned int *) data)[item]);
+ fprintf(outf,(f ? format : "%u"), ((unsigned int *) data)[item]);
break;
case adios_integer:
- fprintf(outf,(f ? format : "%d "), ((signed int *) data)[item]);
+ fprintf(outf,(f ? format : "%d"), ((signed int *) data)[item]);
break;
case adios_unsigned_long:
- fprintf(outf,(f ? format : "%llu "), ((unsigned long long *) data)[item]);
+ fprintf(outf,(f ? format : "%llu"), ((unsigned long long *) data)[item]);
break;
case adios_long:
- fprintf(outf,(f ? format : "%lld "), ((signed long long *) data)[item]);
+ fprintf(outf,(f ? format : "%lld"), ((signed long long *) data)[item]);
break;
case adios_real:
- fprintf(outf,(f ? format : "%g "), ((float *) data)[item]);
+ fprintf(outf,(f ? format : "%g"), ((float *) data)[item]);
break;
case adios_double:
- fprintf(outf,(f ? format : "%g "), ((double *) data)[item]);
+ fprintf(outf,(f ? format : "%g"), ((double *) data)[item]);
break;
case adios_long_double:
- fprintf(outf,(f ? format : "%Lg "), ((long double *) data)[item]);
+ fprintf(outf,(f ? format : "%Lg"), ((long double *) data)[item]);
//fprintf(outf,(f ? format : "????????"));
break;
case adios_complex:
- fprintf(outf,(f ? format : "(%g,i%g) "), ((float *) data)[2*item], ((float *) data)[2*item+1]);
+ fprintf(outf,(f ? format : "(%g,i%g)"), ((float *) data)[2*item], ((float *) data)[2*item+1]);
break;
case adios_double_complex:
@@ -1746,6 +1761,8 @@ int print_dataset(void *data, enum ADIOS_DATATYPES adiosvartype,
if (nextcol == ncols) {
fprintf(outf,"\n");
nextcol = 0;
+ } else {
+ fprintf(outf," ");
}
// increment indices
@@ -1792,6 +1809,8 @@ void print_decomp(ADIOS_VARINFO *vi)
{
// arrays
int ndigits_nblocks;
+ int ndigits_procid;
+ int ndigits_time;
int ndigits_dims[32];
int blockid = 0;
for (k=0; k < vi->ndim; k++) {
@@ -1803,8 +1822,17 @@ void print_decomp(ADIOS_VARINFO *vi)
fprintf(outf, " step %*d: ", ndigits_nsteps, i);
fprintf(outf,"\n");
ndigits_nblocks = ndigits (vi->nblocks[i]-1);
+ ndigits_procid = ndigits (vi->blockinfo[blockid+vi->nblocks[i]-1].process_id);
+ ndigits_time = ndigits (vi->blockinfo[blockid+vi->nblocks[i]-1].time_index);
for (j=0; j < vi->nblocks[i]; j++) {
- fprintf(outf," block %*d: [", ndigits_nblocks, j);
+ if (verbose < 1) {
+ fprintf(outf," block %*d: [", ndigits_nblocks, j);
+ } else {
+ fprintf(outf," block %*d proc %*u time %*u: [",
+ ndigits_nblocks, j,
+ ndigits_procid, vi->blockinfo[blockid].process_id,
+ ndigits_time, vi->blockinfo[blockid].time_index);
+ }
for (k=0; k < vi->ndim; k++) {
if (vi->blockinfo[blockid].count[k]) {
fprintf(outf, "%*lld:%*lld",
@@ -1833,7 +1861,7 @@ void print_decomp(ADIOS_VARINFO *vi)
fprintf(outf,"N/A ");
}
- fprintf(outf,"/ ");
+ fprintf(outf," / ");
if (vi->statistics->blocks->maxs) {
if(vi->type == adios_complex || vi->type == adios_double_complex) {
print_data(vi->statistics->blocks->maxs[blockid], 0, adios_double_complex, false);
diff --git a/utils/bpmeta/CMakeLists.txt b/utils/bpmeta/CMakeLists.txt
index b51b2b5..2e1e758 100644
--- a/utils/bpmeta/CMakeLists.txt
+++ b/utils/bpmeta/CMakeLists.txt
@@ -1,7 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
include_directories(${PROJECT_SOURCE_DIR}/src/core/transforms)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
diff --git a/utils/bpmeta/Makefile.am b/utils/bpmeta/Makefile.am
index ad37b0d..2648764 100644
--- a/utils/bpmeta/Makefile.am
+++ b/utils/bpmeta/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpmeta/Makefile.in b/utils/bpmeta/Makefile.in
index d457b7f..185a01a 100644
--- a/utils/bpmeta/Makefile.in
+++ b/utils/bpmeta/Makefile.in
@@ -309,6 +309,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -366,7 +369,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core \
-I$(top_srcdir)/src/core/transforms
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpmeta/bpmeta.c b/utils/bpmeta/bpmeta.c
index ef8dddc..cc3cb8a 100644
--- a/utils/bpmeta/bpmeta.c
+++ b/utils/bpmeta/bpmeta.c
@@ -206,7 +206,7 @@ int main (int argc, char ** argv)
}
if (verbose)
printf ("Process subfiles from %d to %d with thread %d\n",
- targs[tid].startidx, targs[tid].endidx, targs[tid]);
+ targs[tid].startidx, targs[tid].endidx, targs[tid].tid);
if (tid < nthreads-1) {
/* Start worker thread. */
@@ -256,7 +256,7 @@ int main (int argc, char ** argv)
adios_merge_index_v1 (globalindex,
subindex[tid]->pg_root,
subindex[tid]->vars_root,
- subindex[tid]->attrs_root);
+ subindex[tid]->attrs_root, 1);
}
write_index (globalindex, filename);
@@ -377,7 +377,7 @@ int process_subfiles (int tid, int startidx, int endidx)
*/
adios_posix_read_process_group_index (b[idx]);
- adios_parse_process_group_index_v1 (b[idx], &new_pg_root);
+ adios_parse_process_group_index_v1 (b[idx], &new_pg_root, NULL);
print_pg_index (tid, new_pg_root);
adios_posix_read_vars_index (b[idx]);
@@ -388,7 +388,7 @@ int process_subfiles (int tid, int startidx, int endidx)
adios_parse_attributes_index_v1 (b[idx], &new_attrs_root);
print_attribute_index (tid, new_attrs_root);
- adios_merge_index_v1 (subindex[tid], new_pg_root, new_vars_root, new_attrs_root);
+ adios_merge_index_v1 (subindex[tid], new_pg_root, new_vars_root, new_attrs_root, 1);
adios_posix_close_internal (b[idx]);
adios_shared_buffer_free (b[idx]);
@@ -546,9 +546,6 @@ void print_variable_index (int tid, struct adios_index_var_struct_v1 * vars_root
if (vars_root->type != adios_string)
printf ("\tValue(%s)", bp_value_to_string (vars_root->type,
vars_root->characteristics [i].value));
- else
- printf ("\tValue(\"%s\")", bp_value_to_string (vars_root->type,
- vars_root->characteristics [i].value));
}
if (vars_root->characteristics [i].dims.count != 0)
{
diff --git a/utils/bprecover/CMakeLists.txt b/utils/bprecover/CMakeLists.txt
new file mode 100644
index 0000000..d83abf8
--- /dev/null
+++ b/utils/bprecover/CMakeLists.txt
@@ -0,0 +1,12 @@
+include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(${PROJECT_SOURCE_DIR}/src/core)
+include_directories(${PROJECT_SOURCE_DIR}/src/core/transforms)
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
+include_directories(${PROJECT_SOURCE_DIR}/src/public)
+link_directories(${PROJECT_BINARY_DIR}/src)
+
+add_executable(bprecover bprecover.c)
+target_link_libraries(bprecover adios_internal_nompi ${ADIOSLIB_INT_LDADD})
+set_target_properties(bprecover PROPERTIES COMPILE_FLAGS "${ADIOSLIB_EXTRA_CPPFLAGS} ${ADIOSLIB_INT_CPPFLAGS} ${ADIOSLIB_INT_CFLAGS}")
+
+install(PROGRAMS ${CMAKE_BINARY_DIR}/utils/bprecover/bprecover DESTINATION ${bindir})
diff --git a/utils/bprecover/Makefile.am b/utils/bprecover/Makefile.am
new file mode 100644
index 0000000..a24cc00
--- /dev/null
+++ b/utils/bprecover/Makefile.am
@@ -0,0 +1,17 @@
+AM_CPPFLAGS = $(all_includes)
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core -I$(top_srcdir)/src/core/transforms
+
+AUTOMAKE_OPTIONS = no-dependencies
+
+bin_PROGRAMS = bprecover
+
+bprecover_SOURCES = bprecover.c
+bprecover_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSLIB_INT_CPPFLAGS) $(ADIOSLIB_INT_CFLAGS)
+bprecover_LDFLAGS = $(ADIOSLIB_INT_LDFLAGS)
+bprecover_LDADD = $(top_builddir)/src/libadios_internal_nompi.a
+bprecover_LDADD += $(ADIOSLIB_INT_LDADD)
+
+if USE_PARALLEL_COMPILER
+ CC=$(MPICC)
+ CXX=$(MPICXX)
+endif
diff --git a/utils/bpmeta/Makefile.in b/utils/bprecover/Makefile.in
similarity index 92%
copy from utils/bpmeta/Makefile.in
copy to utils/bprecover/Makefile.in
index d457b7f..adb6acd 100644
--- a/utils/bpmeta/Makefile.in
+++ b/utils/bprecover/Makefile.in
@@ -34,8 +34,8 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-bin_PROGRAMS = bpmeta$(EXEEXT)
-subdir = utils/bpmeta
+bin_PROGRAMS = bprecover$(EXEEXT)
+subdir = utils/bprecover
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_alacrity.m4 \
@@ -84,14 +84,15 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
-am_bpmeta_OBJECTS = bpmeta-bpmeta.$(OBJEXT)
-bpmeta_OBJECTS = $(am_bpmeta_OBJECTS)
+am_bprecover_OBJECTS = bprecover-bprecover.$(OBJEXT)
+bprecover_OBJECTS = $(am_bprecover_OBJECTS)
am__DEPENDENCIES_1 =
-bpmeta_DEPENDENCIES = $(top_builddir)/src/libadios_internal_nompi.a \
+bprecover_DEPENDENCIES = \
+ $(top_builddir)/src/libadios_internal_nompi.a \
$(am__DEPENDENCIES_1)
-bpmeta_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(bpmeta_LDFLAGS) \
- $(LDFLAGS) -o $@
+bprecover_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(bprecover_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
@@ -104,8 +105,8 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(bpmeta_SOURCES)
-DIST_SOURCES = $(bpmeta_SOURCES)
+SOURCES = $(bprecover_SOURCES)
+DIST_SOURCES = $(bprecover_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -309,6 +310,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -366,14 +370,15 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core \
-I$(top_srcdir)/src/core/transforms
AUTOMAKE_OPTIONS = no-dependencies
-bpmeta_SOURCES = bpmeta.c
-bpmeta_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSLIB_INT_CPPFLAGS) $(ADIOSLIB_INT_CFLAGS)
-bpmeta_LDFLAGS = $(ADIOSLIB_INT_LDFLAGS)
-bpmeta_LDADD = $(top_builddir)/src/libadios_internal_nompi.a \
+bprecover_SOURCES = bprecover.c
+bprecover_CPPFLAGS = $(AM_CPPFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS) $(ADIOSLIB_INT_CPPFLAGS) $(ADIOSLIB_INT_CFLAGS)
+bprecover_LDFLAGS = $(ADIOSLIB_INT_LDFLAGS)
+bprecover_LDADD = $(top_builddir)/src/libadios_internal_nompi.a \
$(ADIOSLIB_INT_LDADD)
all: all-am
@@ -388,9 +393,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bpmeta/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/bprecover/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu utils/bpmeta/Makefile
+ $(AUTOMAKE) --gnu utils/bprecover/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -452,9 +457,9 @@ clean-binPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-bpmeta$(EXEEXT): $(bpmeta_OBJECTS) $(bpmeta_DEPENDENCIES)
- @rm -f bpmeta$(EXEEXT)
- $(bpmeta_LINK) $(bpmeta_OBJECTS) $(bpmeta_LDADD) $(LIBS)
+bprecover$(EXEEXT): $(bprecover_OBJECTS) $(bprecover_DEPENDENCIES)
+ @rm -f bprecover$(EXEEXT)
+ $(bprecover_LINK) $(bprecover_OBJECTS) $(bprecover_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -471,11 +476,11 @@ distclean-compile:
.c.lo:
$(LTCOMPILE) -c -o $@ $<
-bpmeta-bpmeta.o: bpmeta.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bpmeta_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bpmeta-bpmeta.o `test -f 'bpmeta.c' || echo '$(srcdir)/'`bpmeta.c
+bprecover-bprecover.o: bprecover.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bprecover_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bprecover-bprecover.o `test -f 'bprecover.c' || echo '$(srcdir)/'`bprecover.c
-bpmeta-bpmeta.obj: bpmeta.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bpmeta_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bpmeta-bpmeta.obj `if test -f 'bpmeta.c'; then $(CYGPATH_W) 'bpmeta.c'; else $(CYGPATH_W) '$(srcdir)/bpmeta.c'; fi`
+bprecover-bprecover.obj: bprecover.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(bprecover_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bprecover-bprecover.obj `if test -f 'bprecover.c'; then $(CYGPATH_W) 'bprecover.c'; else $(CYGPATH_W) '$(srcdir)/bprecover.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
diff --git a/utils/bpdump/bpdump.c b/utils/bprecover/bprecover.c
similarity index 60%
copy from utils/bpdump/bpdump.c
copy to utils/bprecover/bprecover.c
index c896ba7..04e657d 100644
--- a/utils/bpdump/bpdump.c
+++ b/utils/bprecover/bprecover.c
@@ -7,7 +7,11 @@
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
#include "adios_types.h"
#include "adios_internals.h"
#include "adios_transport_hooks.h"
@@ -19,30 +23,13 @@
#define DIVIDER "========================================================\n"
-struct dump_struct
-{
- int do_dump;
- char * dump_var;
- enum ADIOS_FLAG host_language_fortran;
-};
-
-struct var_dim
-{
- uint16_t id;
- uint64_t rank;
-};
+int do_write_index = 0; // write recovered index at the end, default is no
void print_process_group_header (uint64_t num
,struct adios_process_group_header_struct_v1 * pg_header
);
void print_vars_header (struct adios_vars_header_struct_v1 * vars_header);
void print_var_header (struct adios_var_header_struct_v1 * var_header);
-void print_var_payload (struct adios_var_header_struct_v1 * var_header
- ,struct adios_var_payload_struct_v1 * var_payload
- ,struct dump_struct * dump
- ,int var_dims_count
- ,struct var_dim * var_dims
- );
void print_attrs_header (
struct adios_attributes_header_struct_v1 * attrs_header
);
@@ -61,135 +48,511 @@ void print_attributes_index
//const char * value_to_string (enum ADIOS_DATATYPES type, void * data);
const char * value_to_string_ptr (enum ADIOS_DATATYPES type, void * data, uint64_t element);
+int have_subfiles = 0; // global flag indicating if we variables are stored in subfiles (bpdump does not process subfiles)
+
+/* Temporarily store scalar's values to be used to determine
+ an array's dimensions. Indexed by variable id (which is the reference
+ in the array dimension to the scalar)
+*/
+#define MAX_DIMENSION_INDEX 1024
+uint64_t dim_value[MAX_DIMENSION_INDEX];
+const uint64_t INVALID_DIM = (uint64_t) -1L;
+
+void init_dimensions ()
+{
+ int i;
+ for (i=0; i < MAX_DIMENSION_INDEX; i++) {
+ dim_value[i] = INVALID_DIM;
+ }
+}
+
+/* Store a scalar variable's values temporarily while we process the
+ dimensions of the arrays in the same PG */
+void store_scalar_dimensions (
+ struct adios_var_header_struct_v1 * var_header,
+ struct adios_var_payload_struct_v1 * var_payload)
+{
+ if (var_header->is_dim == adios_flag_yes)
+ {
+ if (var_header->id < MAX_DIMENSION_INDEX) {
+ uint64_t size = adios_get_type_size (var_header->type, var_payload->payload);
+ uint64_t d = 0L;
+ switch (var_header->type)
+ {
+ case adios_byte:
+ d = *(signed char *) var_payload->payload;
+ break;
+ case adios_unsigned_byte:
+ d = *(unsigned char *) var_payload->payload;
+ break;
+ case adios_short:
+ d = *(signed short *) var_payload->payload;
+ break;
+ case adios_unsigned_short:
+ d = *(unsigned short *) var_payload->payload;
+ break;
+ case adios_integer:
+ d = *(signed int *) var_payload->payload;
+ break;
+ case adios_unsigned_integer:
+ d = *(unsigned int *) var_payload->payload;
+ break;
+ case adios_long:
+ d = *(signed long long *) var_payload->payload;
+ break;
+ case adios_unsigned_long:
+ d = *(unsigned long long *) var_payload->payload;
+ break;
+
+ default:
+ printf (" !!! ERROR !!! The variable %s/%s appears to be used "
+ "as dimension but it has non-integer type.\n",
+ var_header->path, var_header->name);
+ break;
+ }
+ dim_value [var_header->id] = *(unsigned int *) var_payload->payload;
+
+
+ } else {
+ printf (" !!! ERROR !!! This tool can only handle scalar variables"
+ " used as dimensions if they appear as the first %d variables. "
+ "Here we encountered a scalar named %s/%s with id=%d\n",
+ MAX_DIMENSION_INDEX, var_header->path, var_header->name, var_header->id);
+ }
+ }
+}
+
+/* Return the actual dimension/offset value.
+ If it points to a scalar variable, get its value.
+ If it's time return the value provided by the caller
+ (should be 1 for a dimension, 0 for an offset)
+ */
+uint64_t get_dimension (struct adios_dimension_item_struct_v1 * d, int return_for_time)
+{
+ int id = d->var_id;
+ uint64_t dim = 0L;
+ if (id == 0)
+ {
+ if (d->is_time_index == adios_flag_yes)
+ {
+ dim = return_for_time;
+ }
+ else
+ {
+ dim = d->rank;
+ }
+ }
+ else
+ {
+ if (id < 0 || id > MAX_DIMENSION_INDEX)
+ {
+ printf (" !!! ERROR !!! Reference to dimension of variable id %d cannot be handled."
+ " We only store scalar variables up to id %d\n",
+ id, MAX_DIMENSION_INDEX);
+ dim = INVALID_DIM;
+ }
+ else if (dim_value[id] == INVALID_DIM)
+ {
+ printf (" !!! ERROR !!! Reference to dimension of variable id %d but "
+ " we haven't stored this scalar variable. Result is invalid dimension\n",
+ id, MAX_DIMENSION_INDEX);
+ dim = INVALID_DIM;
+ }
+ else
+ {
+ dim = dim_value[id];
+ }
+ }
+ return dim;
+}
+
+
+int MAX_GROUP_NAME_LENGTH = 64; // could be 65535 but who does that???
+
+/* print char with printable char or its \xxx code
+ return 1 if its ASCII 32..126, usable for names in ADIOS
+*/
+int print_namechar (char c)
+{
+ if (32 <= c && c <= 126) {
+ // SPACE, symbols, alphanumeric
+ printf ("%c",c);
+ return 1;
+ } else {
+ printf (" \\%3.3hhu", c);
+ return 0;
+ }
+}
+
+int looks_like_PG (const char * buf, int blen)
+{
+ printf (" Check if it looks like a PG...\n");
+ int offset = 8; // skip now the PG size
+
+ // host_language_fortran flag, single char
+ char fort = buf[offset];
+ offset += 1;
+ printf (" Fortran flag char should be 'y' or 'n': '");
+ print_namechar (fort);
+ printf ("'\n");
+ if (fort != 'y' && fort != 'n')
+ return 0;
+
+ // group name length, 16 bit
+ uint16_t namelen = *(uint16_t *) (buf + offset);
+ offset += 2;
+ printf (" Group name length expected to be less than %d characters: %hu\n",
+ MAX_GROUP_NAME_LENGTH, namelen);
+ if (namelen > MAX_GROUP_NAME_LENGTH)
+ return 0;
+
+ char gname[MAX_GROUP_NAME_LENGTH];
+ memcpy (gname, buf+offset, namelen);
+ offset += namelen;
+
+ int i;
+ int validname = 1;
+ printf (" Group name: \"");
+ for (i = 0; i < namelen; i++)
+ {
+ validname &= print_namechar(gname[i]);
+ }
+ printf ("\"\n");
+
+ if (!validname) {
+ printf (" Group name contains characters that are invalid for a name\n");
+ return 0;
+ }
+
+ return 1;
+}
+
+/* Look for a PG at a given offset. If it looks like a PG,
+ return 1 and also return the reported PG size.
+ pgsize_reported is changed only when returning 1.
+*/
+int find_pg (int fd, uint64_t offset, uint64_t file_size, uint64_t * pgsize_reported)
+{
+
+ const int N_READ_AHEAD = 1024;
+ char buf[N_READ_AHEAD]; // temporary buffer to read data in and parse for info
+
+ printf ("Look for a Process Group (PG) at offset %llu\n", offset);
+ lseek (fd, offset, SEEK_SET);
+ // read a few bytes in
+ errno = 0;
+ int blen = read (fd, buf, N_READ_AHEAD);
+
+ if (blen < 8) {
+ printf (" === Could not read even 8 bytes. Finish PG reading\n");
+ if (errno) {
+ printf (" Error when reading: %s\n", strerror(errno));
+ }
+ return 0;
+ }
+
+ uint64_t pgsize;
+ pgsize = *(uint64_t*) buf; // first 8 bytes is size of PG
+ printf (" PG reported size: %llu\n", pgsize);
+
+ if (pgsize < 28) {
+ printf (" === PG reported size is too small. This is not a (good) PG.\n");
+ return 0;
+ }
+
+ if (pgsize + offset > file_size + 1024*1024*1024 /* a GB index??? */ ) {
+ printf (" === Offset + PG reported size >> file size. This is not a (good) PG.\n");
+ return 0;
+ }
+
+ if (!looks_like_PG (buf, blen)) {
+ return 0;
+ }
+
+ // All tests passed, it seems to be a PG
+ *pgsize_reported = pgsize;
+ return 1;
+}
+
+
+void add_pg_to_index (
+ struct adios_index_struct_v1 * index,
+ struct adios_process_group_header_struct_v1 * pg_header,
+ uint64_t curr_offset)
+{
+ /* similar to code from adios_internals.c:adios_build_index_v1() */
+ struct adios_index_process_group_struct_v1 * g_item;
+ g_item = (struct adios_index_process_group_struct_v1 *)
+ malloc (sizeof (struct adios_index_process_group_struct_v1));
+ g_item->group_name = strdup (pg_header->name);
+ g_item->adios_host_language_fortran = pg_header->host_language_fortran;
+
+ /* FIXME: process id (rank) is only recorded in the index, but not in the PG header.
+ This should be the original MPI rank of the writer. */
+ g_item->process_id = 0;
+
+ g_item->time_index_name = strdup (pg_header->time_index_name);
+ g_item->time_index = pg_header->time_index;
+ g_item->offset_in_file = curr_offset;
+ g_item->next = 0;
+
+ // add to the groups
+ index_append_process_group_v1 (index, g_item);
+}
+
+
+/* Get the dimensions of the variable and add it to the index.
+ This is complicated because of references to other variables */
+void process_dimensions (
+ struct adios_var_header_struct_v1 * var_header,
+ struct adios_index_var_struct_v1 * v_index
+ )
+{
+ // Get number of dimensions first
+ struct adios_dimension_struct_v1 * d = var_header->dims;
+ v_index->characteristics [0].dims.count = 0;
+ while (d)
+ {
+ v_index->characteristics [0].dims.count++;
+ d = d->next;
+ }
+
+ if (v_index->characteristics [0].dims.count)
+ {
+ // (local, global, local offset)
+ v_index->characteristics [0].dims.dims = malloc
+ (3 * 8 * v_index->characteristics [0].dims.count);
+
+ int j;
+ d = var_header->dims;
+ for (j = 0; j < v_index->characteristics [0].dims.count; j++)
+ {
+ v_index->characteristics [0].dims.dims [j * 3 + 0] =
+ get_dimension (&d->dimension, 1);
+ v_index->characteristics [0].dims.dims [j * 3 + 1] =
+ get_dimension (&d->global_dimension, 0);
+ v_index->characteristics [0].dims.dims [j * 3 + 2] =
+ get_dimension (&d->local_offset, 0);
+
+ d = d->next;
+ }
+ }
+ else
+ {
+ v_index->characteristics [0].dims.dims = NULL;
+ }
+}
+
+void add_var_to_index (
+ struct adios_index_struct_v1 * index,
+ struct adios_process_group_header_struct_v1 * pg_header,
+ struct adios_var_header_struct_v1 * var_header,
+ struct adios_var_payload_struct_v1 * var_payload)
+{
+
+ /* similar to code from adios_internals.c:adios_build_index_v1() */
+ struct adios_index_var_struct_v1 * v_index;
+ v_index = malloc (sizeof (struct adios_index_var_struct_v1));
+ v_index->characteristics = malloc (
+ sizeof (struct adios_index_characteristic_struct_v1)
+ );
+
+ v_index->id = var_header->id;
+ v_index->group_name = strdup (pg_header->name);
+ v_index->var_name = (var_header->name ? strdup (var_header->name) : 0L);
+ v_index->var_path = (var_header->path ? strdup (var_header->path) : 0L);
+ v_index->type = var_header->type;
+
+ v_index->characteristics_count = 1;
+ v_index->characteristics_allocated = 1;
+ v_index->characteristics [0].offset = var_header->characteristics.offset;
+ v_index->characteristics [0].payload_offset = var_header->characteristics.payload_offset;
+
+ v_index->characteristics [0].file_index = -1; // It works only with single BP files
+ v_index->characteristics [0].time_index = pg_header->time_index;
+
+ v_index->characteristics [0].value = 0;
+
+ /* Determine the dimensions from actual values or references of scalars */
+ process_dimensions (var_header, v_index);
+
+
+ // NCSU - Initializing stat related info in index
+ v_index->characteristics [0].bitmap = 0;
+ v_index->characteristics [0].stats = 0;
+
+ memcpy (&v_index->characteristics[0].transform,
+ &var_header->characteristics.transform,
+ sizeof (struct adios_index_characteristic_transform_struct));
+
+ // Save scalar's value
+ if (var_payload->payload)
+ {
+ uint64_t size = adios_get_type_size (var_header->type, var_payload->payload);
+ if (var_header->type == adios_string) {
+ v_index->characteristics [0].value = malloc (size + 1);
+ memcpy (v_index->characteristics [0].value, var_payload->payload, size);
+ ((char *) (v_index->characteristics [0].value)) [size] = 0;
+ } else {
+ v_index->characteristics [0].value = malloc (size);
+ memcpy (v_index->characteristics [0].value, var_payload->payload, size);
+ }
+ }
+
+ /* FIXME: Missing statistics and transformation statistics */
+
+ v_index->next = 0;
+
+ // this fn will either take ownership for free
+ //printf (" add index var %s/%s\n", v_index->var_path, v_index->var_name);
+ index_append_var_v1 (index, v_index, 1);
+}
+
+void write_index (int fd, uint64_t file_offset, struct adios_index_struct_v1 * index)
+{
+ char * buffer = NULL;
+ uint64_t buffer_size = 0L;
+ uint64_t buffer_offset = 0L;
+ adios_write_index_v1 (&buffer, &buffer_size, &buffer_offset, file_offset, index);
+ adios_write_version_v1 (&buffer, &buffer_size, &buffer_offset);
+ printf ("Index metadata size is %llu bytes\n", buffer_offset);
+ if (do_write_index)
+ {
+ printf ("Ready to write index to file offset %llu. Size is %llu bytes\n",
+ file_offset, buffer_offset);
+ lseek (fd, file_offset, SEEK_SET);
+ ssize_t s = write (fd, buffer, buffer_offset);
+ if (s != buffer_offset) {
+ printf ("ERROR: Only wrote %llu bytes of index data instead of the attempted %llu bytes\n",
+ (unsigned long long)s, buffer_offset);
+ } else {
+ printf ("Wrote index to file offset %llu. Size is %llu bytes\n", file_offset, buffer_offset);
+ }
+ printf ("Truncate file to size %llu\n", file_offset+s);
+ ftruncate (fd, file_offset+s);
+ }
+ else
+ {
+ printf ("To actually recover the file by rewriting the index, use -f option.\n"
+ "Final file will be truncted to %llu bytes\n", file_offset+buffer_offset);
+ }
+}
+
+void print_usage (int argc, char ** argv)
+{
+ printf ("Usage: %s [-f | --force] <filename>\n"
+ " -f: do write the recovered index to the end of file\n",
+ argv [0]);
+ printf (
+"This recovery tool parses the data blocks in the file, reconstructs the "
+"index metadata and writes it to the end. It is useful only if the original "
+"index is damaged somehow. It only works with a single BP file. Subfiles are "
+"not handled. Also, the tool is very limited. It does not work if the file "
+"has variables with transformations (compression). It does not recover attributes "
+"nor statistics. It does not recover the file beyond the first data corruption in "
+"the middle. So use it with care, copy the corrupted file before "
+"using this tool. Without -f option, you can test if the processing goes well "
+"without changing the file.\n"
+ );
+}
+
int main (int argc, char ** argv)
{
char * filename;
int rc = 0;
- struct dump_struct dump;
- if (argc < 2 || argc > 4)
+ if (argc < 2 || argc > 3)
{
- fprintf (stderr, "usage: %s [-d [var]|--dump [var]] <filename>\n"
- ,argv [0]
- );
-
+ print_usage (argc, argv);
return -1;
}
if (argv [1][0] && argv [1][0] == '-')
{
- if ( !strcmp (argv [1], "-d")
- || !strcmp (argv [1], "--dump")
+ if ( !strcmp (argv [1], "-f")
+ || !strcmp (argv [1], "--force")
)
{
- dump.do_dump = 1;
- if (argc > 3)
- {
- dump.dump_var = argv [2];
- filename = argv [3];
- printf("%s %s\n",dump.dump_var,filename);
- }
- else
- {
- dump.dump_var = 0;
- filename = argv [2];
- printf("ALLVARS %s\n",filename);
- }
+ do_write_index = 1;
+ filename = argv [2];
}
else
{
- fprintf (stderr, "usage: %s [-d [var]|--dump [var]] <filename>\n"
- ,argv [0]
- );
-
+ print_usage (argc, argv);
return -1;
}
}
else
{
filename = argv [1];
- dump.do_dump = 0;
- dump.dump_var = 0;
+ do_write_index = 0;
}
+ have_subfiles = 0;
struct adios_bp_buffer_struct_v1 * b = 0;
uint32_t version = 0;
b = malloc (sizeof (struct adios_bp_buffer_struct_v1));
adios_buffer_struct_init (b);
- rc = adios_posix_open_read_internal (filename, "", b);
- if (!rc)
- {
- fprintf (stderr, "bpdump: file not found: %s\n", filename);
+ int flags = O_RDONLY;
+ if (do_write_index)
+ flags = O_RDWR;
+ int fd = open (filename, flags);
+ if (fd < 0) {
+ fprintf (stderr, "recover: cannot open file %s\n", filename);
+ if (errno)
+ fprintf (stderr, "%s\n", strerror(errno));
return -1;
}
- adios_posix_read_version (b);
- adios_parse_version (b, &version);
- version = version & ADIOS_VERSION_NUM_MASK;
- printf ("BP format version: %d\n", version);
- if (version < 2)
- {
- fprintf (stderr, "bpdump: This version of bpdump can only dump BP format version 2. "
- "Use an older bpdump from adios 1.6 to dump this file.\n");
- adios_posix_close_internal (b);
- return -1;
- }
+ struct stat statbuf;
+ fstat (fd, &statbuf);
+ uint64_t file_size = statbuf.st_size;
+
+ b->f = fd;
+
+ printf ("File size in bytes: %llu\n", file_size);
- struct adios_index_process_group_struct_v1 * pg_root = 0;
+ /* Variables to build new index */
+ struct adios_index_struct_v1 * index = adios_alloc_index_v1(1);
+ //struct adios_index_process_group_struct_v1 * pg_root = 0;
struct adios_index_process_group_struct_v1 * pg = 0;
- struct adios_index_var_struct_v1 * vars_root = 0;
- struct adios_index_attribute_struct_v1 * attrs_root = 0;
+ //struct adios_index_var_struct_v1 * vars_root = 0;
+ //struct adios_index_attribute_struct_v1 * attrs_root = 0;
- printf (DIVIDER);
- printf ("Process Groups Index:\n");
- adios_posix_read_index_offsets (b);
- adios_parse_index_offsets_v1 (b);
-
- /*
- printf ("End of process groups = %llu\n", b->end_of_pgs);
- printf ("Process Groups Index Offset = %llu\n", b->pg_index_offset);
- printf ("Process Groups Index Size = %llu\n", b->pg_size);
- printf ("Variable Index Offset = %llu\n", b->vars_index_offset);
- printf ("Variable Index Size = %llu\n", b->vars_size);
- printf ("Attribute Index Offset = %llu\n", b->attrs_index_offset);
- printf ("Attribute Index Size = %llu\n", b->attrs_size);
- */
-
- adios_posix_read_process_group_index (b);
- adios_parse_process_group_index_v1 (b, &pg_root);
- print_process_group_index (pg_root);
- printf (DIVIDER);
- printf ("Vars Index:\n");
- adios_posix_read_vars_index (b);
- adios_parse_vars_index_v1 (b, &vars_root, NULL, NULL);
- print_vars_index (vars_root);
+ uint64_t pg_num = 0L;
+ uint64_t curr_offset = 0L;
+ uint64_t new_offset = 0L;
+ uint64_t pgsize_reported; // size of current pg (as indicated in PG header (wrongly))
+ uint64_t pgsize_actual; // size of current pg based on processing (accurate)
+ int found_pg = 0;
printf (DIVIDER);
- printf ("Attributes Index:\n");
- adios_posix_read_attributes_index (b);
- adios_parse_attributes_index_v1 (b, &attrs_root);
- print_attributes_index (attrs_root);
+ found_pg = find_pg (fd, new_offset, file_size, &pgsize_reported);
- if (version & ADIOS_VERSION_HAVE_SUBFILE)
+ // pass over the PGs from beginning of file
+ while (found_pg)
{
- printf (DIVIDER);
- return 0;
- }
+ curr_offset = new_offset;
+ pg_num++;
+ printf ("PG %llu found at offset %llu\n", pg_num, curr_offset);
- uint64_t element_num = 1;
- pg = pg_root;
- while (pg)
- {
- int var_dims_count = 0;
- struct var_dim * var_dims = 0;
+ /* Let's process the group */
+ /* Allocate PG index struct here to allow to be used below */
+ pg = (struct adios_index_process_group_struct_v1 *)
+ malloc (sizeof(struct adios_index_process_group_struct_v1));
- printf (DIVIDER);
+ // setup where to read the process group from (and size)
+ pg->offset_in_file = curr_offset;
+ //b->read_pg_offset = pg->offset_in_file;
+ b->read_pg_offset = curr_offset;
+ b->read_pg_size = pgsize_reported;
+ /* Temporary variables for parsing one PG */
struct adios_process_group_header_struct_v1 pg_header;
struct adios_vars_header_struct_v1 vars_header;
struct adios_attributes_header_struct_v1 attrs_header;
@@ -198,28 +561,18 @@ int main (int argc, char ** argv)
struct adios_var_payload_struct_v1 var_payload;
struct adios_attribute_struct_v1 attribute;
- // setup where to read the process group from (and size)
- b->read_pg_offset = pg->offset_in_file;
- if (pg->next)
- {
- b->read_pg_size = pg->next->offset_in_file
- - pg->offset_in_file;
- }
- else
- {
- b->read_pg_size = b->pg_index_offset
- - pg->offset_in_file;
- }
+ init_dimensions (); // store scalar values from this PG temporarily
+ /* Read the whole PG into a buffer and start parsing */
adios_posix_read_process_group (b);
adios_parse_process_group_header_v1 (b, &pg_header);
- print_process_group_header (element_num++, &pg_header);
- //printf ("\tSize of group in fil: %llu bytes\n", b->read_pg_size);
+ print_process_group_header (pg_num, &pg_header);
+
+ add_pg_to_index (index, &pg_header, curr_offset);
adios_parse_vars_header_v1 (b, &vars_header);
print_vars_header (&vars_header);
- dump.host_language_fortran = pg_header.host_language_fortran;
int i;
for (i = 0; i < vars_header.count; i++)
{
@@ -228,14 +581,9 @@ int main (int argc, char ** argv)
adios_parse_var_data_header_v1 (b, &var_header);
print_var_header (&var_header);
- if ( var_header.dims == 0 ||
- ( dump.do_dump &&
- dump.dump_var &&
- !strcasecmp (dump.dump_var, var_header.name)
- )
- )
+ if ( var_header.dims == 0)
{
- // add one for string null terminators
+ // Load scalars to save them for handling as dimension values
var_payload.payload = malloc (var_header.payload_size + 1);
adios_parse_var_data_payload_v1 (b, &var_header, &var_payload
,var_header.payload_size
@@ -243,34 +591,20 @@ int main (int argc, char ** argv)
}
else
{
+ // Just parse to move the offset in buffer, don't read data
adios_parse_var_data_payload_v1 (b, &var_header, NULL, 0);
}
- if (var_header.is_dim == adios_flag_yes)
- {
- var_dims = realloc (var_dims, (var_dims_count + 1)
- * sizeof (struct var_dim)
- );
-
- var_dims [var_dims_count].id = var_header.id;
- var_dims [var_dims_count].rank = *(unsigned int *)
- var_payload.payload;
- var_dims_count++;
- }
+ store_scalar_dimensions (&var_header, &var_payload);
+ add_var_to_index (index, &pg_header, &var_header, &var_payload);
- if (dump.do_dump)
- {
- // make sure the buffer is big enough or send in null
- print_var_payload (&var_header, &var_payload, &dump
- ,var_dims_count, var_dims
- );
- }
if (var_payload.payload)
{
free (var_payload.payload);
var_payload.payload = 0;
}
- printf ("\n");
+ //printf ("\n");
+
}
adios_parse_attributes_header_v1 (b, &attrs_header);
@@ -279,96 +613,45 @@ int main (int argc, char ** argv)
for (i = 0; i < attrs_header.count; i++)
{
adios_parse_attribute_v1 (b, &attribute);
- print_attribute (&attribute);
- printf ("\n");
+ //print_attribute (&attribute);
+ //printf ("\n");
}
- var_dims_count = 0;
- if (var_dims)
- free (var_dims);
+ pgsize_actual = b->offset;
+ printf ("Actual size of group by processing: %llu bytes\n", pgsize_actual);
+
pg = pg->next;
+
+
+ printf (DIVIDER);
+ found_pg = 0;
+ if (curr_offset + pgsize_actual < file_size)
+ {
+ new_offset = curr_offset + pgsize_actual;
+ found_pg = find_pg (fd, curr_offset+pgsize_actual, file_size, &pgsize_reported);
+ }
+ if (!found_pg &&
+ pgsize_actual != pgsize_reported &&
+ curr_offset + pgsize_reported < file_size)
+ {
+ new_offset = curr_offset + pgsize_reported;
+ found_pg = find_pg (fd, curr_offset+pgsize_reported, file_size, &pgsize_reported);
+ }
}
+
+ // The end of the last successfully processed PG
+ // This will be the start of the index data
+ curr_offset += pgsize_actual;
+
printf (DIVIDER);
- printf ("End of %s\n", filename);
+ printf ("Found %llu PGs to be processable\n", pg_num);
- adios_posix_close_internal (b);
+ write_index (fd, curr_offset, index);
+ adios_posix_close_internal (b); // will close fd
return 0;
}
-/* In src/bp_utils.c
-const char * value_to_string (enum ADIOS_DATATYPES type, void * data)
-{
- static char s [100];
- s [0] = 0;
-
-
- switch (type)
- {
- case adios_unsigned_byte:
- sprintf (s, "%u", *(((uint8_t *) data)));
- break;
-
- case adios_byte:
- sprintf (s, "%d", *(((int8_t *) data)));
- break;
-
- case adios_short:
- sprintf (s, "%hd", *(((int16_t *) data)));
- break;
-
- case adios_unsigned_short:
- sprintf (s, "%uh", *(((uint16_t *) data)));
- break;
-
- case adios_integer:
- sprintf (s, "%d", *(((int32_t *) data)));
- break;
-
- case adios_unsigned_integer:
- sprintf (s, "%u", *(((uint32_t *) data)));
- break;
-
- case adios_long:
- sprintf (s, "%lld", *(((int64_t *) data)));
- break;
-
- case adios_unsigned_long:
- sprintf (s, "%llu", *(((uint64_t *) data)));
- break;
-
- case adios_real:
- sprintf (s, "%f", *(((float *) data)));
- break;
-
- case adios_double:
- sprintf (s, "%le", *(((double *) data)));
- break;
-
- case adios_long_double:
- sprintf (s, "%Le", *(((long double *) data)));
- break;
-
- case adios_string:
- sprintf (s, "%s", ((char *) data));
- break;
-
- case adios_complex:
- sprintf (s, "(%f %f)", *(((float *) data) + 0)
- , *(((float *) data) + 1)
- );
- break;
-
- case adios_double_complex:
- sprintf (s, "(%lf %lf)", *(((double *) data) + 0)
- , *(((double *) data) + 1)
- );
- break;
- }
-
- return s;
-}
-*/
const char * value_to_string_ptr (enum ADIOS_DATATYPES type, void * data, uint64_t element)
{
@@ -494,7 +777,7 @@ void print_process_group_header (uint64_t num
{
struct adios_method_info_struct_v1 * m;
- printf ("Process Group: %llu\n", num);
+ //printf ("Process Group: %llu\n", num);
printf ("\tGroup Name: %s\n", pg_header->name);
printf ("\tHost Language Fortran?: %c\n"
,(pg_header->host_language_fortran == adios_flag_yes ? 'Y' : 'N')
@@ -547,6 +830,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
int i = 0;
printf ("\t\tVar Name (ID): %s (%d)\n", var_header->name, var_header->id);
+ return;
printf ("\t\tVar Path: %s\n", var_header->path);
printf ("\t\tDatatype: %s\n", adios_type_to_string_int (var_header->type));
printf ("\t\tIs Dimension: %c\n"
@@ -561,7 +845,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
printf ("\t\t\tDim %d l:g:o: ", i++);
if (d->dimension.var_id == 0)
{
- if (d->dimension.time_index == adios_flag_yes)
+ if (d->dimension.is_time_index == adios_flag_yes)
{
printf ("TIME");
}
@@ -581,7 +865,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
{
if (d->global_dimension.var_id == 0)
{
- if (d->global_dimension.time_index == adios_flag_yes)
+ if (d->global_dimension.is_time_index == adios_flag_yes)
{
printf (":TIME");
}
@@ -596,7 +880,7 @@ void print_var_header (struct adios_var_header_struct_v1 * var_header)
}
if (d->local_offset.var_id == 0)
{
- if (d->local_offset.time_index == adios_flag_yes)
+ if (d->local_offset.is_time_index == adios_flag_yes)
{
printf (":TIME");
}
@@ -847,119 +1131,6 @@ int dims_not_max (uint64_t * position, uint64_t * dims, int ranks)
return 0;
}
-void print_var_payload (struct adios_var_header_struct_v1 * var_header
- ,struct adios_var_payload_struct_v1 * var_payload
- ,struct dump_struct * dump
- ,int var_dims_count
- ,struct var_dim * var_dims
- )
-{
- if ( dump->do_dump
- && dump->dump_var
- && var_header->dims
- && !strcasecmp (dump->dump_var, var_header->name)
- )
- {
- if (var_header->dims)
- {
- uint64_t element = 0;
- int ranks = 0;
- struct adios_dimension_struct_v1 * d = var_header->dims;
- int c = 0;
- uint64_t * position = 0;
- uint64_t * dims = 0;
- int i = 0;
-
- while (d)
- {
- ranks++;
- d = d->next;
- }
-
- position = (uint64_t *) malloc (8 * ranks);
- memset (position, 0, 8 * ranks);
- dims = (uint64_t *) malloc (8 * ranks);
- memset (dims, 0, 8 * ranks);
-
- d = var_header->dims;
- uint64_t * dims_t = dims;
-
- while (d)
- {
- if (d->dimension.var_id != 0)
- {
- for (i = 0; i < var_dims_count; i++)
- {
- if (var_dims [i].id == d->dimension.var_id)
- {
- *dims_t = var_dims [i].rank;
- }
- }
- }
- else
- {
- if (d->dimension.time_index == adios_flag_yes)
- {
- *dims_t = 1;
- }
- else
- {
- *dims_t = d->dimension.rank;
- }
- }
-
- d = d->next;
- dims_t++;
- }
-
- while (dims_not_max (position, dims, ranks))
- {
- increment_dimension (dump->host_language_fortran
- ,element
- ,ranks
- ,dims
- ,position
- );
- if (c > 65)
- {
- printf ("\n");
- c = 0;
- }
-
- c += printf ("[");
- for (i = 0; i < ranks; i++)
- {
- if (i > 0)
- c += printf (",%llu", position [i]);
- else
- c += printf ("%llu", position [i]);
- }
- c += printf ("] ");
- c += printf ("%s ", value_to_string_ptr (var_header->type
- ,var_payload->payload, element
- )
- );
-
- element++;
- }
- printf ("\n");
-
- if (position)
- free (position);
- if (dims)
- free (dims);
- position = 0;
- dims = 0;
- }
- }
- if (!var_header->dims)
- {
- if (var_header->type != adios_string)
- printf ("\t\t\tValue: %s\n", bp_value_to_string (var_header->type ,var_payload->payload));
- else
- printf ("\t\t\tValue: \"%s\"\n", bp_value_to_string (var_header->type ,var_payload->payload));
- }
-}
void print_attrs_header (
struct adios_attributes_header_struct_v1 * attrs_header
@@ -970,9 +1141,11 @@ void print_attrs_header (
void print_attribute (struct adios_attribute_struct_v1 * attribute)
{
+ int i;
printf ("\t\tAttribute Name (ID): %s (%d)\n"
,attribute->name, attribute->id
);
+ return;
printf ("\t\tAttribute Path: %s\n", attribute->path);
if (attribute->is_var == adios_flag_yes)
{
@@ -981,10 +1154,20 @@ void print_attribute (struct adios_attribute_struct_v1 * attribute)
else
{
printf ("\t\tDatatype: %s\n", adios_type_to_string_int (attribute->type));
- printf ("\t\tValue: %s\n", bp_value_to_string (attribute->type
- ,attribute->value
- )
- );
+ printf ("\t\t# of elements: %d\n", attribute->nelems);
+ printf ("\t\tLength in bytes: %d\n", attribute->length);
+ char * p = (char *) attribute->value;
+ int elemsize = (int) adios_get_type_size (attribute->type, attribute->value);
+ if (attribute->nelems == 1) {
+ printf ("\t\tValue: %s\n", bp_value_to_string (attribute->type ,attribute->value));
+ } else {
+ printf ("\t\tValues: %s", bp_value_to_string (attribute->type, p));
+ for (i=1; i<attribute->nelems; i++) {
+ p += elemsize;
+ printf (", %s", bp_value_to_string (attribute->type, p));
+ }
+ printf ("\n");
+ }
}
}
@@ -1034,6 +1217,10 @@ void print_vars_index (struct adios_index_var_struct_v1 * vars_root)
printf ("\tFile Index(%d)", vars_root->characteristics [i].file_index);
printf ("\tTime Index(%d)", vars_root->characteristics [i].time_index);
+ if (vars_root->characteristics [i].file_index != (uint32_t)-1) {
+ have_subfiles = 1;
+ }
+
/* NCSU - Print min, max */
if (vars_root->type == adios_complex || vars_root->type == adios_double_complex)
{
@@ -1233,10 +1420,19 @@ void print_attributes_index
if (attrs_root->characteristics [i].value)
{
- printf ("\t\tValue(%s)", bp_value_to_string (attrs_root->type
- ,attrs_root->characteristics [i].value
- )
- );
+ if (attrs_root->nelems == 1) {
+ printf ("\t\tValue(%s)", bp_value_to_string (attrs_root->type, attrs_root->characteristics [i].value));
+ } else {
+ char * p = (char *) attrs_root->characteristics [i].value;
+ int elemsize = (int) adios_get_type_size (attrs_root->type, p);
+ int k;
+ printf ("\t\tValues(%s", bp_value_to_string (attrs_root->type, p));
+ for (k=1; k<attrs_root->nelems; k++) {
+ p += elemsize;
+ printf (", %s", bp_value_to_string (attrs_root->type, p));
+ }
+ printf (")\n");
+ }
}
if (attrs_root->characteristics [i].var_id)
{
diff --git a/utils/bpsplit/CMakeLists.txt b/utils/bpsplit/CMakeLists.txt
index 6c28575..93235a9 100644
--- a/utils/bpsplit/CMakeLists.txt
+++ b/utils/bpsplit/CMakeLists.txt
@@ -2,7 +2,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/utils/bpsplit)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/utils/bpsplit)
add_executable(bpsplit bpsplit.c)
diff --git a/utils/bpsplit/Makefile.am b/utils/bpsplit/Makefile.am
index daf1680..093e8b6 100644
--- a/utils/bpsplit/Makefile.am
+++ b/utils/bpsplit/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/bpsplit/Makefile.in b/utils/bpsplit/Makefile.in
index 899cd15..890b0b2 100644
--- a/utils/bpsplit/Makefile.in
+++ b/utils/bpsplit/Makefile.in
@@ -325,6 +325,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -382,7 +385,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
bpsplit_SOURCES = bpsplit.c
diff --git a/utils/bpsplit/bpappend.c b/utils/bpsplit/bpappend.c
index c3b7f99..714fcf3 100644
--- a/utils/bpsplit/bpappend.c
+++ b/utils/bpsplit/bpappend.c
@@ -199,7 +199,7 @@ int read_indexes(char *filename, bool input) {
adios_posix_read_index_offsets (bp);
adios_parse_index_offsets_v1 (bp);
adios_posix_read_process_group_index (bp);
- adios_parse_process_group_index_v1 (bp, &pg_root);
+ adios_parse_process_group_index_v1 (bp, &pg_root, NULL);
// read and parse variable index
adios_posix_read_vars_index (bp);
@@ -508,7 +508,7 @@ int append_in_to_out( const char *fileout, const char *filein) {
// merge in old indicies
adios_merge_index_v1 (idx,
- in_pg_root, in_vars_root, in_attrs_root);
+ in_pg_root, in_vars_root, in_attrs_root, 0);
adios_write_index_v1 (&buffer, &buffer_size, &buffer_offset, index_start,
idx);
if (verbose>1) printf(" index size %llu 0x%llx\n", buffer_offset, buffer_offset);
diff --git a/utils/bpsplit/bpgettime.c b/utils/bpsplit/bpgettime.c
index 9594a1c..2c7074d 100644
--- a/utils/bpsplit/bpgettime.c
+++ b/utils/bpsplit/bpgettime.c
@@ -175,7 +175,7 @@ int bpgettime(char *filename) {
adios_posix_read_index_offsets (in_bp);
adios_parse_index_offsets_v1 (in_bp);
adios_posix_read_process_group_index (in_bp);
- adios_parse_process_group_index_v1 (in_bp, &in_pg_root);
+ adios_parse_process_group_index_v1 (in_bp, &in_pg_root, NULL);
// close file
adios_posix_close_internal (in_bp);
diff --git a/utils/bpsplit/bpsplit.c b/utils/bpsplit/bpsplit.c
index 92bc4c6..9ca6e4c 100644
--- a/utils/bpsplit/bpsplit.c
+++ b/utils/bpsplit/bpsplit.c
@@ -243,7 +243,7 @@ int read_indexes(char *filename) {
adios_posix_read_index_offsets (in_bp);
adios_parse_index_offsets_v1 (in_bp);
adios_posix_read_process_group_index (in_bp);
- adios_parse_process_group_index_v1 (in_bp, &in_pg_root);
+ adios_parse_process_group_index_v1 (in_bp, &in_pg_root, NULL);
// read and parse variable index
adios_posix_read_vars_index (in_bp);
diff --git a/utils/fastbit/CMakeLists.txt b/utils/fastbit/CMakeLists.txt
index b9f9d38..7794bbc 100644
--- a/utils/fastbit/CMakeLists.txt
+++ b/utils/fastbit/CMakeLists.txt
@@ -1,7 +1,7 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
include_directories(${PROJECT_SOURCE_DIR}/src/core/transforms)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
diff --git a/utils/fastbit/Makefile.am b/utils/fastbit/Makefile.am
index b97cb13..287071f 100644
--- a/utils/fastbit/Makefile.am
+++ b/utils/fastbit/Makefile.am
@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = $(all_includes)
-INCLUDES += -I$(top_srcdir)/src -I$(top_srcdir)/src/core
+INCLUDES += -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/core
bin_PROGRAMS = adios_index_fastbit
diff --git a/utils/fastbit/Makefile.in b/utils/fastbit/Makefile.in
index a018356..76cede3 100644
--- a/utils/fastbit/Makefile.in
+++ b/utils/fastbit/Makefile.in
@@ -308,6 +308,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -366,8 +369,8 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = no-dependencies
-INCLUDES = $(all_includes) -I$(top_srcdir)/src \
- -I$(top_srcdir)/src/core
+INCLUDES = $(all_includes) -I$(top_builddir)/src/public \
+ -I$(top_srcdir)/src -I$(top_srcdir)/src/core
adios_index_fastbit_SOURCES = adios_index_fastbit.c
adios_index_fastbit_CPPFLAGS = $(ADIOSLIB_CPPFLAGS) $(ADIOSLIB_CFLAGS) $(ADIOSLIB_EXTRA_CPPFLAGS)
adios_index_fastbit_LDADD = $(top_builddir)/src/libadios.a $(ADIOSLIB_LDADD)
diff --git a/utils/fastbit/adios_index_fastbit.c b/utils/fastbit/adios_index_fastbit.c
index 68468d2..4671ce9 100644
--- a/utils/fastbit/adios_index_fastbit.c
+++ b/utils/fastbit/adios_index_fastbit.c
@@ -14,6 +14,9 @@
char gGroupNameFastbitIdx[20] = "notNamed";
char* gBinningOption = 0;
+ char* gIdxFileName = 0;
+ int pack = 4800; // # of blocks to index with per process
+ uint64_t recommended_index_ele = 20000000; // 20M elements
int64_t gAdios_group;
int64_t gAdios_write_file;
@@ -28,7 +31,12 @@
uint64_t sum_nb=0, sum_nk=0, sum_no=0;
+ uint64_t workCounter=0;
+
+#define BOX
//void printData(void* data, enum ADIOS_DATATYPES type, uint64_t size);
+void processData(void* data, uint64_t dataCount, int rank, int timestep, char* selName, FastBitDataType ft, ADIOS_VARINFO* v);
+
void defineFastbitVar(int nblocks, const char* name, int64_t* ids, int adiosType, uint64_t* localDim, const char* globalStr, uint64_t* offset)
{
@@ -48,6 +56,20 @@ void defineFastbitVar(int nblocks, const char* name, int64_t* ids, int adiosType
}
}
+int64_t defineAdiosVar(const char* name, int adiosType, uint64_t localDim, const char* globalStr, uint64_t offset)
+{
+ char offsetStr[100] = "";
+ if (offset != 0) {
+ sprintf(offsetStr, "%llu", offset);
+ }
+
+ char dimStr[100];
+ sprintf(dimStr, "%llu", localDim);
+ int64_t id = adios_define_var (gAdios_group, name, "", adiosType, dimStr, globalStr, offsetStr);
+ printf("id = %ld \n", id);
+ return id;
+}
+
// k is numbered from 1 to sum_nblocks
void verifyData(ADIOS_FILE* f, ADIOS_VARINFO* v, int k, int timestep)
@@ -203,87 +225,285 @@ void sumLogTime(int stage) {
*/
}
-void onBlock(int rank, ADIOS_FILE* f, ADIOS_VARINFO* v, int i, int j, int blockCounter, FastBitDataType ft)
+
+/*
+void onSelection(int rank, ADIOS_FILE* f, ADIOS_VARINFO* v, int timestep, char* selName, ADIOS_SELECTION* sel, uint64_t selCount, FastBitDataType ft)
{
char bmsVarName[100];
char keyVarName[100];
char offsetName[100];
- int64_t var_ids_bms[v->nblocks[i]];
- int64_t var_ids_key[v->nblocks[i]];
- int64_t var_ids_offset[v->nblocks[i]];
-
-
-
- sprintf(bmsVarName, "bms-%d-%d-%d", v->varid, i, j);
- sprintf(keyVarName, "key-%d-%d-%d", v->varid, i, j);
- sprintf(offsetName, "offset-%d-%d-%d", v->varid, i, j);
-
- // blockCounter++;
- uint64_t blockSize = fastbit_adios_util_getBlockSize(v, i, j); //blockCounter);
- uint64_t blockDataByteSize = adios_type_size (v->type, v->value) * blockSize;
-
- char notes[100];
- logTime(NULL); logTimeMillis(NULL);
-
- sprintf(notes, " reading data from adios on varid=%d, time=%d, block: %d, size=%ld bytes=%ld", v->varid, i, j, blockSize, blockDataByteSize);
-
- logTime(notes); logTimeMillis(notes);
- localtime(&indexRefresh);
-
- //printf(" %d th block / (%d), size= %llu bytes=%llu", j, blockSize, blockCounter, blockDataByteSize);
-
- void* data = malloc (blockDataByteSize);
- ADIOS_SELECTION* blockSel = adios_selection_writeblock(j);
-
- //adios_selcton_writeblock(num), 0 <= num < nblocks[timestep]
- //ADIOS_SELECTION* blockSel = adios_selection_writeblock(blockCounter);
- int err = adios_schedule_read_byid(f, blockSel, v->varid, i, 1, data);
- if (!err) {
- err = adios_perform_reads(f, 1);
- } else {
- printf("Unable to read block %d at timestep: %d \n", j, i);
- return;
- //break;
- }
- //fastbit_adios_util_printData(data, v->type, blockSize);
-
- double* keys = NULL;
- int64_t *offsets = NULL;
- uint32_t *bms = NULL;
- uint64_t nk=0, no=0, nb=0;
-
- const char* datasetName = "test";
- logTime(" data collected, fastbit start indexing");
- logTimeMillis(" data collected, fastbit start indexing");
- //fastbit_adios_util_printData(data, v->type, blockBytes/adios_type_size(v->type, v->value));
+ int64_t var_ids_bms;
+ int64_t var_ids_key;
+ int64_t var_ids_offset;
+
+ sprintf(bmsVarName, "bms-%d-%d-%s", v->varid, timestep, selName);
+ sprintf(keyVarName, "key-%d-%d-%s", v->varid, timestep, selName);
+ sprintf(offsetName, "offset-%d-%d-%s", v->varid, timestep, selName);
+
+ uint64_t selByteSize = adios_type_size (v->type, v->value) * selCount;
+
+ char notes[100];
+ logTime(NULL); logTimeMillis(NULL);
+
+ sprintf(notes, " reading data from adios on varid=%d, time=%d, name=%s, bytes=%ld", v->varid, timestep, selName, selByteSize);
+
+ logTime(notes); logTimeMillis(notes);
+ localtime(&indexRefresh);
+
+ void* data = malloc (selByteSize);
+
+ int err = adios_schedule_read_byid(f, sel, v->varid, timestep, 1, data);
+ if (!err) {
+ err = adios_perform_reads(f, 1);
+ } else {
+ printf("Unable to read sel %s at timestep: %d \n", selName, timestep);
+ return;
+ //break;
+ }
- fastbitIndex(datasetName, data, blockSize, ft, &keys, &nk, &offsets, &no, &bms, &nb);
- logTime(" indexed on block");
- logTimeMillis(" indexed on block");
+
+ double* keys = NULL;
+ int64_t *offsets = NULL;
+ uint32_t *bms = NULL;
+ uint64_t nk=0, no=0, nb=0;
+
+ const char* datasetName = "test";
+ logTime(" data collected, fastbit start indexing");
+ logTimeMillis(" data collected, fastbit start indexing");
+
+ fastbitIndex(datasetName, data, selCount, ft, &keys, &nk, &offsets, &no, &bms, &nb);
+ logTime(" indexed on block");
+ logTimeMillis(" indexed on block");
+
+ printf(" rank:%d, index created = %llu, %llu, %llu, on var:%d, timestep: %d, selection %s\n", rank, nb, nk, no, v->varid, timestep, selName);
+ sum_nb += nb; sum_nk += nk, sum_no += no;
+
+ adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, 500); // +5MB for extra room in buffer
+ adios_declare_group (&gAdios_group, gGroupNameFastbitIdx, "", adios_flag_yes);
+ adios_select_method (gAdios_group, "MPI", "", "");
+
+ adios_open (&gAdios_write_file, gGroupNameFastbitIdx, gIdxFileName, "w", MPI_COMM_WORLD);
+
+ uint64_t estimatedbytes = (nb+nk+no)*adios_type_size(adios_double, NULL);
+ uint64_t adios_totalsize;
+ adios_group_size (gAdios_write_file, estimatedbytes +1048576, &adios_totalsize);
+
+ printf("=> adios open output file: %s, rank %d allocated %llu bytes... \n", gIdxFileName, rank, adios_totalsize);
+
+
+ defineFastbitVar(1, bmsVarName, &var_ids_bms, adios_unsigned_integer, &nb,0,0);
+ defineFastbitVar(1, keyVarName, &var_ids_key, adios_double, &nk, 0, 0);
+ defineFastbitVar(1, offsetName, &var_ids_offset, adios_long, &no, 0, 0);
+
+
+ logTime(" write starts");
+ logTimeMillis(" write starts");
+
+ adios_write_byid(gAdios_write_file, var_ids_bms, bms);
+ adios_write_byid(gAdios_write_file, var_ids_key, keys);
+ adios_write_byid(gAdios_write_file, var_ids_offset, offsets);
+
+ logTime(" write ends");
+ logTimeMillis(" write ends");
+ sumLogTime(1);
+ sumLogTimeMillis(1);
+
+ adios_selection_delete(sel);
+ free(data);
+ data = NULL;
+
+} // onselection
+*/
- printf(" rank:%d, index created = %llu, %llu, %llu, on var:%d, timestep: %d, block %d\n", rank, nb, nk, no, v->varid, i, j);
- sum_nb += nb; sum_nk += nk, sum_no += no;
+void onMultiBlock(int rank, ADIOS_FILE* f, ADIOS_VARINFO* v, int timestep, int blockStart, int blockEnd, FastBitDataType ft)
+{
+ int i=0;
+
+ char selName[100];
+ sprintf(selName, "block-%d", blockStart, blockEnd);
+
+ uint64_t blockSizeArray[blockEnd-blockStart];
+
+ uint64_t totalCount = 0;
+ for (i = blockStart; i< blockEnd; i++) {
+ blockSizeArray[i-blockStart] = fastbit_adios_util_getBlockSize(v, timestep, i);
+ //totalBytes += blockSizeArray[i-blockStart] * adios_type_size (v->type, v->value);
+ totalCount += blockSizeArray[i-blockStart];
+ }
+
+ //void* data = malloc (totalBytes);
+ double* data = (double *) calloc (totalCount, sizeof (double));
+
+ uint64_t currStart = 0;
+ for (i = blockStart; i < blockEnd; i++) {
+ ADIOS_SELECTION* blockSel = adios_selection_writeblock(i);
+
+ int err = adios_schedule_read_byid(f, blockSel, v->varid, timestep, 1, &data[currStart]);
+ currStart += blockSizeArray[i-blockStart];
+ if (!err) {
+ err = adios_perform_reads(f, 1);
+ } else {
+ printf("Unable to read block %d at timestep: %d \n", i, timestep);
+ return;
+ //break;
+ }
+ }
+
+ processData(data, totalCount, rank, timestep, selName, ft, v);
+ //processData(void* data, uint64_t dataCount, int rank, int timestep, char* selName, FastBitDataType ft, ADIOS_VARINFO* v)
- defineFastbitVar(1,bmsVarName, &var_ids_bms[j], adios_unsigned_integer, &nb,0,0);
- defineFastbitVar(1, keyVarName, &var_ids_key[j], adios_double, &nk, 0, 0);
- defineFastbitVar(1, offsetName, &var_ids_offset[j], adios_long, &no, 0, 0);
+} // on multi block
- logTime(" write starts");
- logTimeMillis(" write starts");
- adios_write_byid(gAdios_write_file, var_ids_bms[j], bms);
- adios_write_byid(gAdios_write_file, var_ids_key[j], keys);
- adios_write_byid(gAdios_write_file, var_ids_offset[j], offsets);
- logTime(" write ends");
- logTimeMillis(" write ends");
- sumLogTime(1);
- sumLogTimeMillis(1);
- adios_selection_delete(blockSel);
- free(data);
+void onBox(int rank, ADIOS_FILE* f, ADIOS_VARINFO* v, int timestep, uint64_t* start, uint64_t* count, FastBitDataType ft)
+{
+ int i=0;
+
+ char selName[100];
+ sprintf(selName, "box-%lu", start[0]);
+
- verifyData(f, v, blockCounter, i);
+ uint64_t totalCount = 1;
+ for (i = 0; i<v->ndim; i++) {
+ totalCount *= count[i];
+ }
+
+ double* data = (double *) calloc (totalCount, sizeof (double));
+
+ uint64_t currStart = 0;
+
+ ADIOS_SELECTION* boxSel = adios_selection_boundingbox(v->ndim, start, count);
+
+ int err = adios_schedule_read_byid(f, boxSel, v->varid, timestep, 1, data);
+
+ if (!err) {
+ err = adios_perform_reads(f, 1);
+ }
+
+ processData(data, totalCount, rank, timestep, selName, ft, v);
+
+} // on box
+
+
+void processData(void* data, uint64_t dataCount, int rank, int timestep, char* selName, FastBitDataType ft, ADIOS_VARINFO* v)
+{
+ char bmsVarName[100];
+ char keyVarName[100];
+ char offsetName[100];
+
+ int64_t var_ids_bms;
+ int64_t var_ids_key;
+ int64_t var_ids_offset;
+
+ sprintf(bmsVarName, "bms-%d-%d-%s", v->varid, timestep, selName);
+ sprintf(keyVarName, "key-%d-%d-%s", v->varid, timestep, selName);
+ sprintf(offsetName, "offset-%d-%d-%s", v->varid, timestep, selName);
+
+
+ double* keys = NULL;
+ int64_t *offsets = NULL;
+ uint32_t *bms = NULL;
+ uint64_t nk=0, no=0, nb=0;
+
+ const char* datasetName = "test";
+ logTime(" data collected, fastbit start indexing");
+ logTimeMillis(" data collected, fastbit start indexing");
+ //fastbit_adios_util_printData(data, v->type, blockBytes/adios_type_size(v->type, v->value));
+
+ fastbitIndex(datasetName, data, dataCount, ft, &keys, &nk, &offsets, &no, &bms, &nb);
+
+ logTime(" indexed on block");
+ logTimeMillis(" indexed on block");
+
+ printf(" RANK:%d, index created = %llu, %llu, %llu, on var:%d, timestep: %d, block %s\n", rank, nb, nk, no, v->varid, timestep, selName);
+ sum_nb += nb; sum_nk += nk, sum_no += no;
+
+
+ defineFastbitVar(1, bmsVarName, &var_ids_bms, adios_unsigned_integer, &nb,0,0);
+ defineFastbitVar(1, keyVarName, &var_ids_key, adios_double, &nk, 0, 0);
+ defineFastbitVar(1, offsetName, &var_ids_offset, adios_long, &no, 0, 0);
+
+ printf("bms[0] = %llu, bms[1]=%llu \n", bms[0], bms[1]);
+ //var_ids_bms = defineAdiosVar(bmsVarName, adios_unsigned_integer, nb, 0, 0);
+ //var_ids_key = defineAdiosVar(keyVarName, adios_double, nk, 0, 0);
+ //var_ids_offset = defineAdiosVar(offsetName, adios_long, no, 0, 0);
+
+
+ logTime(" write starts");
+ logTimeMillis(" write starts");
+
+ adios_write_byid(gAdios_write_file, var_ids_bms, bms);
+ adios_write_byid(gAdios_write_file, var_ids_key, keys);
+ adios_write_byid(gAdios_write_file, var_ids_offset, offsets);
+
+ logTime(" write ends");
+ logTimeMillis(" write ends");
+ sumLogTime(1);
+ sumLogTimeMillis(1);
+
+ free(data);
+ data = NULL;
+ free(bms); bms = NULL;
+ free(keys); keys = NULL;
+ free(offsets); offsets = NULL;
+
+
}
+void onBlock(int rank, ADIOS_FILE* f, ADIOS_VARINFO* v, int i, int j, int blockCounter, FastBitDataType ft)
+{
+ char bmsVarName[100];
+ char keyVarName[100];
+ char offsetName[100];
+
+ int64_t var_ids_bms[v->nblocks[i]];
+ int64_t var_ids_key[v->nblocks[i]];
+ int64_t var_ids_offset[v->nblocks[i]];
+
+ sprintf(bmsVarName, "bms-%d-%d-%d", v->varid, i, j);
+ sprintf(keyVarName, "key-%d-%d-%d", v->varid, i, j);
+ sprintf(offsetName, "offset-%d-%d-%d", v->varid, i, j);
+
+
+ uint64_t blockSize = fastbit_adios_util_getBlockSize(v, i, j);
+ uint64_t blockDataByteSize = adios_type_size (v->type, v->value) * blockSize;
+
+ char notes[100];
+ logTime(NULL); logTimeMillis(NULL);
+
+ sprintf(notes, " reading data from adios on varid=%d, time=%d, block: %d, size=%ld bytes=%ld", v->varid, i, j, blockSize, blockDataByteSize);
+
+ logTime(notes); logTimeMillis(notes);
+ localtime(&indexRefresh);
+
+ //printf(" %d th block / (%d), size= %llu bytes=%llu", j, blockSize, blockCounter, blockDataByteSize);
+
+ void* data = malloc (blockDataByteSize);
+ ADIOS_SELECTION* blockSel = adios_selection_writeblock(j);
+
+ //adios_selcton_writeblock(num), 0 <= num < nblocks[timestep]
+ //ADIOS_SELECTION* blockSel = adios_selection_writeblock(blockCounter);
+ int err = adios_schedule_read_byid(f, blockSel, v->varid, i, 1, data);
+ if (!err) {
+ err = adios_perform_reads(f, 1);
+ } else {
+ printf("Unable to read block %d at timestep: %d \n", j, i);
+ return;
+ //break;
+ }
+ //fastbit_adios_util_printData(data, v->type, blockSize);
+
+ char selName[20];
+ sprintf(selName, "block-%d", j);
+ processData(data, blockSize, rank, i, selName, ft, v);
+
+ //processData(void* data, uint64_t dataCount, int rank, int timestep, char* selName, FastBitDataType ft, ADIOS_VARINFO* v)
+
+
+ adios_selection_delete(blockSel);
+ verifyData(f, v, blockCounter, i);
+} // onblock
+
void buildIndex_mpi(ADIOS_FILE* f, ADIOS_VARINFO* v, int rank, int size)
{
@@ -299,23 +519,98 @@ void buildIndex_mpi(ADIOS_FILE* f, ADIOS_VARINFO* v, int rank, int size)
int blockCounter = -1;
FastBitDataType ft = fastbit_adios_util_getFastbitDataType(v->type);
+
+#ifdef SINGLE_BLOCK
for (i=0; i < v->nsteps; i++) {
int nblocks = v->nblocks[i];
-
- for (j=0; j < v->nblocks[i]; j++) {
+ for (j=0; j < nblocks; j++) {
blockCounter++;
if (blockCounter % size == rank) {
+
onBlock(rank, f, v, i, j, blockCounter, ft);
+
+ fastbit_cleanup();
}
}
+
printf(" rank %d, varid %d, timestep %d total index created = %llu, %llu, %llu, \n", rank, v->varid, i, sum_nb, sum_nk, sum_no);
printf(" rank %d, varid %d, timestep %d total bytes = %llu, %llu, %llu, \n", rank, v->varid, i,
adios_type_size(adios_unsigned_integer , NULL)*sum_nb,
adios_type_size(adios_double, NULL)*sum_nk,
adios_type_size(adios_long, NULL)*sum_no);
- fastbit_cleanup();
+
printf("\n");
}
+#endif
+
+#ifdef MULTI_BLOCK
+ for (i=0; i<v->nsteps; i++) {
+ int nblocks = v->nblocks[i];
+ int blockStart = 0;
+ int blockEnd = blockStart+pack;
+
+
+ while (blockStart < nblocks) {
+ if (blockEnd > nblocks) {
+ blockEnd = nblocks;
+ }
+ printf("block start=%d, end=%d, max=%d\n", blockStart, blockEnd, nblocks);
+
+ if (workCounter % size == rank) {
+ printf("%ld mod %ld == %d \n", workCounter, size, rank);
+ onMultiBlock(rank, f, v, i, blockStart, blockEnd, ft);
+ fastbit_cleanup();
+ }
+
+ workCounter ++;
+
+ blockStart += pack;
+ blockEnd = blockStart+pack;
+ }
+
+ fastbit_cleanup();
+ }
+#endif
+
+#ifdef BOX
+ for (i=0; i<v->nsteps; i++) {
+ uint64_t s = 0;
+ uint64_t dataSize = 1;
+ uint64_t start[v->ndim];
+ for (s=0; s<v->ndim; s++) {
+ dataSize *= v->dims[s];
+ start[s] = 0;
+ }
+
+ uint64_t split = dataSize/recommended_index_ele;
+ uint64_t startRef = 0;
+ if (split == 0) {
+ if (rank == 0) {
+ onBox(rank, f, v, i, start, v->dims, ft);
+ }
+ } else {
+ while (startRef < v->dims[0]) {
+ uint64_t count[v->ndim];
+ start[0] = startRef;
+ startRef += v->dims[0]/split;
+ if (startRef >= v->dims[0]) {
+ startRef = v->dims[0];
+ }
+ count[0] = startRef - start[0];
+ for (s=1; s<v->ndim; s++) {
+ start[s] = 0;
+ count[s] = v->dims[s];
+ }
+
+ if (workCounter % size == rank) {
+ onBox(rank, f, v, i, start, count, ft);
+ }
+
+ workCounter ++;
+ }
+ }
+ }
+#endif
}
void buildIndexOnAllVar(ADIOS_FILE* f, int rank, int size)
@@ -373,6 +668,42 @@ uint64_t estimateBytesOnVar(ADIOS_FILE* f, ADIOS_VARINFO* v)
//return result * typeSize;
}
+int getJobCounter(ADIOS_FILE* f)
+{
+ int numVars = f->nvars;
+ int counter = 0;
+
+ int i=0, k=0;
+ for (i=0; i<numVars; i++) {
+ char* varName = f->var_namelist[i];
+ ADIOS_VARINFO* v = adios_inq_var(f, varName);
+ if (v->ndim == 0) {
+ continue;
+ }
+ for (k=0; k<v->nsteps; k++) {
+#ifdef MULTI_BOX
+ int nblocks = v->nblocks[k];
+ printf("var = %s, timestep = %ld, nblocks=%ld\n", varName, k, nblocks);
+ int remainder = nblocks % pack;
+ counter += nblocks/pack;
+#endif
+#ifdef BOX
+ int j=0;
+ uint64_t totalElements =1;
+ for (j=0; j<v->ndim; j++) {
+ totalElements *= v->dims[j];
+ }
+ int remainder = totalElements % recommended_index_ele;
+ counter += totalElements/recommended_index_ele;
+#endif
+ if (remainder > 0) {
+ counter += 1;
+ }
+ }
+ }
+ return counter;
+}
+
int64_t getByteEstimationOnFile(ADIOS_FILE* f, int rank)
{
// check all vars
@@ -439,15 +770,12 @@ int main (int argc, char** argv)
//MPI_Comm comm_dummy = 0; // MPI_Comm is defined through adios_read.h
MPI_Comm comm_dummy = MPI_COMM_WORLD;
-
int rank, size;
MPI_Init (&argc, &argv);
MPI_Comm_rank (comm_dummy, &rank);
MPI_Comm_size (comm_dummy, &size);
adios_init_noxml (comm_dummy);
-
- char *idxFileName;
if (argc < 2) {
printf("Usage: index_fastbit fileName (attrName)");
@@ -459,28 +787,57 @@ int main (int argc, char** argv)
printf ("::%s\n", adios_errmsg());
return -1;
}
-
+
+ /*
adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, (f->file_size)*2/1048576 + 5); // +5MB for extra room in buffer
adios_declare_group (&gAdios_group, gGroupNameFastbitIdx, "", adios_flag_yes);
adios_select_method (gAdios_group, "MPI", "", "");
+ */
+ gIdxFileName = fastbit_adios_util_getFastbitIndexFileName(argv[1]);
+ unlink(gIdxFileName);
-
- idxFileName = fastbit_adios_util_getFastbitIndexFileName(argv[1]);
+ adios_allocate_buffer (ADIOS_BUFFER_ALLOC_NOW, 500); // +5MB for extra room in buffer
+ adios_declare_group (&gAdios_group, gGroupNameFastbitIdx, "", adios_flag_yes);
+ adios_select_method (gAdios_group, "MPI", "", "");
- unlink(idxFileName);
- adios_open (&gAdios_write_file, gGroupNameFastbitIdx, idxFileName, "w", comm_dummy);
+ adios_open (&gAdios_write_file, gGroupNameFastbitIdx, gIdxFileName, "w", MPI_COMM_WORLD);
- uint64_t adios_totalsize;
-
- uint64_t estimatedbytes = getByteEstimation(f, rank, argc, argv);
- // each processor is writing call this function, so the eventual size would add up
- adios_group_size (gAdios_write_file, estimatedbytes/size+1048576, &adios_totalsize);
+#ifdef MULTI_BLOCK
+ int testid = adios_define_var (gAdios_group, "pack", "", adios_integer , 0, 0, 0);
+#endif
+#ifdef BOX
+ int testid = adios_define_var (gAdios_group, "elements", "", adios_integer , 0, 0, 0);
+#endif
+ //uint64_t estimatedbytes = (nb+nk+no)*adios_type_size(adios_double, NULL);
+ int jobCounter = getJobCounter(f);
+ uint64_t estimatedbytes = getByteEstimationOnFile(f, rank);
+ if (size > 1) {
+ int maxJobsPP = jobCounter/size + 1;
+ estimatedbytes = estimatedbytes * maxJobsPP /jobCounter +1048576;
+ }
+
+ estimatedbytes += 1048576;
+
+ uint64_t adios_totalsize; // adios_group_size needs to be call before any write_byid, Otherwise write_byid does nothing
+ adios_group_size (gAdios_write_file, estimatedbytes , &adios_totalsize);
+
+ printf("=> .. adios open output file: %s, rank %d allocated %llu bytes... \n", gIdxFileName, rank, adios_totalsize);
+ // IMPORTANT:
+ // can only call open/close once in a process
+ // otherwise data is tangled or only the data in the last open/close call is recorded
+
+#ifdef MULTI_BLOCK
+ adios_write_byid(gAdios_write_file, testid, &pack);
+#endif
+#ifdef BOX
+ adios_write_byid(gAdios_write_file, testid, &recommended_index_ele);
+#endif
- printf("=> adios open output file: %s, rank %d allocated %llu bytes... \n", idxFileName, rank, adios_totalsize);
sumLogTime(-1);
sumLogTimeMillis(-1);
+
if (argc >= 3) {
int i=2;
while (i<argc) {
@@ -511,6 +868,7 @@ int main (int argc, char** argv)
buildIndexOnAllVar(f, rank, size);
}
+
sumLogTime(0);
sumLogTimeMillis(0);
@@ -523,9 +881,9 @@ int main (int argc, char** argv)
// read back:
- f = adios_read_open_file (idxFileName, ADIOS_READ_METHOD_BP, comm_dummy);
+ f = adios_read_open_file (gIdxFileName, ADIOS_READ_METHOD_BP, comm_dummy);
if (f == NULL) {
- printf("No such file: %s \n", idxFileName);
+ printf("No such file: %s \n", gIdxFileName);
return 0;
}
@@ -550,14 +908,14 @@ int main (int argc, char** argv)
adios_read_close(f);
if (rank == 0) {
- printf(" ==> index file is at: %s\n", idxFileName);
+ printf(" ==> index file is at: %s\n", gIdxFileName);
}
// clean up
MPI_Barrier (comm_dummy);
adios_finalize (rank);
MPI_Finalize ();
- free (idxFileName);
+ free (gIdxFileName);
fastbit_cleanup();
return 0;
diff --git a/utils/gpp/Makefile.in b/utils/gpp/Makefile.in
index 6a2d4f5..a579b0c 100644
--- a/utils/gpp/Makefile.in
+++ b/utils/gpp/Makefile.in
@@ -306,6 +306,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/utils/list_methods/CMakeLists.txt b/utils/list_methods/CMakeLists.txt
index 93bddc1..1d42587 100644
--- a/utils/list_methods/CMakeLists.txt
+++ b/utils/list_methods/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/utils/list_methods)
link_directories(${PROJECT_BINARY_DIR}/utils/list_methods)
diff --git a/utils/list_methods/Makefile.am b/utils/list_methods/Makefile.am
index 83530e9..9b1f9bd 100644
--- a/utils/list_methods/Makefile.am
+++ b/utils/list_methods/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/core
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/list_methods/Makefile.in b/utils/list_methods/Makefile.in
index 8dec06c..c60f94d 100644
--- a/utils/list_methods/Makefile.in
+++ b/utils/list_methods/Makefile.in
@@ -349,6 +349,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -406,7 +409,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
@BUILD_WRITE_TRUE at list_methods_SOURCES = list_methods.c
diff --git a/utils/skel/Makefile.in b/utils/skel/Makefile.in
index 0974ead..62b9130 100644
--- a/utils/skel/Makefile.in
+++ b/utils/skel/Makefile.in
@@ -350,6 +350,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/utils/skel/etc/Makefile.in b/utils/skel/etc/Makefile.in
index e40100c..37b24c4 100644
--- a/utils/skel/etc/Makefile.in
+++ b/utils/skel/etc/Makefile.in
@@ -305,6 +305,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/utils/skel/src/Makefile.in b/utils/skel/src/Makefile.in
index 67811d0..efbb5b5 100644
--- a/utils/skel/src/Makefile.in
+++ b/utils/skel/src/Makefile.in
@@ -332,6 +332,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
diff --git a/utils/skeldump/CMakeLists.txt b/utils/skeldump/CMakeLists.txt
index 031da20..d3f9bc8 100644
--- a/utils/skeldump/CMakeLists.txt
+++ b/utils/skeldump/CMakeLists.txt
@@ -1,6 +1,6 @@
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/core)
-include_directories(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src/public)
include_directories(${PROJECT_SOURCE_DIR}/src/public)
link_directories(${PROJECT_BINARY_DIR}/src)
link_directories(${PROJECT_BINARY_DIR}/src/core)
diff --git a/utils/skeldump/Makefile.am b/utils/skeldump/Makefile.am
index 28126bb..cd62189 100644
--- a/utils/skeldump/Makefile.am
+++ b/utils/skeldump/Makefile.am
@@ -1,5 +1,5 @@
AM_CPPFLAGS = $(all_includes)
-AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
+AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_builddir)/src/public -I$(top_srcdir)/src -I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
diff --git a/utils/skeldump/Makefile.in b/utils/skeldump/Makefile.in
index 0e9c86c..3008f61 100644
--- a/utils/skeldump/Makefile.in
+++ b/utils/skeldump/Makefile.in
@@ -307,6 +307,9 @@ TIMER_CPPFLAGS = @TIMER_CPPFLAGS@
TIMER_LDFLAGS = @TIMER_LDFLAGS@
TIMER_LIBS = @TIMER_LIBS@
VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
ZLIB_LDFLAGS = @ZLIB_LDFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -364,7 +367,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/src \
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/src \
+ -I$(top_builddir)/src/public -I$(top_srcdir)/src \
-I$(top_srcdir)/src/public -I$(top_srcdir)/src/core
AUTOMAKE_OPTIONS = no-dependencies
skeldump_SOURCES = skeldump.c
diff --git a/wrappers/matlab/adiosload.m b/wrappers/matlab/adiosload.m
new file mode 100644
index 0000000..8fc4238
--- /dev/null
+++ b/wrappers/matlab/adiosload.m
@@ -0,0 +1,33 @@
+function adiosload(file, prefix)
+%ADIOSLOAD Read all variables in an ADIOS BP file
+%
+% ADIOSLOAD is a batch process to load all variables in an ADIOS BP
+% file. The simplest way is to give an ADIOS BP file name. An optional
+% 'prefix' string can be given to avoid name conflict or name conversion.
+%
+% ADIOSLOAD(FILE)
+% Read all the variables in FILE and use the same variable names.
+%
+% ADIOSLOAD(FILE, PREFIX)
+% Read all the variables in FILE and add PREFIX to the varaible names.
+%
+% See also ADIOSOPEN, ADIOSCLOSE, ADIOS.
+
+% Copyright 2009 UT-BATTELLE, LLC
+% $Revision: 1.0 $ $Date: 2009/08/05 12:53:41 $
+% Author: Norbert Podhorszki <pnorbert at ornl.gov>
+
+if (~exist('prefix', 'var'))
+ prefix = '';
+end
+fp = adiosopen(file);
+for i = 1:length(fp.Groups.Variables)
+ try
+ name{i} = fp.Groups.Variables(i).Name;
+ data{i} = adiosread(fp.Groups, fp.Groups.Variables(i).Name);
+ assignin('base',[prefix name{i}],data{i});
+ catch
+ warning(['Skip ... ', fp.Groups.Variables(i).Name]);
+ end
+end
+adiosclose(fp);
diff --git a/wrappers/matlab/posix_method.bp b/wrappers/matlab/posix_method.bp
new file mode 100644
index 0000000..dc7b0cd
Binary files /dev/null and b/wrappers/matlab/posix_method.bp differ
diff --git a/wrappers/matlab/posix_method.bp.dir/posix_method.bp.0 b/wrappers/matlab/posix_method.bp.dir/posix_method.bp.0
new file mode 100644
index 0000000..13efbd1
Binary files /dev/null and b/wrappers/matlab/posix_method.bp.dir/posix_method.bp.0 differ
diff --git a/wrappers/matlab/two_groups19.bp b/wrappers/matlab/two_groups19.bp
new file mode 120000
index 0000000..f798eed
--- /dev/null
+++ b/wrappers/matlab/two_groups19.bp
@@ -0,0 +1 @@
+/ccs/home/pnorbert/two_groups19.bp
\ No newline at end of file
diff --git a/wrappers/matlab/xgc.diagnosis.bp b/wrappers/matlab/xgc.diagnosis.bp
new file mode 120000
index 0000000..3a792f7
--- /dev/null
+++ b/wrappers/matlab/xgc.diagnosis.bp
@@ -0,0 +1 @@
+/lustre/atlas/proj-shared/env003/jyc/titan/test-adios/xgc.diagnosis.bp
\ No newline at end of file
diff --git a/wrappers/numpy/MANIFEST.in b/wrappers/numpy/MANIFEST.in
new file mode 100644
index 0000000..0d9cf57
--- /dev/null
+++ b/wrappers/numpy/MANIFEST.in
@@ -0,0 +1,2 @@
+include mpi.cfg
+include conf/*.py
diff --git a/wrappers/numpy/README b/wrappers/numpy/README
index 8ad5d19..032a868 100644
--- a/wrappers/numpy/README
+++ b/wrappers/numpy/README
@@ -7,6 +7,31 @@ to call the native ADIOS library. This module is built by Cython.
This module requires ADIOS built with the GNU C compiler with
relocatable codes. Add -fPIC flag to CFLAGS before configuring ADIOS.
+== Quick install with pip ==
+
+ADIOS Python wrapper can be installed with pip. Check if pip is
+installed already. Otherwise, install pip first:
+
+$ wget https://bootstrap.pypa.io/get-pip.py
+$ sudo python get-pip.py
+Or,
+$ python get-pip.py --user
+to install in a local directory, $HOME/.local
+
+Before installing ADIOS Python wrappers, make sure Numpy and MPI4Py
+installed. Otherwise, install them as follows:
+
+$ pip install numpy
+$ pip install mpi4py
+
+Then, install Adios and Adios-MPI wrapper as follows:
+
+$ pip install adios
+$ pip install adios_mpi
+
+If you want to install in a custom directory, use the following:
+$ pip install --install-option="--prefix=$PREFIX" adios
+$ pip install --install-option="--prefix=$PREFIX" adios_mpi
== Build and install with make ==
@@ -44,6 +69,7 @@ You can also install in your local directory, run
$ python setup.py install --user
+
== Test cases and examples ==
Test cases and example files are located in tests and example
@@ -63,3 +89,62 @@ for the serial version of Adios wrapper. If you need to generated C++
for MPI-enabled version, try the following
$ make CYTHON=y MPI=y python
+
+
+== Upload to PyPI ==
+
+Create $HOME/.pypirc as follows:
+[distutils]
+ index-servers =
+ pypi
+
+[pypi]
+ repository: https://pypi.python.org/pypi
+ username: {{your_username}}
+ password: {{your_password}}
+
+Then, do the followings:
+$ python setup.py register
+$ python setup.py sdist upload
+
+
+== Build Document ==
+
+Need sphinx. Install as follows:
+$ pip install Sphinx
+
+== Trouble Shooting ==
+
+-. Custom MPICC and MPICXX
+
+If one needs to use a custom MPICC and MPICXX command (e.g., Titan),
+then use the following command:
+
+$ python setup_mpi.py build_ext --mpicc=cc --mpicxx=CC
+
+Or, to do with pip, try:
+
+$ pip --global-option=build_ext \
+ --global-option=--mpicc=cc --global-option=--mpicxx=CC adios
+
+-. Import error due to undefined "clock_gettime" symbol
+
+When getting the following error:
+
+$ python test_adios.py Traceback (most recent call last):
+ File "test_adios.py", line 8, in <module>
+ import adios as ad
+ ImportError: /path/to/adios.so: undefined symbol: clock_gettime
+
+Try to use the following command to install:
+
+$ pip install --global-option build_ext --global-option -lrt adios
+$ pip install --global-option build_ext --global-option -lrt adios_mpi
+
+-. "Could not find any downloads that satisfy the requirement" with pip
+
+If the error is caused by a certificate error, then, try
+
+$ wget http://curl.haxx.se/ca/cacert.pem
+$ pip --cert cacert.pem search adios
+$ pip --cert cacert.pem install adios
diff --git a/wrappers/numpy/adios.cpp b/wrappers/numpy/adios.cpp
index 9fb1609..47b2bb7 100644
--- a/wrappers/numpy/adios.cpp
+++ b/wrappers/numpy/adios.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.21.1 */
+/* Generated by Cython 0.22 */
#define PY_SSIZE_T_CLEAN
#ifndef CYTHON_USE_PYLONG_INTERNALS
@@ -19,7 +19,7 @@
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
#error Cython requires Python 2.6+ or Python 3.2+.
#else
-#define CYTHON_ABI "0_21_1"
+#define CYTHON_ABI "0_22"
#include <stddef.h>
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
@@ -54,7 +54,7 @@
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 1
#endif
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
#define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
@@ -203,11 +203,22 @@ static CYTHON_INLINE float __PYX_NAN() {
return value;
}
#endif
+#define __Pyx_void_to_None(void_result) (void_result, Py_INCREF(Py_None), Py_None)
#ifdef __cplusplus
template<typename T>
void __Pyx_call_destructor(T* x) {
x->~T();
}
+template<typename T>
+class __Pyx_FakeReference {
+ public:
+ __Pyx_FakeReference() : ptr(NULL) { }
+ __Pyx_FakeReference(T& ref) : ptr(&ref) { }
+ T *operator->() { return ptr; }
+ operator T&() { return *ptr; }
+ private:
+ T *ptr;
+};
#endif
@@ -298,11 +309,11 @@ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#endif
#define __Pyx_PyObject_AsSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_FromUString(s) __Pyx_PyObject_FromString((const char*)s)
-#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((const char*)s)
-#define __Pyx_PyByteArray_FromUString(s) __Pyx_PyByteArray_FromString((const char*)s)
-#define __Pyx_PyStr_FromUString(s) __Pyx_PyStr_FromString((const char*)s)
-#define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((const char*)s)
+#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
+#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
+#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
+#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
+#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
{
@@ -338,7 +349,7 @@ static int __Pyx_init_sys_getdefaultencoding_params(void) {
const char* default_encoding_c;
sys = PyImport_ImportModule("sys");
if (!sys) goto bad;
- default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
+ default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
Py_DECREF(sys);
if (!default_encoding) goto bad;
default_encoding_c = PyBytes_AsString(default_encoding);
@@ -451,7 +462,7 @@ static const char *__pyx_f[] = {
"type.pxd",
};
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":723
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
* # in Cython to enable them only on the right systems.
*
* ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
@@ -460,7 +471,7 @@ static const char *__pyx_f[] = {
*/
typedef npy_int8 __pyx_t_5numpy_int8_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":724
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":727
*
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
@@ -469,7 +480,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
*/
typedef npy_int16 __pyx_t_5numpy_int16_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":728
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
@@ -478,7 +489,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
*/
typedef npy_int32 __pyx_t_5numpy_int32_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":729
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t
* ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
@@ -487,7 +498,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
*/
typedef npy_int64 __pyx_t_5numpy_int64_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":730
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
* #ctypedef npy_int128 int128_t
*
* ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
@@ -496,7 +507,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
*/
typedef npy_uint8 __pyx_t_5numpy_uint8_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":731
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":734
*
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
@@ -505,7 +516,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
*/
typedef npy_uint16 __pyx_t_5numpy_uint16_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":735
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
@@ -514,7 +525,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
*/
typedef npy_uint32 __pyx_t_5numpy_uint32_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":736
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t
* ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
@@ -523,7 +534,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
*/
typedef npy_uint64 __pyx_t_5numpy_uint64_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":737
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
* #ctypedef npy_uint128 uint128_t
*
* ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
@@ -532,7 +543,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
*/
typedef npy_float32 __pyx_t_5numpy_float32_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":738
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":741
*
* ctypedef npy_float32 float32_t
* ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
@@ -541,7 +552,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
*/
typedef npy_float64 __pyx_t_5numpy_float64_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":747
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":750
* # The int types are mapped a bit surprising --
* # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t # <<<<<<<<<<<<<<
@@ -550,7 +561,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t;
*/
typedef npy_long __pyx_t_5numpy_int_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":748
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
* # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t
* ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
@@ -559,7 +570,7 @@ typedef npy_long __pyx_t_5numpy_int_t;
*/
typedef npy_longlong __pyx_t_5numpy_long_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":752
* ctypedef npy_long int_t
* ctypedef npy_longlong long_t
* ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
@@ -568,7 +579,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t;
*/
typedef npy_longlong __pyx_t_5numpy_longlong_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
* ctypedef npy_longlong longlong_t
*
* ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
@@ -577,7 +588,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t;
*/
typedef npy_ulong __pyx_t_5numpy_uint_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":752
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
*
* ctypedef npy_ulong uint_t
* ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
@@ -586,7 +597,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t;
*/
typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":756
* ctypedef npy_ulong uint_t
* ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
@@ -595,7 +606,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
*/
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
* ctypedef npy_ulonglong ulonglong_t
*
* ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
@@ -604,7 +615,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
*/
typedef npy_intp __pyx_t_5numpy_intp_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":756
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":759
*
* ctypedef npy_intp intp_t
* ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
@@ -613,7 +624,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
*/
typedef npy_uintp __pyx_t_5numpy_uintp_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":761
* ctypedef npy_uintp uintp_t
*
* ctypedef npy_double float_t # <<<<<<<<<<<<<<
@@ -622,7 +633,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
*/
typedef npy_double __pyx_t_5numpy_float_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":759
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
*
* ctypedef npy_double float_t
* ctypedef npy_double double_t # <<<<<<<<<<<<<<
@@ -631,7 +642,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
*/
typedef npy_double __pyx_t_5numpy_double_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":763
* ctypedef npy_double float_t
* ctypedef npy_double double_t
* ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
@@ -663,8 +674,16 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
/*--- Type declarations ---*/
struct __pyx_obj_5adios_file;
struct __pyx_obj_5adios_var;
-
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
+struct __pyx_obj_5adios_attr;
+struct __pyx_obj_5adios_smartdict;
+struct __pyx_obj_5adios_writer;
+struct __pyx_obj_5adios_attrinfo;
+struct __pyx_obj_5adios_varinfo;
+struct __pyx_obj_5adios___pyx_scope_struct____getitem__;
+struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr;
+struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr;
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
* ctypedef npy_longdouble longdouble_t
*
* ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
@@ -673,7 +692,7 @@ struct __pyx_obj_5adios_var;
*/
typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":763
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
*
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
@@ -682,7 +701,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
*/
typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":767
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t
* ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
@@ -691,7 +710,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
*/
typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":769
* ctypedef npy_clongdouble clongdouble_t
*
* ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
@@ -701,17 +720,19 @@ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
typedef npy_cdouble __pyx_t_5numpy_complex_t;
struct __pyx_opt_args_5adios_init;
struct __pyx_opt_args_5adios_open;
+struct __pyx_opt_args_5adios_write;
struct __pyx_opt_args_5adios_finalize;
struct __pyx_opt_args_5adios_init_noxml;
struct __pyx_opt_args_5adios_declare_group;
struct __pyx_opt_args_5adios_define_var;
struct __pyx_opt_args_5adios_select_method;
+struct __pyx_opt_args_5adios_adios2npdtype;
struct __pyx_opt_args_5adios_read_init;
struct __pyx_opt_args_5adios_read_finalize;
struct __pyx_opt_args_5adios_4file_advance;
struct __pyx_opt_args_5adios_3var_read;
-/* "adios.pyx":259
+/* "adios.pyx":305
* ## ====================
*
* cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
@@ -723,7 +744,7 @@ struct __pyx_opt_args_5adios_init {
MPI_Comm comm;
};
-/* "adios.pyx":262
+/* "adios.pyx":308
* return adios_init(config, comm)
*
* cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
@@ -735,7 +756,19 @@ struct __pyx_opt_args_5adios_open {
MPI_Comm comm;
};
-/* "adios.pyx":303
+/* "adios.pyx":323
+ * return total_size
+ *
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None): # <<<<<<<<<<<<<<
+ * cdef np.ndarray val_
+ * if isinstance(val, (np.ndarray)):
+ */
+struct __pyx_opt_args_5adios_write {
+ int __pyx_n;
+ PyObject *dtype;
+};
+
+/* "adios.pyx":356
* return adios_close(fd_p)
*
* cpdef int finalize(int mype = 0): # <<<<<<<<<<<<<<
@@ -747,7 +780,7 @@ struct __pyx_opt_args_5adios_finalize {
int mype;
};
-/* "adios.pyx":309
+/* "adios.pyx":362
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
@@ -759,7 +792,7 @@ struct __pyx_opt_args_5adios_init_noxml {
MPI_Comm comm;
};
-/* "adios.pyx":317
+/* "adios.pyx":370
* buffer_size)
*
* cpdef int64_t declare_group(char * name, # <<<<<<<<<<<<<<
@@ -772,7 +805,7 @@ struct __pyx_opt_args_5adios_declare_group {
int stats;
};
-/* "adios.pyx":327
+/* "adios.pyx":380
* return id
*
* cpdef int define_var(int64_t group_id, # <<<<<<<<<<<<<<
@@ -786,8 +819,8 @@ struct __pyx_opt_args_5adios_define_var {
char *local_offsets;
};
-/* "adios.pyx":354
- * var)
+/* "adios.pyx":450
+ * <void *> val_.data)
*
* cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
* char * method,
@@ -799,7 +832,19 @@ struct __pyx_opt_args_5adios_select_method {
char *base_path;
};
-/* "adios.pyx":487
+/* "adios.pyx":464
+ * ## ====================
+ *
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1): # <<<<<<<<<<<<<<
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
+ */
+struct __pyx_opt_args_5adios_adios2npdtype {
+ int __pyx_n;
+ int strlen;
+};
+
+/* "adios.pyx":592
*
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
@@ -813,7 +858,7 @@ struct __pyx_opt_args_5adios_read_init {
char *parameters;
};
-/* "adios.pyx":495
+/* "adios.pyx":600
*
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"): # <<<<<<<<<<<<<<
@@ -825,12 +870,12 @@ struct __pyx_opt_args_5adios_read_finalize {
char *method_name;
};
-/* "adios.pyx":568
+/* "adios.pyx":736
* printfile(self.fp)
*
* cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
- * return adios_advance_step(self.fp, last, timeout_sec)
- *
+ * """
+ * Advance a timestep for stream reader.
*/
struct __pyx_opt_args_5adios_4file_advance {
int __pyx_n;
@@ -838,12 +883,12 @@ struct __pyx_opt_args_5adios_4file_advance {
float timeout_sec;
};
-/* "adios.pyx":611
+/* "adios.pyx":888
+ * self.nsteps = self.vp.nsteps
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0): # <<<<<<<<<<<<<<
+ * """ Perform read.
*
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1): # <<<<<<<<<<<<<<
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
*/
struct __pyx_opt_args_5adios_3var_read {
int __pyx_n;
@@ -851,14 +896,15 @@ struct __pyx_opt_args_5adios_3var_read {
PyObject *count;
PyObject *from_steps;
PyObject *nsteps;
+ PyObject *fill;
};
-/* "adios.pyx":500
+/* "adios.pyx":605
*
- * """ Python class for ADIOS_FILE structure """
+ * ## Python class for ADIOS_FILE structure
* cdef class file: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cpdef ADIOS_FILE * fp
+ * """
+ * file class for Adios file read and write.
*/
struct __pyx_obj_5adios_file {
PyObject_HEAD
@@ -872,18 +918,18 @@ struct __pyx_obj_5adios_file {
int endianness;
int version;
int file_size;
+ int is_stream;
PyObject *var;
PyObject *attr;
- int is_stream;
};
-/* "adios.pyx":572
+/* "adios.pyx":798
+ * self.file_size)
*
- * """ Python class for ADIOS_VARINFO structure """
* cdef class var: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cdef file file
+ * """
+ * Adios variable class.
*/
struct __pyx_obj_5adios_var {
PyObject_HEAD
@@ -892,20 +938,152 @@ struct __pyx_obj_5adios_var {
ADIOS_VARINFO *vp;
PyObject *name;
int varid;
- PyObject *type;
+ PyArray_Descr *dtype;
int ndim;
PyObject *dims;
int nsteps;
};
+/* "adios.pyx":1063
+ * nsteps=nsteps_)
+ *
+ * cdef class attr: # <<<<<<<<<<<<<<
+ * """
+ * Adios attribute class.
+ */
+struct __pyx_obj_5adios_attr {
+ PyObject_HEAD
+ struct __pyx_obj_5adios_file *file;
+ PyObject *name;
+ PyArray_Descr *dtype;
+ PyArrayObject *value;
+};
-/* "adios.pyx":500
+
+/* "adios.pyx":1141
+ *
+ * ## Helper dict
+ * cdef class smartdict(dict): # <<<<<<<<<<<<<<
+ * cdef factory
+ * def __init__(self, factory):
+ */
+struct __pyx_obj_5adios_smartdict {
+ PyDictObject __pyx_base;
+ PyObject *factory;
+};
+
+
+/* "adios.pyx":1153
+ * self.factory(key, value)
+ *
+ * cdef class writer: # <<<<<<<<<<<<<<
+ * """
+ * writer class for Adios write.
+ */
+struct __pyx_obj_5adios_writer {
+ PyObject_HEAD
+ int64_t gid;
+ PyObject *fname;
+ PyObject *gname;
+ PyObject *method;
+ PyObject *method_params;
+ int is_noxml;
+ MPI_Comm comm;
+ PyObject *var;
+ PyObject *attr;
+};
+
+
+/* "adios.pyx":1347
+ * self.attr.keys())
+ *
+ * cdef class attrinfo: # <<<<<<<<<<<<<<
+ * cdef bytes name
+ * cdef bint is_static # Use define_byvalue, if True
+ */
+struct __pyx_obj_5adios_attrinfo {
+ PyObject_HEAD
+ PyObject *name;
+ int is_static;
+ PyObject *dtype;
+ PyObject *value;
+};
+
+
+/* "adios.pyx":1400
+ * self.dtype)
+ *
+ * cdef class varinfo: # <<<<<<<<<<<<<<
+ * cdef bytes name
+ * cdef public ldim
+ */
+struct __pyx_obj_5adios_varinfo {
+ PyObject_HEAD
+ PyObject *name;
+ PyObject *ldim;
+ PyObject *gdim;
+ PyObject *offset;
+ PyObject *value;
+};
+
+
+/* "adios.pyx":1010
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
+ */
+struct __pyx_obj_5adios___pyx_scope_struct____getitem__ {
+ PyObject_HEAD
+ PyObject *__pyx_v_dims_;
+ PyObject *__pyx_v_index_;
+ struct __pyx_obj_5adios_var *__pyx_v_self;
+};
+
+
+/* "adios.pyx":1031
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr {
+ PyObject_HEAD
+ struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *__pyx_outer_scope;
+ PyObject *__pyx_v_x;
+ PyObject *__pyx_t_0;
+ Py_ssize_t __pyx_t_1;
+ PyObject *(*__pyx_t_2)(PyObject *);
+};
+
+
+/* "adios.pyx":1039
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr {
+ PyObject_HEAD
+ struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *__pyx_outer_scope;
+ PyObject *__pyx_v_x;
+ PyObject *__pyx_t_0;
+ Py_ssize_t __pyx_t_1;
+ PyObject *(*__pyx_t_2)(PyObject *);
+};
+
+
+
+/* "adios.pyx":605
*
- * """ Python class for ADIOS_FILE structure """
+ * ## Python class for ADIOS_FILE structure
* cdef class file: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cpdef ADIOS_FILE * fp
+ * """
+ * file class for Adios file read and write.
*/
struct __pyx_vtabstruct_5adios_file {
@@ -916,20 +1094,23 @@ struct __pyx_vtabstruct_5adios_file {
static struct __pyx_vtabstruct_5adios_file *__pyx_vtabptr_5adios_file;
-/* "adios.pyx":572
+/* "adios.pyx":798
+ * self.file_size)
*
- * """ Python class for ADIOS_VARINFO structure """
* cdef class var: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cdef file file
+ * """
+ * Adios variable class.
*/
struct __pyx_vtabstruct_5adios_var {
PyObject *(*close)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch);
+ PyObject *(*advance)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch);
PyObject *(*read)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_3var_read *__pyx_optional_args);
PyObject *(*printself)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5adios_var *__pyx_vtabptr_5adios_var;
+
+/* --- Runtime support code (head) --- */
#ifndef CYTHON_REFNANNY
#define CYTHON_REFNANNY 0
#endif
@@ -1009,14 +1190,72 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
static PyObject *__Pyx_GetBuiltinName(PyObject *name);
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
+ __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \
+ (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \
+ __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
+ __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
+ (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
+ __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
+ (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+ int is_list, int wraparound, int boundscheck);
+
+static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb);
+static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb);
+
+static void __Pyx_WriteUnraisable(const char *name, int clineno,
+ int lineno, const char *filename,
+ int full_traceback);
+
+static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyObject* none = _PyList_Extend((PyListObject*)L, v);
+ if (unlikely(!none))
+ return -1;
+ Py_DECREF(none);
+ return 0;
+#else
+ return PyList_SetSlice(L, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, v);
+#endif
+}
+
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
+ PyListObject* L = (PyListObject*) list;
+ Py_ssize_t len = Py_SIZE(list);
+ if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
+ Py_INCREF(x);
+ PyList_SET_ITEM(list, len, x);
+ Py_SIZE(list) = len+1;
+ return 0;
+ }
+ return PyList_Append(list, x);
+}
+#else
+#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
+#endif
+
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+ Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
const char* function_name);
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
- Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);
@@ -1026,17 +1265,26 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
+ const char *name, int exact);
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb);
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb);
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
+#endif
-static void __Pyx_WriteUnraisable(const char *name, int clineno,
- int lineno, const char *filename,
- int full_traceback);
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
-static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
- const char *name, int exact);
+#include <string.h>
+
+static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
+
+static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
+
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
+#else
+#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
+#endif
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
@@ -1054,43 +1302,57 @@ static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif
-#include <string.h>
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+#else
+#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#endif
-static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
-#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
- __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \
- (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \
- __Pyx_GetItemInt_Generic(o, to_py_func(i))))
-#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
- __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
- (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
- __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
- (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
- int is_list, int wraparound, int boundscheck);
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
-#endif
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d);
+
+static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
+ int result = PySequence_Contains(seq, item);
+ return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value);
+
+#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound) \
+ __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)
+static CYTHON_INLINE int __Pyx_PyObject_SetSlice(
+ PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+ int has_cstart, int has_cstop, int wraparound);
+
+static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
+
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+ PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+ int has_cstart, int has_cstop, int wraparound);
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
+static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
#else
-#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#define __Pyx_PyList_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop)
+#define __Pyx_PyTuple_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop)
+#endif
+
+#ifndef __PYX_FORCE_INIT_THREADS
+ #define __PYX_FORCE_INIT_THREADS 0
#endif
+static CYTHON_INLINE int __Pyx_div_int(int, int); /* proto */
+
+#define UNARY_NEG_WOULD_OVERFLOW(x) (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
+
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
PyObject *value;
@@ -1111,6 +1373,23 @@ static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o,n,NULL)
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
+ PyTypeObject* tp = Py_TYPE(obj);
+ if (likely(tp->tp_setattro))
+ return tp->tp_setattro(obj, attr_name, value);
+#if PY_MAJOR_VERSION < 3
+ if (likely(tp->tp_setattr))
+ return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
+#endif
+ return PyObject_SetAttr(obj, attr_name, value);
+}
+#else
+#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
+#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
+#endif
+
static CYTHON_INLINE int __Pyx_IterFinish(void);
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
@@ -1133,8 +1412,6 @@ static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict,
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
-
static int __Pyx_SetVtable(PyObject *dict, void *vtable);
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
@@ -1161,10 +1438,6 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename);
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
-
-static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
-
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
static CYTHON_INLINE MPI_Comm __Pyx_PyInt_As_MPI_Comm(PyObject *);
@@ -1173,8 +1446,12 @@ static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *);
static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
+
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value);
static int __Pyx_Print(PyObject*, PyObject *, int);
@@ -1289,6 +1566,39 @@ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(do
#endif
#endif
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
+
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
+
+#define __Pyx_Generator_USED
+#include <structmember.h>
+#include <frameobject.h>
+typedef PyObject *(*__pyx_generator_body_t)(PyObject *, PyObject *);
+typedef struct {
+ PyObject_HEAD
+ __pyx_generator_body_t body;
+ PyObject *closure;
+ PyObject *exc_type;
+ PyObject *exc_value;
+ PyObject *exc_traceback;
+ PyObject *gi_weakreflist;
+ PyObject *classobj;
+ PyObject *yieldfrom;
+ PyObject *gi_name;
+ PyObject *gi_qualname;
+ int resume_label;
+ char is_running;
+} __pyx_GeneratorObject;
+static __pyx_GeneratorObject *__Pyx_Generator_New(__pyx_generator_body_t body,
+ PyObject *closure, PyObject *name, PyObject *qualname);
+static int __pyx_Generator_init(void);
+static int __Pyx_Generator_clear(PyObject* self);
+#if 1 || PY_VERSION_HEX < 0x030300B0
+static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue);
+#else
+#define __Pyx_PyGen_FetchStopIterationValue(pvalue) PyGen_FetchStopIterationValue(pvalue)
+#endif
+
static int __Pyx_check_binary_version(void);
#if !defined(__Pyx_PyIdentifier_FromString)
@@ -1309,6 +1619,7 @@ static PyObject *__pyx_f_5adios_4file_close(struct __pyx_obj_5adios_file *__pyx_
static PyObject *__pyx_f_5adios_4file_printself(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5adios_4file_advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_4file_advance *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_5adios_3var_advance(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_3var_read *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
@@ -1341,18 +1652,31 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, cha
/* Module declarations from 'cython' */
+/* Module declarations from 'cpython.string' */
+
/* Module declarations from 'libc.stdint' */
/* Module declarations from 'adios' */
static PyTypeObject *__pyx_ptype_5adios_file = 0;
static PyTypeObject *__pyx_ptype_5adios_var = 0;
+static PyTypeObject *__pyx_ptype_5adios_attr = 0;
+static PyTypeObject *__pyx_ptype_5adios_smartdict = 0;
+static PyTypeObject *__pyx_ptype_5adios_writer = 0;
+static PyTypeObject *__pyx_ptype_5adios_attrinfo = 0;
+static PyTypeObject *__pyx_ptype_5adios_varinfo = 0;
+static PyTypeObject *__pyx_ptype_5adios___pyx_scope_struct____getitem__ = 0;
+static PyTypeObject *__pyx_ptype_5adios___pyx_scope_struct_1_genexpr = 0;
+static PyTypeObject *__pyx_ptype_5adios___pyx_scope_struct_2_genexpr = 0;
+static char **__pyx_f_5adios_to_cstring_array(PyObject *); /*proto*/
+static PyObject *__pyx_f_5adios___parse_index(PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5adios_init(char *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_init *__pyx_optional_args); /*proto*/
static int64_t __pyx_f_5adios_open(char *, char *, char *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_open *__pyx_optional_args); /*proto*/
static int64_t __pyx_f_5adios_set_group_size(int64_t, uint64_t, int __pyx_skip_dispatch); /*proto*/
-static int __pyx_f_5adios_write(int64_t, char *, PyArrayObject *, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_5adios_write(int64_t, char *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_write *__pyx_optional_args); /*proto*/
static int __pyx_f_5adios_write_int(int64_t, char *, int, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_write_long(int64_t, char *, long, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_write_float(int64_t, char *, float, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_5adios_write_double(int64_t, char *, double, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_read(int64_t, char *, PyArrayObject *, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_close(int64_t, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_finalize(int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_finalize *__pyx_optional_args); /*proto*/
@@ -1361,102 +1685,159 @@ static int __pyx_f_5adios_allocate_buffer(int, uint64_t, int __pyx_skip_dispatch
static int64_t __pyx_f_5adios_declare_group(char *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_declare_group *__pyx_optional_args); /*proto*/
static int __pyx_f_5adios_define_var(int64_t, char *, char *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_define_var *__pyx_optional_args); /*proto*/
static int __pyx_f_5adios_define_attribute(int64_t, char *, char *, int, char *, char *, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_5adios_define_attribute_byvalue(int64_t, char *, char *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_select_method(int64_t, char *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_select_method *__pyx_optional_args); /*proto*/
-static PyObject *__pyx_f_5adios_adios2nptype(ADIOS_DATATYPES); /*proto*/
+static PyArray_Descr *__pyx_f_5adios_adios2npdtype(ADIOS_DATATYPES, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_adios2npdtype *__pyx_optional_args); /*proto*/
static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *); /*proto*/
static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *); /*proto*/
static ADIOS_READ_METHOD __pyx_f_5adios_str2adiosreadmethod(PyObject *); /*proto*/
-static PyObject *__pyx_f_5adios_np2adiostype(PyObject *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_5adios_np2adiostype(PyArray_Descr *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_5adios_adiostype2string(ADIOS_DATATYPES, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5adios_read_init(int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_read_init *__pyx_optional_args); /*proto*/
static int __pyx_f_5adios_read_finalize(int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_read_finalize *__pyx_optional_args); /*proto*/
#define __Pyx_MODULE_NAME "adios"
int __pyx_module_is_main_adios = 0;
/* Implementation of 'adios' */
+static PyObject *__pyx_builtin_xrange;
+static PyObject *__pyx_builtin_Ellipsis;
static PyObject *__pyx_builtin_range;
+static PyObject *__pyx_builtin_KeyError;
+static PyObject *__pyx_builtin_TypeError;
+static PyObject *__pyx_builtin_IndexError;
+static PyObject *__pyx_builtin_zip;
+static PyObject *__pyx_builtin_NotImplementedError;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_RuntimeError;
-static PyObject *__pyx_pf_5adios_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, MPI_Comm __pyx_v_comm); /* proto */
-static PyObject *__pyx_pf_5adios_2open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, MPI_Comm __pyx_v_comm); /* proto */
-static PyObject *__pyx_pf_5adios_4set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size); /* proto */
-static PyObject *__pyx_pf_5adios_6write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_5adios_8write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_5adios_10write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_5adios_12write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_5adios_14read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_5adios_16close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p); /* proto */
-static PyObject *__pyx_pf_5adios_18finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype); /* proto */
-static PyObject *__pyx_pf_5adios_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self, MPI_Comm __pyx_v_comm); /* proto */
-static PyObject *__pyx_pf_5adios_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size); /* proto */
-static PyObject *__pyx_pf_5adios_24declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats); /* proto */
-static PyObject *__pyx_pf_5adios_26define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets); /* proto */
-static PyObject *__pyx_pf_5adios_28define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_value, char *__pyx_v_var); /* proto */
-static PyObject *__pyx_pf_5adios_30select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path); /* proto */
-static PyObject *__pyx_pf_5adios_32np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nptype); /* proto */
-static PyObject *__pyx_pf_5adios_34read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, char *__pyx_v_parameters); /* proto */
-static PyObject *__pyx_pf_5adios_36read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name); /* proto */
-static int __pyx_pf_5adios_4file___init__(struct __pyx_obj_5adios_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec); /* proto */
-static PyObject *__pyx_pf_5adios_4file_2__del__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_5adios_4file_4close(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_5adios_4file_6printself(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_5adios_4file_8advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec); /* proto */
+static PyObject *__pyx_pf_5adios___parse_index(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_index, PyObject *__pyx_v_ndim); /* proto */
+static PyObject *__pyx_pf_5adios_2init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, MPI_Comm __pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_5adios_4open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, MPI_Comm __pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_5adios_6set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size); /* proto */
+static PyObject *__pyx_pf_5adios_8write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyObject *__pyx_v_val, PyObject *__pyx_v_dtype); /* proto */
+static PyObject *__pyx_pf_5adios_10write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_12write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_14write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_16write_double(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, double __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_18read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_20close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p); /* proto */
+static PyObject *__pyx_pf_5adios_22finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype); /* proto */
+static PyObject *__pyx_pf_5adios_24init_noxml(CYTHON_UNUSED PyObject *__pyx_self, MPI_Comm __pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_5adios_26allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size); /* proto */
+static PyObject *__pyx_pf_5adios_28declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats); /* proto */
+static PyObject *__pyx_pf_5adios_30define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets); /* proto */
+static PyObject *__pyx_pf_5adios_32define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_value, char *__pyx_v_var); /* proto */
+static PyObject *__pyx_pf_5adios_34define_attribute_byvalue(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, PyObject *__pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_36select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path); /* proto */
+static PyObject *__pyx_pf_5adios_38adios2npdtype(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_t, int __pyx_v_strlen); /* proto */
+static PyObject *__pyx_pf_5adios_40np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyArray_Descr *__pyx_v_nptype); /* proto */
+static PyObject *__pyx_pf_5adios_42adiostype2string(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_type); /* proto */
+static PyObject *__pyx_pf_5adios_44read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, char *__pyx_v_parameters); /* proto */
+static PyObject *__pyx_pf_5adios_46read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name); /* proto */
static PyObject *__pyx_pf_5adios_4file_4name___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_4name_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_5adios_4file_4name_4__del__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_4file_5nvars___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_5nvars_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5adios_4file_6nattrs___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_6nattrs_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5adios_4file_12current_step___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_12current_step_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5adios_4file_9last_step___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_9last_step_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5adios_4file_10endianness___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_10endianness_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5adios_4file_7version___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_7version_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_5adios_4file_9file_size___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_9file_size_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static PyObject *__pyx_pf_5adios_4file_10file_sizec___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_4file_9is_stream___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_4file___init__(struct __pyx_obj_5adios_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec); /* proto */
+static PyObject *__pyx_pf_5adios_4file_2__del__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_4file_4close(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_4file_6printself(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_4file_8advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec); /* proto */
+static PyObject *__pyx_pf_5adios_4file_10__getitem__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_varname); /* proto */
+static PyObject *__pyx_pf_5adios_4file_12__repr__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_4file_3var___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
static int __pyx_pf_5adios_4file_3var_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_5adios_4file_3var_4__del__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_4file_4attr___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
static int __pyx_pf_5adios_4file_4attr_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_5adios_4file_4attr_4__del__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_5adios_4file_9is_stream___get__(struct __pyx_obj_5adios_file *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_4file_9is_stream_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_self, struct __pyx_obj_5adios_file *__pyx_v_file, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_5adios_3var_2__del__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_5adios_3var_4close(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_5adios_3var_6read(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps); /* proto */
-static PyObject *__pyx_pf_5adios_3var_8printself(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_3var_4name___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_3var_4name_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_5adios_3var_4name_4__del__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_3var_5varid___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_3var_5varid_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_5adios_3var_4type___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_3var_4type_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_5adios_3var_4type_4__del__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_5dtype___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_3var_4ndim___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_3var_4ndim_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5adios_3var_4dims___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_3var_4dims_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_5adios_3var_4dims_4__del__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5adios_3var_6nsteps___get__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
-static int __pyx_pf_5adios_3var_6nsteps_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_5adios_38readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname); /* proto */
-static PyObject *__pyx_pf_5adios_40bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname); /* proto */
+static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_self, struct __pyx_obj_5adios_file *__pyx_v_file, char *__pyx_v_name); /* proto */
+static PyObject *__pyx_pf_5adios_3var_2__del__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_4close(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_6advance(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_8read(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps, PyObject *__pyx_v_fill); /* proto */
+static PyObject *__pyx_pf_5adios_3var_10printself(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_12__repr__(struct __pyx_obj_5adios_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_11__getitem___genexpr(PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_11__getitem___3genexpr(PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_5adios_3var_14__getitem__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_index); /* proto */
+static PyObject *__pyx_pf_5adios_4attr_4name___get__(struct __pyx_obj_5adios_attr *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_4attr_5dtype___get__(struct __pyx_obj_5adios_attr *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_4attr_5value___get__(struct __pyx_obj_5adios_attr *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_4attr___init__(struct __pyx_obj_5adios_attr *__pyx_v_self, struct __pyx_obj_5adios_file *__pyx_v_file, char *__pyx_v_name); /* proto */
+static PyObject *__pyx_pf_5adios_4attr_2__repr__(struct __pyx_obj_5adios_attr *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_9smartdict___init__(struct __pyx_obj_5adios_smartdict *__pyx_v_self, PyObject *__pyx_v_factory); /* proto */
+static int __pyx_pf_5adios_9smartdict_2__setitem__(struct __pyx_obj_5adios_smartdict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_5fname___get__(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_5gname___get__(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_8is_noxml___get__(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_3var___get__(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_4attr___get__(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_6writer___init__(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_fname, int __pyx_v_is_noxml, MPI_Comm __pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_2declare_group(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_gname, char *__pyx_v_method, char *__pyx_v_method_params); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_4define_var(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_varname, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_6define_attr(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_attrname); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_8define_dynamic_attr(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_attrname, char *__pyx_v_varname, PyObject *__pyx_v_dtype); /* proto */
+static int __pyx_pf_5adios_6writer_10__setitem__(struct __pyx_obj_5adios_writer *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_12__getitem__(struct __pyx_obj_5adios_writer *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_14close(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_6writer_16__repr__(struct __pyx_obj_5adios_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_8attrinfo_4name___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_8attrinfo_9is_static___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_8attrinfo_5dtype___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_8attrinfo_5value___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_8attrinfo_5value_2__set__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_5adios_8attrinfo___init__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_value, PyObject *__pyx_v_dtype, int __pyx_v_is_static); /* proto */
+static PyObject *__pyx_pf_5adios_8attrinfo_2define(struct __pyx_obj_5adios_attrinfo *__pyx_v_self, int64_t __pyx_v_gid); /* proto */
+static PyObject *__pyx_pf_5adios_8attrinfo_4__repr__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_7varinfo___init__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_2define(struct __pyx_obj_5adios_varinfo *__pyx_v_self, int64_t __pyx_v_gid); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_4bytes(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_6write(struct __pyx_obj_5adios_varinfo *__pyx_v_self, int64_t __pyx_v_fd); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_8__repr__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_4ldim___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_7varinfo_4ldim_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_5adios_7varinfo_4ldim_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_4gdim___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_7varinfo_4gdim_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_5adios_7varinfo_4gdim_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_6offset___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_7varinfo_6offset_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_5adios_7varinfo_6offset_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_7varinfo_5value___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_5adios_7varinfo_5value_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_5adios_7varinfo_5value_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_5adios_48readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname); /* proto */
+static PyObject *__pyx_pf_5adios_50bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname); /* proto */
static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
static PyObject *__pyx_tp_new_5adios_file(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5adios_var(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios_attr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios_smartdict(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios_writer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios_attrinfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios_varinfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios___pyx_scope_struct____getitem__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_5adios___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static char __pyx_k_B[] = "B";
static char __pyx_k_H[] = "H";
static char __pyx_k_I[] = "I";
static char __pyx_k_L[] = "L";
static char __pyx_k_O[] = "O";
static char __pyx_k_Q[] = "Q";
+static char __pyx_k_S[] = "S";
static char __pyx_k_b[] = "b";
static char __pyx_k_d[] = "d";
static char __pyx_k_f[] = "f";
@@ -1466,39 +1847,51 @@ static char __pyx_k_i[] = "i";
static char __pyx_k_k[] = "k";
static char __pyx_k_l[] = "l";
static char __pyx_k_q[] = "q";
+static char __pyx_k_t[] = "t";
static char __pyx_k_v[] = "v";
+static char __pyx_k_w[] = "w";
static char __pyx_k_BP[] = "BP";
static char __pyx_k_NO[] = "NO";
static char __pyx_k_Zd[] = "Zd";
static char __pyx_k_Zf[] = "Zf";
static char __pyx_k_Zg[] = "Zg";
-static char __pyx_k__4[] = "";
-static char __pyx_k__8[] = "/";
+static char __pyx_k__7[] = "";
static char __pyx_k_fh[] = "fh";
static char __pyx_k_fp[] = "fp";
static char __pyx_k_np[] = "np";
static char __pyx_k_vp[] = "vp";
static char __pyx_k_NOW[] = "NOW";
static char __pyx_k_YES[] = "YES";
-static char __pyx_k_all[] = "all";
+static char __pyx_k__11[] = "/";
+static char __pyx_k__31[] = " ";
+static char __pyx_k__33[] = "(,)";
+static char __pyx_k_any[] = "any";
static char __pyx_k_doc[] = "__doc__";
static char __pyx_k_end[] = "end";
+static char __pyx_k_get[] = "get";
static char __pyx_k_str[] = "str_";
static char __pyx_k_val[] = "val";
static char __pyx_k_var[] = "var";
+static char __pyx_k_zip[] = "zip";
static char __pyx_k_FLAG[] = "FLAG";
static char __pyx_k_ICEE[] = "ICEE";
+static char __pyx_k_args[] = "args";
static char __pyx_k_bool[] = "bool_";
static char __pyx_k_bpls[] = "bpls";
static char __pyx_k_byte[] = "byte";
+static char __pyx_k_char[] = "char";
static char __pyx_k_comm[] = "comm";
static char __pyx_k_copy[] = "copy";
static char __pyx_k_dims[] = "dims";
static char __pyx_k_fd_p[] = "fd_p";
static char __pyx_k_file[] = "file";
static char __pyx_k_fill[] = "fill";
+static char __pyx_k_gdim[] = "gdim";
+static char __pyx_k_init[] = "__init__";
static char __pyx_k_int8[] = "int8";
+static char __pyx_k_keys[] = "keys";
static char __pyx_k_last[] = "last";
+static char __pyx_k_ldim[] = "ldim";
static char __pyx_k_long[] = "long";
static char __pyx_k_main[] = "__main__";
static char __pyx_k_mode[] = "mode";
@@ -1508,7 +1901,9 @@ static char __pyx_k_ndim[] = "ndim";
static char __pyx_k_path[] = "path";
static char __pyx_k_read[] = "read";
static char __pyx_k_real[] = "real";
+static char __pyx_k_send[] = "send";
static char __pyx_k_size[] = "size";
+static char __pyx_k_step[] = "step";
static char __pyx_k_test[] = "__test__";
static char __pyx_k_type[] = "type";
static char __pyx_k_vars[] = "vars";
@@ -1520,6 +1915,7 @@ static char __pyx_k_LATER[] = "LATER";
static char __pyx_k_adios[] = "adios";
static char __pyx_k_array[] = "array";
static char __pyx_k_attrs[] = "attrs";
+static char __pyx_k_atype[] = "atype";
static char __pyx_k_bytes[] = "(bytes)";
static char __pyx_k_close[] = "close";
static char __pyx_k_count[] = "count";
@@ -1527,7 +1923,9 @@ static char __pyx_k_dtype[] = "dtype";
static char __pyx_k_flags[] = "flags";
static char __pyx_k_float[] = "float_";
static char __pyx_k_fname[] = "fname";
+static char __pyx_k_gname[] = "gname";
static char __pyx_k_group[] = "group";
+static char __pyx_k_index[] = "index";
static char __pyx_k_int16[] = "int16";
static char __pyx_k_int32[] = "int32";
static char __pyx_k_int64[] = "int64";
@@ -1535,15 +1933,21 @@ static char __pyx_k_numpy[] = "numpy";
static char __pyx_k_nvars[] = "nvars";
static char __pyx_k_print[] = "print";
static char __pyx_k_range[] = "range";
+static char __pyx_k_shape[] = "shape";
static char __pyx_k_short[] = "short";
static char __pyx_k_split[] = "split";
static char __pyx_k_stats[] = "stats";
+static char __pyx_k_strip[] = "strip";
+static char __pyx_k_throw[] = "throw";
static char __pyx_k_uint8[] = "uint8";
static char __pyx_k_value[] = "value";
static char __pyx_k_varid[] = "varid";
+static char __pyx_k_write[] = "write";
static char __pyx_k_zeros[] = "zeros";
static char __pyx_k_15s_lu[] = "%15s : %lu";
+static char __pyx_k_POSIX1[] = "POSIX1";
static char __pyx_k_config[] = "config";
+static char __pyx_k_define[] = "define";
static char __pyx_k_double[] = "double";
static char __pyx_k_import[] = "__import__";
static char __pyx_k_method[] = "method";
@@ -1552,41 +1956,62 @@ static char __pyx_k_nattrs[] = "nattrs";
static char __pyx_k_nsteps[] = "nsteps";
static char __pyx_k_offset[] = "offset";
static char __pyx_k_string[] = "string";
+static char __pyx_k_strlen[] = "strlen";
static char __pyx_k_uint16[] = "uint16";
static char __pyx_k_uint32[] = "uint32";
static char __pyx_k_uint64[] = "uint64";
+static char __pyx_k_values[] = "values";
+static char __pyx_k_xrange[] = "xrange";
static char __pyx_k_Reading[] = "Reading ... ";
static char __pyx_k_UNKNOWN[] = "UNKNOWN";
static char __pyx_k_advance[] = "advance";
+static char __pyx_k_bytes_2[] = "bytes";
static char __pyx_k_complex[] = "complex_";
+static char __pyx_k_factory[] = "factory";
static char __pyx_k_float16[] = "float16";
static char __pyx_k_float32[] = "float32";
static char __pyx_k_float64[] = "float64";
+static char __pyx_k_genexpr[] = "genexpr";
+static char __pyx_k_indices[] = "indices";
static char __pyx_k_integer[] = "integer";
static char __pyx_k_prepare[] = "__prepare__";
static char __pyx_k_readvar[] = "readvar";
+static char __pyx_k_replace[] = "replace";
+static char __pyx_k_setitem[] = "__setitem__";
+static char __pyx_k_squeeze[] = "squeeze";
static char __pyx_k_unknown[] = "unknown";
static char __pyx_k_varname[] = "varname";
static char __pyx_k_version[] = "version";
static char __pyx_k_DATATYPE[] = "DATATYPE";
+static char __pyx_k_Ellipsis[] = "Ellipsis";
static char __pyx_k_FLEXPATH[] = "FLEXPATH";
+static char __pyx_k_KeyError[] = "KeyError";
+static char __pyx_k_attrname[] = "attrname";
static char __pyx_k_float128[] = "float128";
static char __pyx_k_group_id[] = "group_id";
+static char __pyx_k_is_noxml[] = "is_noxml";
static char __pyx_k_itemsize[] = "itemsize";
static char __pyx_k_iterkeys[] = "iterkeys";
static char __pyx_k_qualname[] = "__qualname__";
+static char __pyx_k_subtract[] = "subtract";
+static char __pyx_k_var_dict[] = "var: dict";
static char __pyx_k_AdiosFile[] = "=== AdiosFile ===";
+static char __pyx_k_TypeError[] = "TypeError";
+static char __pyx_k_attr_dict[] = "attr: dict";
static char __pyx_k_base_path[] = "base_path";
static char __pyx_k_complex64[] = "complex64";
static char __pyx_k_complex_2[] = "complex";
static char __pyx_k_data_size[] = "data_size";
static char __pyx_k_file_size[] = "file_size";
+static char __pyx_k_is_static[] = "is_static";
static char __pyx_k_is_stream[] = "is_stream";
+static char __pyx_k_iteritems[] = "iteritems";
static char __pyx_k_last_step[] = "last_step";
static char __pyx_k_lock_mode[] = "lock_mode";
static char __pyx_k_metaclass[] = "__metaclass__";
static char __pyx_k_printself[] = "printself";
static char __pyx_k_DATASPACES[] = "DATASPACES";
+static char __pyx_k_IndexError[] = "IndexError";
static char __pyx_k_ValueError[] = "ValueError";
static char __pyx_k_complex128[] = "complex128";
static char __pyx_k_contiguous[] = "contiguous";
@@ -1598,97 +2023,177 @@ static char __pyx_k_parameters[] = "parameters";
static char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static char __pyx_k_time_index[] = "time_index";
static char __pyx_k_time_steps[] = "time_steps";
+static char __pyx_k_READ_METHOD[] = "READ_METHOD";
static char __pyx_k_buffer_size[] = "buffer_size";
+static char __pyx_k_gdim_object[] = "gdim: object";
+static char __pyx_k_ldim_object[] = "ldim: object";
static char __pyx_k_long_double[] = "long_double";
static char __pyx_k_method_name[] = "method_name";
static char __pyx_k_timeout_sec[] = "timeout_sec";
static char __pyx_k_BP_AGGREGATE[] = "BP_AGGREGATE";
static char __pyx_k_RuntimeError[] = "RuntimeError";
static char __pyx_k_current_step[] = "current_step";
+static char __pyx_k_string_array[] = "string_array";
+static char __pyx_k_value_object[] = "value: object";
static char __pyx_k_var_namelist[] = "var_namelist";
static char __pyx_k_AdiosVariable[] = "=== AdiosVariable ===";
+static char __pyx_k_Value_is_none[] = "Value is none";
static char __pyx_k_attr_namelist[] = "attr_namelist";
static char __pyx_k_local_offsets[] = "local_offsets";
+static char __pyx_k_method_params[] = "method_params";
+static char __pyx_k_offset_object[] = "offset: object";
static char __pyx_k_unsigned_byte[] = "unsigned_byte";
static char __pyx_k_unsigned_long[] = "unsigned_long";
static char __pyx_k_double_complex[] = "double_complex";
static char __pyx_k_unsigned_short[] = "unsigned_short";
static char __pyx_k_Not_a_valid_var[] = "Not a valid var";
static char __pyx_k_Not_an_open_var[] = "Not an open var";
+static char __pyx_k_Unhashable_type[] = "Unhashable type";
static char __pyx_k_Not_an_open_file[] = "Not an open file";
static char __pyx_k_unsigned_integer[] = "unsigned_integer";
static char __pyx_k_BUFFER_ALLOC_WHEN[] = "BUFFER_ALLOC_WHEN";
static char __pyx_k_No_valid_variable[] = "No valid variable";
+static char __pyx_k_The_variable_name[] = " The variable name. ";
static char __pyx_k_global_dimensions[] = "global_dimensions";
+static char __pyx_k_var_read_line_888[] = "var.read (line 888)";
+static char __pyx_k_The_attribute_name[] = " The attribute name ";
+static char __pyx_k_NotImplementedError[] = "NotImplementedError";
+static char __pyx_k_Internal_variable_id[] = " Internal variable id. ";
static char __pyx_k_Not_an_open_variable[] = "Not an open variable";
+static char __pyx_k_The_version_of_Adios[] = " The version of Adios. ";
+static char __pyx_k_The_attribute_s_value[] = " The attribute's value ";
+static char __pyx_k_The_filename_to_write[] = " The filename to write. ";
static char __pyx_k_Use_default_BP_method[] = ". Use default BP method";
-static char __pyx_k_Count_dimension_mismatch[] = "Count dimension mismatch.";
-static char __pyx_k_Offset_dimension_mismatch[] = "Offset dimension mismatch";
-static char __pyx_k_Count_is_larger_than_shape[] = "Count is larger than shape.";
-static char __pyx_k_Step_index_is_out_of_range[] = "Step index is out of range";
+static char __pyx_k_The_size_of_Adios_file[] = " The size of Adios file. ";
+static char __pyx_k_The_last_timestep_index[] = " The last timestep index. ";
+static char __pyx_k_The_number_of_variables[] = " The number of variables. ";
+static char __pyx_k_The_number_of_attributes[] = " The number of attributes. ";
+static char __pyx_k_getitem___locals_genexpr[] = "__getitem__.<locals>.genexpr";
+static char __pyx_k_The_shape_of_the_variable[] = " The shape of the variable. ";
+static char __pyx_k_Too_many_indices_for_data[] = "Too many indices for data";
+static char __pyx_k_The_current_timestep_index[] = " The current timestep index. ";
static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";
+static char __pyx_k_writer_define_var_line_1244[] = "writer.define_var (line 1244)";
+static char __pyx_k_Step_size_d_is_not_supported[] = "Step size (%d) is not supported.";
+static char __pyx_k_Name_index_r_is_not_supported[] = "Name index (%r) is not supported.";
static char __pyx_k_WARN_Invalid_read_method_name[] = "[WARN] Invalid read method name:";
static char __pyx_k_Data_type_is_not_supported_yet[] = "Data type is not supported yet";
-static char __pyx_k_ADIOS_is_freely_available_under[] = "\n ADIOS is freely available under the terms of the BSD license described\n in the COPYING file in the top level directory of this source distribution.\n\n Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.\n";
+static char __pyx_k_Define_a_group_associated_with[] = "\n Define a group associated with the file.\n\n Args:\n gname (str): group name.\n method (str, optional): Adios write method (default: 'POSIX1')\n method_params (str, optional): parameters for the write method (default: '')\n\n Example:\n\n >>> fw.declare_group('group', method='MPI_, method_params='verbose=3')\n \n ";
+static char __pyx_k_Perform_read_Read_data_from_an[] = " Perform read.\n\n Read data from an ADIOS BP file. Subset reading is\n supported. Without any options, this will read out a whole\n data.\n\n Args:\n offset (tuple of int, optional): offset (default: ())\n count (tuple of int, optional): count (default: ())\n from_steps (int, optional): starting step index (default: None)\n nsteps (int, optional): number of tim [...]
+static char __pyx_k_The_attribute_type_as_in_numpy[] = " The attribute type as in numpy.dtype ";
+static char __pyx_k_writer_declare_group_line_1222[] = "writer.declare_group (line 1222)";
+static char __pyx_k_AdiosVar_varid_r_dtype_r_ndim_r[] = "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)";
+static char __pyx_k_AdiosVarinfo_name_r_ldim_r_gdim[] = "AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)";
+static char __pyx_k_Boolean_to_indicate_using_No_XM[] = " Boolean to indicate using No-XML or not. ";
+static char __pyx_k_Define_a_variable_associated_wi[] = "\n Define a variable associated with the file.\n\n Args:\n varname (str): variable name.\n ldim (tuple, optional): local dimension (default: tuple())\n gdim (tuple, optional): global dimension (default: tuple())\n offset (tuple, optional): offset (default: tuple())\n\n Example:\n\n Write 'temperature' variable of size of 2x3 array.\n\n >>> fw.define_var [...]
+static char __pyx_k_Dictionary_of_attributes_to_wri[] = " Dictionary of attributes to write. ";
+static char __pyx_k_Dictionary_of_variables_to_writ[] = " Dictionary of variables to write. ";
+static char __pyx_k_Indicating_reader_type_file_rea[] = " Indicating reader type; file reader or stream reader ";
+static char __pyx_k_Step_index_is_out_of_range_from[] = "Step index is out of range: from_steps=%r, nsteps=%r";
+static char __pyx_k_The_endianness_of_the_stored_da[] = " The endianness of the stored data. ";
+static char __pyx_k_The_filename_or_stream_name_ass[] = " The filename (or stream name) associated with. ";
+static char __pyx_k_The_groupname_associated_with_t[] = " The groupname associated with the file. ";
+static char __pyx_k_The_number_of_dimensions_of_the[] = " The number of dimensions of the variable. ";
+static char __pyx_k_The_number_of_time_steps_of_the[] = " The number of time steps of the variable. ";
static char __pyx_k_Users_jyc_project_adios_devel_w[] = "/Users/jyc/project/adios-devel/wrappers/numpy/adios.pyx";
+static char __pyx_k_Variable_type_as_in_numpy_dtype[] = " Variable type as in numpy.dtype. ";
+static char __pyx_k_Warning_No_support_yet_s_type_d[] = "Warning: No support yet: %s (type=%d, bytes=%d)";
static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";
+static char __pyx_k_ADIOS_ADIOS_python_module_module[] = "ADIOS: ADIOS python module\n\n.. moduleauthor:: Jong Choi <choij at ornl.gov>\n";
+static char __pyx_k_AdiosAttr_name_r_dtype_r_value_r[] = "AdiosAttr (name=%r, dtype=%r, value=%r)";
+static char __pyx_k_AdiosAttrinfo_name_r_is_static_r[] = "AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)";
+static char __pyx_k_AdiosFile_path_r_nvars_r_var_r_n[] = "AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, current_step=%r, last_step=%r, file_size=%r)";
+static char __pyx_k_AdiosWriter_fname_r_gname_r_meth[] = "AdiosWriter (fname=%r, gname=%r, method=%r, method_params=%r, var=%r, attr=%r)";
+static char __pyx_k_Count_dimension_mismatch_count_d[] = "Count dimension mismatch (count dim: %r)";
static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";
static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";
+static char __pyx_k_Offset_dimension_mismatch_offset[] = "Offset dimension mismatch (offset dim: %r)";
static char __pyx_k_Only_contiguous_arrays_are_suppo[] = "Only contiguous arrays are supported.";
+static char __pyx_k_Requested_is_larger_than_the_sha[] = "Requested is larger than the shape.";
static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";
static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";
static PyObject *__pyx_kp_s_15s_d;
static PyObject *__pyx_kp_s_15s_lu;
static PyObject *__pyx_kp_s_15s_s;
+static PyObject *__pyx_kp_s_AdiosAttr_name_r_dtype_r_value_r;
+static PyObject *__pyx_kp_s_AdiosAttrinfo_name_r_is_static_r;
static PyObject *__pyx_kp_s_AdiosFile;
+static PyObject *__pyx_kp_s_AdiosFile_path_r_nvars_r_var_r_n;
+static PyObject *__pyx_kp_s_AdiosVar_varid_r_dtype_r_ndim_r;
static PyObject *__pyx_kp_s_AdiosVariable;
+static PyObject *__pyx_kp_s_AdiosVarinfo_name_r_ldim_r_gdim;
+static PyObject *__pyx_kp_s_AdiosWriter_fname_r_gname_r_meth;
static PyObject *__pyx_n_s_BP;
static PyObject *__pyx_n_s_BP_AGGREGATE;
static PyObject *__pyx_n_s_BUFFER_ALLOC_WHEN;
-static PyObject *__pyx_kp_s_Count_dimension_mismatch;
-static PyObject *__pyx_kp_s_Count_is_larger_than_shape;
+static PyObject *__pyx_kp_s_Count_dimension_mismatch_count_d;
static PyObject *__pyx_n_s_DATASPACES;
static PyObject *__pyx_n_s_DATATYPE;
static PyObject *__pyx_n_s_DIMES;
static PyObject *__pyx_kp_s_Data_type_is_not_supported_yet;
+static PyObject *__pyx_kp_u_Define_a_group_associated_with;
+static PyObject *__pyx_kp_u_Define_a_variable_associated_wi;
+static PyObject *__pyx_n_s_Ellipsis;
static PyObject *__pyx_n_s_FLAG;
static PyObject *__pyx_n_s_FLEXPATH;
static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;
static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;
static PyObject *__pyx_n_s_ICEE;
+static PyObject *__pyx_n_s_IndexError;
+static PyObject *__pyx_n_s_KeyError;
static PyObject *__pyx_n_s_LATER;
static PyObject *__pyx_n_s_NO;
static PyObject *__pyx_n_s_NOW;
+static PyObject *__pyx_kp_s_Name_index_r_is_not_supported;
static PyObject *__pyx_kp_s_No_valid_variable;
static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;
+static PyObject *__pyx_n_s_NotImplementedError;
static PyObject *__pyx_kp_s_Not_a_valid_var;
static PyObject *__pyx_kp_s_Not_an_open_file;
static PyObject *__pyx_kp_s_Not_an_open_var;
static PyObject *__pyx_kp_s_Not_an_open_variable;
-static PyObject *__pyx_kp_s_Offset_dimension_mismatch;
+static PyObject *__pyx_kp_s_Offset_dimension_mismatch_offset;
static PyObject *__pyx_kp_s_Only_contiguous_arrays_are_suppo;
+static PyObject *__pyx_kp_u_Perform_read_Read_data_from_an;
+static PyObject *__pyx_n_s_READ_METHOD;
static PyObject *__pyx_kp_s_Reading;
+static PyObject *__pyx_kp_s_Requested_is_larger_than_the_sha;
static PyObject *__pyx_n_s_RuntimeError;
-static PyObject *__pyx_kp_s_Step_index_is_out_of_range;
+static PyObject *__pyx_n_s_S;
+static PyObject *__pyx_kp_s_Step_index_is_out_of_range_from;
+static PyObject *__pyx_kp_s_Step_size_d_is_not_supported;
+static PyObject *__pyx_kp_s_Too_many_indices_for_data;
+static PyObject *__pyx_n_s_TypeError;
static PyObject *__pyx_n_s_UNKNOWN;
+static PyObject *__pyx_kp_s_Unhashable_type;
static PyObject *__pyx_kp_s_Use_default_BP_method;
static PyObject *__pyx_kp_s_Users_jyc_project_adios_devel_w;
static PyObject *__pyx_n_s_ValueError;
+static PyObject *__pyx_kp_s_Value_is_none;
static PyObject *__pyx_kp_s_WARN_Invalid_read_method_name;
+static PyObject *__pyx_kp_s_Warning_No_support_yet_s_type_d;
static PyObject *__pyx_n_s_YES;
-static PyObject *__pyx_kp_s__8;
+static PyObject *__pyx_kp_s__11;
+static PyObject *__pyx_kp_s__31;
+static PyObject *__pyx_kp_s__33;
+static PyObject *__pyx_kp_s__7;
static PyObject *__pyx_n_s_adios;
static PyObject *__pyx_n_s_advance;
-static PyObject *__pyx_n_s_all;
+static PyObject *__pyx_n_s_any;
+static PyObject *__pyx_n_s_args;
static PyObject *__pyx_n_s_array;
static PyObject *__pyx_n_s_attr_namelist;
+static PyObject *__pyx_n_s_attrname;
static PyObject *__pyx_n_s_attrs;
+static PyObject *__pyx_n_s_atype;
static PyObject *__pyx_n_s_base_path;
static PyObject *__pyx_n_s_bool;
static PyObject *__pyx_n_s_bpls;
static PyObject *__pyx_n_s_buffer_size;
static PyObject *__pyx_n_s_byte;
static PyObject *__pyx_kp_s_bytes;
+static PyObject *__pyx_n_s_bytes_2;
+static PyObject *__pyx_n_s_char;
static PyObject *__pyx_n_s_close;
static PyObject *__pyx_n_s_comm;
static PyObject *__pyx_n_s_complex;
@@ -1701,6 +2206,7 @@ static PyObject *__pyx_n_s_copy;
static PyObject *__pyx_n_s_count;
static PyObject *__pyx_n_s_current_step;
static PyObject *__pyx_n_s_data_size;
+static PyObject *__pyx_n_s_define;
static PyObject *__pyx_n_s_dimensions;
static PyObject *__pyx_n_s_dims;
static PyObject *__pyx_n_s_doc;
@@ -1710,6 +2216,7 @@ static PyObject *__pyx_n_s_dtype;
static PyObject *__pyx_n_s_end;
static PyObject *__pyx_n_s_endianness;
static PyObject *__pyx_n_s_f;
+static PyObject *__pyx_n_s_factory;
static PyObject *__pyx_n_s_fd_p;
static PyObject *__pyx_n_s_fh;
static PyObject *__pyx_n_s_file;
@@ -1724,22 +2231,35 @@ static PyObject *__pyx_n_s_float64;
static PyObject *__pyx_n_s_fname;
static PyObject *__pyx_n_s_fp;
static PyObject *__pyx_n_s_from_steps;
+static PyObject *__pyx_n_s_gdim;
+static PyObject *__pyx_n_s_genexpr;
+static PyObject *__pyx_n_s_get;
+static PyObject *__pyx_n_s_getitem___locals_genexpr;
static PyObject *__pyx_n_s_global_dimensions;
+static PyObject *__pyx_n_s_gname;
static PyObject *__pyx_n_s_group;
static PyObject *__pyx_n_s_group_id;
static PyObject *__pyx_n_s_group_name;
static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_index;
+static PyObject *__pyx_n_s_indices;
+static PyObject *__pyx_n_s_init;
static PyObject *__pyx_n_s_int16;
static PyObject *__pyx_n_s_int32;
static PyObject *__pyx_n_s_int64;
static PyObject *__pyx_n_s_int8;
static PyObject *__pyx_n_s_integer;
+static PyObject *__pyx_n_s_is_noxml;
+static PyObject *__pyx_n_s_is_static;
static PyObject *__pyx_n_s_is_stream;
static PyObject *__pyx_n_s_itemsize;
+static PyObject *__pyx_n_s_iteritems;
static PyObject *__pyx_n_s_iterkeys;
static PyObject *__pyx_n_s_k;
+static PyObject *__pyx_n_s_keys;
static PyObject *__pyx_n_s_last;
static PyObject *__pyx_n_s_last_step;
+static PyObject *__pyx_n_s_ldim;
static PyObject *__pyx_n_s_local_offsets;
static PyObject *__pyx_n_s_lock_mode;
static PyObject *__pyx_n_s_long;
@@ -1748,6 +2268,7 @@ static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_metaclass;
static PyObject *__pyx_n_s_method;
static PyObject *__pyx_n_s_method_name;
+static PyObject *__pyx_n_s_method_params;
static PyObject *__pyx_n_s_mode;
static PyObject *__pyx_n_s_module;
static PyObject *__pyx_n_s_mype;
@@ -1772,13 +2293,25 @@ static PyObject *__pyx_n_s_range;
static PyObject *__pyx_n_s_read;
static PyObject *__pyx_n_s_readvar;
static PyObject *__pyx_n_s_real;
+static PyObject *__pyx_n_s_replace;
+static PyObject *__pyx_n_s_send;
+static PyObject *__pyx_n_s_setitem;
+static PyObject *__pyx_n_s_shape;
static PyObject *__pyx_n_s_short;
static PyObject *__pyx_n_s_size;
static PyObject *__pyx_n_s_split;
+static PyObject *__pyx_n_s_squeeze;
static PyObject *__pyx_n_s_stats;
+static PyObject *__pyx_n_s_step;
static PyObject *__pyx_n_s_str;
static PyObject *__pyx_n_s_string;
+static PyObject *__pyx_n_s_string_array;
+static PyObject *__pyx_n_s_strip;
+static PyObject *__pyx_n_s_strlen;
+static PyObject *__pyx_n_s_subtract;
+static PyObject *__pyx_n_s_t;
static PyObject *__pyx_n_s_test;
+static PyObject *__pyx_n_s_throw;
static PyObject *__pyx_n_s_time_index;
static PyObject *__pyx_n_s_time_steps;
static PyObject *__pyx_n_s_timeout_sec;
@@ -1796,18 +2329,26 @@ static PyObject *__pyx_n_s_unsigned_short;
static PyObject *__pyx_n_s_v;
static PyObject *__pyx_n_s_val;
static PyObject *__pyx_n_s_value;
+static PyObject *__pyx_n_s_values;
static PyObject *__pyx_n_s_var;
static PyObject *__pyx_n_s_var_namelist;
+static PyObject *__pyx_kp_u_var_read_line_888;
static PyObject *__pyx_n_s_varid;
static PyObject *__pyx_n_s_varname;
static PyObject *__pyx_n_s_vars;
static PyObject *__pyx_n_s_version;
static PyObject *__pyx_n_s_vp;
static PyObject *__pyx_n_s_when;
+static PyObject *__pyx_n_s_write;
+static PyObject *__pyx_kp_u_writer_declare_group_line_1222;
+static PyObject *__pyx_kp_u_writer_define_var_line_1244;
+static PyObject *__pyx_n_s_xrange;
static PyObject *__pyx_n_s_zeros;
+static PyObject *__pyx_n_s_zip;
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_2;
+static PyObject *__pyx_int_3;
static PyObject *__pyx_int_4;
static PyObject *__pyx_int_5;
static PyObject *__pyx_int_6;
@@ -1815,100 +2356,498 @@ static PyObject *__pyx_int_7;
static PyObject *__pyx_int_9;
static PyObject *__pyx_int_10;
static PyObject *__pyx_int_11;
+static PyObject *__pyx_int_12;
static PyObject *__pyx_int_50;
static PyObject *__pyx_int_51;
static PyObject *__pyx_int_52;
static PyObject *__pyx_int_54;
static PyObject *__pyx_int_neg_1;
-static MPI_Comm __pyx_k_;
-static MPI_Comm __pyx_k__2;
-static MPI_Comm __pyx_k__3;
+static MPI_Comm __pyx_k__4;
static MPI_Comm __pyx_k__5;
static MPI_Comm __pyx_k__6;
-static ADIOS_LOCKMODE __pyx_k__7;
-static PyObject *__pyx_tuple__9;
-static PyObject *__pyx_tuple__10;
-static PyObject *__pyx_tuple__11;
+static MPI_Comm __pyx_k__8;
+static MPI_Comm __pyx_k__9;
+static ADIOS_LOCKMODE __pyx_k__10;
+static MPI_Comm __pyx_k__22;
+static PyObject *__pyx_k__23;
+static PyObject *__pyx_k__24;
+static PyObject *__pyx_k__25;
+static PyObject *__pyx_k__27;
+static PyObject *__pyx_k__28;
+static PyObject *__pyx_k__29;
+static PyObject *__pyx_slice_;
+static PyObject *__pyx_slice__2;
+static PyObject *__pyx_tuple__3;
+static PyObject *__pyx_slice__16;
+static PyObject *__pyx_slice__19;
+static PyObject *__pyx_slice__20;
+static PyObject *__pyx_slice__21;
static PyObject *__pyx_tuple__12;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__14;
static PyObject *__pyx_tuple__15;
-static PyObject *__pyx_tuple__16;
static PyObject *__pyx_tuple__17;
-static PyObject *__pyx_tuple__19;
-static PyObject *__pyx_codeobj__18;
-static PyObject *__pyx_codeobj__20;
+static PyObject *__pyx_tuple__18;
+static PyObject *__pyx_tuple__26;
+static PyObject *__pyx_tuple__30;
+static PyObject *__pyx_tuple__32;
+static PyObject *__pyx_tuple__34;
+static PyObject *__pyx_tuple__35;
+static PyObject *__pyx_tuple__36;
+static PyObject *__pyx_tuple__37;
+static PyObject *__pyx_tuple__38;
+static PyObject *__pyx_tuple__39;
+static PyObject *__pyx_tuple__40;
+static PyObject *__pyx_tuple__41;
+static PyObject *__pyx_tuple__42;
+static PyObject *__pyx_tuple__43;
+static PyObject *__pyx_tuple__44;
+static PyObject *__pyx_tuple__45;
+static PyObject *__pyx_tuple__47;
+static PyObject *__pyx_codeobj__46;
+static PyObject *__pyx_codeobj__48;
+
+/* "adios.pyx":19
+ * from cpython.string cimport PyString_AsString
+ *
+ * cdef char ** to_cstring_array(list_str): # <<<<<<<<<<<<<<
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)):
+ */
+
+static char **__pyx_f_5adios_to_cstring_array(PyObject *__pyx_v_list_str) {
+ char **__pyx_v_ret;
+ Py_ssize_t __pyx_v_i;
+ char **__pyx_r;
+ __Pyx_RefNannyDeclarations
+ Py_ssize_t __pyx_t_1;
+ Py_ssize_t __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ char *__pyx_t_4;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("to_cstring_array", 0);
+
+ /* "adios.pyx":20
+ *
+ * cdef char ** to_cstring_array(list_str):
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *)) # <<<<<<<<<<<<<<
+ * for i in xrange(len(list_str)):
+ * ret[i] = PyString_AsString(list_str[i])
+ */
+ __pyx_t_1 = PyObject_Length(__pyx_v_list_str); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_ret = ((char **)malloc((__pyx_t_1 * (sizeof(char *)))));
+
+ /* "adios.pyx":21
+ * cdef char ** to_cstring_array(list_str):
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)): # <<<<<<<<<<<<<<
+ * ret[i] = PyString_AsString(list_str[i])
+ * return ret
+ */
+ __pyx_t_1 = PyObject_Length(__pyx_v_list_str); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) {
+ __pyx_v_i = __pyx_t_2;
+
+ /* "adios.pyx":22
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)):
+ * ret[i] = PyString_AsString(list_str[i]) # <<<<<<<<<<<<<<
+ * return ret
+ *
+ */
+ __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_list_str, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyString_AsString(__pyx_t_3); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ (__pyx_v_ret[__pyx_v_i]) = __pyx_t_4;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
-/* "adios.pyx":259
+ /* "adios.pyx":23
+ * for i in xrange(len(list_str)):
+ * ret[i] = PyString_AsString(list_str[i])
+ * return ret # <<<<<<<<<<<<<<
+ *
* ## ====================
+ */
+ __pyx_r = __pyx_v_ret;
+ goto __pyx_L0;
+
+ /* "adios.pyx":19
+ * from cpython.string cimport PyString_AsString
*
- * cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
- * return adios_init(config, comm)
+ * cdef char ** to_cstring_array(list_str): # <<<<<<<<<<<<<<
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)):
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_WriteUnraisable("adios.to_cstring_array", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":278
*
+ *
+ * cpdef __parse_index(index, ndim): # <<<<<<<<<<<<<<
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple):
*/
-static PyObject *__pyx_pw_5adios_1init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_f_5adios_init(char *__pyx_v_config, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_init *__pyx_optional_args) {
- MPI_Comm __pyx_v_comm = __pyx_k_;
+static PyObject *__pyx_pw_5adios_1__parse_index(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5adios___parse_index(PyObject *__pyx_v_index, PyObject *__pyx_v_ndim, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_v_fixed = NULL;
+ PyObject *__pyx_v_length = NULL;
+ PyObject *__pyx_v_slice_ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ PyObject *(*__pyx_t_5)(PyObject *);
+ PyObject *__pyx_t_6 = NULL;
+ Py_ssize_t __pyx_t_7;
+ PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
+ int __pyx_t_10;
+ int __pyx_t_11;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("init", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_comm = __pyx_optional_args->comm;
+ __Pyx_RefNannySetupContext("__parse_index", 0);
+ __Pyx_INCREF(__pyx_v_index);
+
+ /* "adios.pyx":280
+ * cpdef __parse_index(index, ndim):
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple): # <<<<<<<<<<<<<<
+ * index = (index,)
+ *
+ */
+ __pyx_t_1 = PyTuple_Check(__pyx_v_index);
+ __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":281
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple):
+ * index = (index,) # <<<<<<<<<<<<<<
+ *
+ * fixed = []
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_index);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_index);
+ __Pyx_GIVEREF(__pyx_v_index);
+ __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":283
+ * index = (index,)
+ *
+ * fixed = [] # <<<<<<<<<<<<<<
+ * length = len(index)
+ *
+ */
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_fixed = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":284
+ *
+ * fixed = []
+ * length = len(index) # <<<<<<<<<<<<<<
+ *
+ * for slice_ in index:
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_index); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_length = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":286
+ * length = len(index)
+ *
+ * for slice_ in index: # <<<<<<<<<<<<<<
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ */
+ if (likely(PyList_CheckExact(__pyx_v_index)) || PyTuple_CheckExact(__pyx_v_index)) {
+ __pyx_t_3 = __pyx_v_index; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
+ __pyx_t_5 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_index); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ for (;;) {
+ if (likely(!__pyx_t_5)) {
+ if (likely(PyList_CheckExact(__pyx_t_3))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_6 = __pyx_t_5(__pyx_t_3);
+ if (unlikely(!__pyx_t_6)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_6);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_slice_, __pyx_t_6);
+ __pyx_t_6 = 0;
+
+ /* "adios.pyx":287
+ *
+ * for slice_ in index:
+ * if slice_ is Ellipsis: # <<<<<<<<<<<<<<
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ * elif isinstance(slice_, (int, long)):
+ */
+ __pyx_t_2 = (__pyx_v_slice_ == __pyx_builtin_Ellipsis);
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios.pyx":288
+ * for slice_ in index:
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1)) # <<<<<<<<<<<<<<
+ * elif isinstance(slice_, (int, long)):
+ * fixed.append(slice(slice_, slice_+1, None))
+ */
+ __pyx_t_6 = PyNumber_Subtract(__pyx_v_ndim, __pyx_v_length); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_7 = PyList_GET_SIZE(__pyx_v_fixed); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_INCREF(__pyx_slice_);
+ PyList_SET_ITEM(__pyx_t_9, 0, __pyx_slice_);
+ __Pyx_GIVEREF(__pyx_slice_);
+ { PyObject* __pyx_temp = PyNumber_InPlaceMultiply(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_temp)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_temp);
+ __Pyx_DECREF(__pyx_t_9);
+ __pyx_t_9 = __pyx_temp;
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_10 = __Pyx_PyList_Extend(__pyx_v_fixed, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ goto __pyx_L6;
+ }
+
+ /* "adios.pyx":289
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ * elif isinstance(slice_, (int, long)): # <<<<<<<<<<<<<<
+ * fixed.append(slice(slice_, slice_+1, None))
+ * else:
+ */
+ __pyx_t_2 = PyInt_Check(__pyx_v_slice_);
+ __pyx_t_11 = (__pyx_t_2 != 0);
+ if (!__pyx_t_11) {
+ } else {
+ __pyx_t_1 = __pyx_t_11;
+ goto __pyx_L7_bool_binop_done;
+ }
+ __pyx_t_11 = PyLong_Check(__pyx_v_slice_);
+ __pyx_t_2 = (__pyx_t_11 != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L7_bool_binop_done:;
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":290
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ * elif isinstance(slice_, (int, long)):
+ * fixed.append(slice(slice_, slice_+1, None)) # <<<<<<<<<<<<<<
+ * else:
+ * fixed.append(slice_)
+ */
+ __pyx_t_9 = PyNumber_Add(__pyx_v_slice_, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_8 = PySlice_New(__pyx_v_slice_, __pyx_t_9, Py_None); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_fixed, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L6;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":292
+ * fixed.append(slice(slice_, slice_+1, None))
+ * else:
+ * fixed.append(slice_) # <<<<<<<<<<<<<<
+ * length -= 1
+ *
+ */
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_fixed, __pyx_v_slice_); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
+ __pyx_L6:;
+
+ /* "adios.pyx":293
+ * else:
+ * fixed.append(slice_)
+ * length -= 1 # <<<<<<<<<<<<<<
+ *
+ * index = tuple(fixed)
+ */
+ __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_v_length, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF_SET(__pyx_v_length, __pyx_t_8);
+ __pyx_t_8 = 0;
+
+ /* "adios.pyx":286
+ * length = len(index)
+ *
+ * for slice_ in index: # <<<<<<<<<<<<<<
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ */
}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "adios.pyx":260
+ /* "adios.pyx":295
+ * length -= 1
*
- * cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD):
- * return adios_init(config, comm) # <<<<<<<<<<<<<<
+ * index = tuple(fixed) # <<<<<<<<<<<<<<
+ * if len(index) < ndim:
+ * index += (slice(None),) * (ndim-len(index))
+ */
+ __pyx_t_3 = PyList_AsTuple(__pyx_v_fixed); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":296
*
- * cpdef int64_t open(char * group_name,
+ * index = tuple(fixed)
+ * if len(index) < ndim: # <<<<<<<<<<<<<<
+ * index += (slice(None),) * (ndim-len(index))
+ *
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_index); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_v_ndim, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":297
+ * index = tuple(fixed)
+ * if len(index) < ndim:
+ * index += (slice(None),) * (ndim-len(index)) # <<<<<<<<<<<<<<
+ *
+ * return index
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_index); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_3 = PyNumber_Subtract(__pyx_v_ndim, __pyx_t_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyNumber_Multiply(__pyx_tuple__3, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_index, __pyx_t_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L9;
+ }
+ __pyx_L9:;
+
+ /* "adios.pyx":299
+ * index += (slice(None),) * (ndim-len(index))
+ *
+ * return index # <<<<<<<<<<<<<<
+ *
+ * ## ====================
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(adios_init(__pyx_v_config, __pyx_v_comm)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_v_index);
+ __pyx_r = __pyx_v_index;
goto __pyx_L0;
- /* "adios.pyx":259
- * ## ====================
+ /* "adios.pyx":278
*
- * cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
- * return adios_init(config, comm)
*
+ * cpdef __parse_index(index, ndim): # <<<<<<<<<<<<<<
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple):
*/
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("adios.__parse_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_fixed);
+ __Pyx_XDECREF(__pyx_v_length);
+ __Pyx_XDECREF(__pyx_v_slice_);
+ __Pyx_XDECREF(__pyx_v_index);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_1init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_1init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- char *__pyx_v_config;
- MPI_Comm __pyx_v_comm;
+static PyObject *__pyx_pw_5adios_1__parse_index(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios___parse_index[] = "__parse_index(index, ndim)";
+static PyObject *__pyx_pw_5adios_1__parse_index(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_index = 0;
+ PyObject *__pyx_v_ndim = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("init (wrapper)", 0);
+ __Pyx_RefNannySetupContext("__parse_index (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,&__pyx_n_s_comm,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,&__pyx_n_s_ndim,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -1922,60 +2861,51 @@ static PyObject *__pyx_pw_5adios_1init(PyObject *__pyx_self, PyObject *__pyx_arg
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_config)) != 0)) kw_args--;
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_index)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
- if (value) { values[1] = value; kw_args--; }
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ndim)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("__parse_index", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__parse_index") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
- }
- __pyx_v_config = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_config) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- if (values[1]) {
- __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[1]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+ goto __pyx_L5_argtuple_error;
} else {
- __pyx_v_comm = __pyx_k_;
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
+ __pyx_v_index = values[0];
+ __pyx_v_ndim = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("init", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__parse_index", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
- __Pyx_AddTraceback("adios.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.__parse_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_init(__pyx_self, __pyx_v_config, __pyx_v_comm);
+ __pyx_r = __pyx_pf_5adios___parse_index(__pyx_self, __pyx_v_index, __pyx_v_ndim);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, MPI_Comm __pyx_v_comm) {
+static PyObject *__pyx_pf_5adios___parse_index(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_index, PyObject *__pyx_v_ndim) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- struct __pyx_opt_args_5adios_init __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("init", 0);
+ __Pyx_RefNannySetupContext("__parse_index", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2.__pyx_n = 1;
- __pyx_t_2.comm = __pyx_v_comm;
- __pyx_t_1 = __pyx_f_5adios_init(__pyx_v_config, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios___parse_index(__pyx_v_index, __pyx_v_ndim, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -1984,7 +2914,7 @@ static PyObject *__pyx_pf_5adios_init(CYTHON_UNUSED PyObject *__pyx_self, char *
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.__parse_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -1992,48 +2922,202 @@ static PyObject *__pyx_pf_5adios_init(CYTHON_UNUSED PyObject *__pyx_self, char *
return __pyx_r;
}
-/* "adios.pyx":262
+/* "adios.pyx":305
+ * ## ====================
+ *
+ * cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
* return adios_init(config, comm)
*
- * cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
- * char * name,
- * char * mode,
*/
-static PyObject *__pyx_pw_5adios_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int64_t __pyx_f_5adios_open(char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_open *__pyx_optional_args) {
- MPI_Comm __pyx_v_comm = __pyx_k__2;
- int64_t __pyx_v_fd;
- CYTHON_UNUSED int __pyx_v_result;
- int64_t __pyx_r;
+static PyObject *__pyx_pw_5adios_3init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5adios_init(char *__pyx_v_config, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_init *__pyx_optional_args) {
+ MPI_Comm __pyx_v_comm = __pyx_k__4;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("open", 0);
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("init", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_comm = __pyx_optional_args->comm;
}
}
- /* "adios.pyx":268
- * cdef int64_t fd
- * cdef int result
- * result = adios_open(&fd, group_name, name, mode, comm) # <<<<<<<<<<<<<<
- * return fd
+ /* "adios.pyx":306
*
- */
- __pyx_v_result = adios_open((&__pyx_v_fd), __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm);
-
- /* "adios.pyx":269
- * cdef int result
- * result = adios_open(&fd, group_name, name, mode, comm)
- * return fd # <<<<<<<<<<<<<<
+ * cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD):
+ * return adios_init(config, comm) # <<<<<<<<<<<<<<
*
- * cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size):
+ * cpdef int64_t open(char * group_name,
*/
- __pyx_r = __pyx_v_fd;
- goto __pyx_L0;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(adios_init(__pyx_v_config, __pyx_v_comm)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":262
+ /* "adios.pyx":305
+ * ## ====================
+ *
+ * cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
+ * return adios_init(config, comm)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_3init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_2init[] = "init(char *config, MPI_Comm comm=MPI_COMM_WORLD)";
+static PyObject *__pyx_pw_5adios_3init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_config;
+ MPI_Comm __pyx_v_comm;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("init (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,&__pyx_n_s_comm,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_config)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_config = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_config) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[1]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_comm = __pyx_k__4;
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("init", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_2init(__pyx_self, __pyx_v_config, __pyx_v_comm);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_2init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, MPI_Comm __pyx_v_comm) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ struct __pyx_opt_args_5adios_init __pyx_t_2;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("init", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2.__pyx_n = 1;
+ __pyx_t_2.comm = __pyx_v_comm;
+ __pyx_t_1 = __pyx_f_5adios_init(__pyx_v_config, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":308
+ * return adios_init(config, comm)
+ *
+ * cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
+ * char * name,
+ * char * mode,
+ */
+
+static PyObject *__pyx_pw_5adios_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int64_t __pyx_f_5adios_open(char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_open *__pyx_optional_args) {
+ MPI_Comm __pyx_v_comm = __pyx_k__5;
+ int64_t __pyx_v_fd;
+ CYTHON_UNUSED int __pyx_v_result;
+ int64_t __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("open", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_comm = __pyx_optional_args->comm;
+ }
+ }
+
+ /* "adios.pyx":314
+ * cdef int64_t fd
+ * cdef int result
+ * result = adios_open(&fd, group_name, name, mode, comm) # <<<<<<<<<<<<<<
+ * return fd
+ *
+ */
+ __pyx_v_result = adios_open((&__pyx_v_fd), __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm);
+
+ /* "adios.pyx":315
+ * cdef int result
+ * result = adios_open(&fd, group_name, name, mode, comm)
+ * return fd # <<<<<<<<<<<<<<
+ *
+ * cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size):
+ */
+ __pyx_r = __pyx_v_fd;
+ goto __pyx_L0;
+
+ /* "adios.pyx":308
* return adios_init(config, comm)
*
* cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
@@ -2048,8 +3132,9 @@ static int64_t __pyx_f_5adios_open(char *__pyx_v_group_name, char *__pyx_v_name,
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_4open[] = "open(char *group_name, char *name, char *mode, MPI_Comm comm=MPI_COMM_WORLD) -> int64_t";
+static PyObject *__pyx_pw_5adios_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_group_name;
char *__pyx_v_name;
char *__pyx_v_mode;
@@ -2082,12 +3167,12 @@ static PyObject *__pyx_pw_5adios_3open(PyObject *__pyx_self, PyObject *__pyx_arg
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mode)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
if (kw_args > 0) {
@@ -2096,7 +3181,7 @@ static PyObject *__pyx_pw_5adios_3open(PyObject *__pyx_self, PyObject *__pyx_arg
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -2108,31 +3193,31 @@ static PyObject *__pyx_pw_5adios_3open(PyObject *__pyx_self, PyObject *__pyx_arg
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_group_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_group_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_mode = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_mode) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_group_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_mode = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_mode) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[3]) {
- __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[3]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[3]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_comm = __pyx_k__2;
+ __pyx_v_comm = __pyx_k__5;
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_2open(__pyx_self, __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm);
+ __pyx_r = __pyx_pf_5adios_4open(__pyx_self, __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_2open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, MPI_Comm __pyx_v_comm) {
+static PyObject *__pyx_pf_5adios_4open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, MPI_Comm __pyx_v_comm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int64_t __pyx_t_1;
@@ -2146,7 +3231,7 @@ static PyObject *__pyx_pf_5adios_2open(CYTHON_UNUSED PyObject *__pyx_self, char
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.comm = __pyx_v_comm;
__pyx_t_1 = __pyx_f_5adios_open(__pyx_v_group_name, __pyx_v_name, __pyx_v_mode, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -2163,7 +3248,7 @@ static PyObject *__pyx_pf_5adios_2open(CYTHON_UNUSED PyObject *__pyx_self, char
return __pyx_r;
}
-/* "adios.pyx":271
+/* "adios.pyx":317
* return fd
*
* cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size): # <<<<<<<<<<<<<<
@@ -2171,7 +3256,7 @@ static PyObject *__pyx_pf_5adios_2open(CYTHON_UNUSED PyObject *__pyx_self, char
* cdef int result
*/
-static PyObject *__pyx_pw_5adios_5set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_7set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int64_t __pyx_f_5adios_set_group_size(int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size, CYTHON_UNUSED int __pyx_skip_dispatch) {
uint64_t __pyx_v_total_size;
CYTHON_UNUSED int __pyx_v_result;
@@ -2179,7 +3264,7 @@ static int64_t __pyx_f_5adios_set_group_size(int64_t __pyx_v_fd_p, uint64_t __py
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_group_size", 0);
- /* "adios.pyx":274
+ /* "adios.pyx":320
* cdef uint64_t total_size
* cdef int result
* result = adios_group_size(fd_p, data_size, &total_size) # <<<<<<<<<<<<<<
@@ -2188,17 +3273,17 @@ static int64_t __pyx_f_5adios_set_group_size(int64_t __pyx_v_fd_p, uint64_t __py
*/
__pyx_v_result = adios_group_size(__pyx_v_fd_p, __pyx_v_data_size, (&__pyx_v_total_size));
- /* "adios.pyx":275
+ /* "adios.pyx":321
* cdef int result
* result = adios_group_size(fd_p, data_size, &total_size)
* return total_size # <<<<<<<<<<<<<<
*
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val):
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None):
*/
__pyx_r = __pyx_v_total_size;
goto __pyx_L0;
- /* "adios.pyx":271
+ /* "adios.pyx":317
* return fd
*
* cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size): # <<<<<<<<<<<<<<
@@ -2213,8 +3298,9 @@ static int64_t __pyx_f_5adios_set_group_size(int64_t __pyx_v_fd_p, uint64_t __py
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_5set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_5set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_7set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_6set_group_size[] = "set_group_size(int64_t fd_p, uint64_t data_size) -> int64_t";
+static PyObject *__pyx_pw_5adios_7set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
uint64_t __pyx_v_data_size;
int __pyx_lineno = 0;
@@ -2243,11 +3329,11 @@ static PyObject *__pyx_pw_5adios_5set_group_size(PyObject *__pyx_self, PyObject
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_data_size)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_group_size") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_group_size") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -2255,25 +3341,25 @@ static PyObject *__pyx_pw_5adios_5set_group_size(PyObject *__pyx_self, PyObject
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_data_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_data_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_data_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_data_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.set_group_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_4set_group_size(__pyx_self, __pyx_v_fd_p, __pyx_v_data_size);
+ __pyx_r = __pyx_pf_5adios_6set_group_size(__pyx_self, __pyx_v_fd_p, __pyx_v_data_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size) {
+static PyObject *__pyx_pf_5adios_6set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -2282,7 +3368,7 @@ static PyObject *__pyx_pf_5adios_4set_group_size(CYTHON_UNUSED PyObject *__pyx_s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_group_size", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_f_5adios_set_group_size(__pyx_v_fd_p, __pyx_v_data_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_f_5adios_set_group_size(__pyx_v_fd_p, __pyx_v_data_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2299,91 +3385,146 @@ static PyObject *__pyx_pf_5adios_4set_group_size(CYTHON_UNUSED PyObject *__pyx_s
return __pyx_r;
}
-/* "adios.pyx":277
+/* "adios.pyx":323
* return total_size
*
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None): # <<<<<<<<<<<<<<
* cdef np.ndarray val_
- * if val.flags.contiguous:
+ * if isinstance(val, (np.ndarray)):
*/
-static PyObject *__pyx_pw_5adios_7write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_5adios_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
+static PyObject *__pyx_pw_5adios_9write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_write *__pyx_optional_args) {
+ PyObject *__pyx_v_dtype = ((PyObject *)Py_None);
PyArrayObject *__pyx_v_val_ = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- int __pyx_t_3;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_dtype = __pyx_optional_args->dtype;
+ }
+ }
- /* "adios.pyx":279
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val):
+ /* "adios.pyx":325
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None):
* cdef np.ndarray val_
- * if val.flags.contiguous: # <<<<<<<<<<<<<<
- * val_ = val
- * else:
+ * if isinstance(val, (np.ndarray)): # <<<<<<<<<<<<<<
+ * if val.flags.contiguous:
+ * val_ = val
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_flags); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__pyx_t_3) {
+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
- /* "adios.pyx":280
+ /* "adios.pyx":326
* cdef np.ndarray val_
- * if val.flags.contiguous:
- * val_ = val # <<<<<<<<<<<<<<
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous: # <<<<<<<<<<<<<<
+ * val_ = val
+ * else:
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_flags); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":327
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous:
+ * val_ = val # <<<<<<<<<<<<<<
+ * else:
+ * val_ = np.array(val, copy=True)
+ */
+ if (!(likely(((__pyx_v_val) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_val, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_v_val;
+ __Pyx_INCREF(__pyx_t_4);
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_4);
+ __pyx_t_4 = 0;
+ goto __pyx_L4;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":329
+ * val_ = val
+ * else:
+ * val_ = np.array(val, copy=True) # <<<<<<<<<<<<<<
* else:
- * val_ = np.array(val, copy=True)
+ * val_ = np.array(val, dtype=dtype)
*/
- __Pyx_INCREF(((PyObject *)__pyx_v_val));
- __pyx_v_val_ = __pyx_v_val;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_copy, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_6);
+ __pyx_t_6 = 0;
+ }
+ __pyx_L4:;
goto __pyx_L3;
}
/*else*/ {
- /* "adios.pyx":282
- * val_ = val
+ /* "adios.pyx":331
+ * val_ = np.array(val, copy=True)
* else:
- * val_ = np.array(val, copy=True) # <<<<<<<<<<<<<<
+ * val_ = np.array(val, dtype=dtype) # <<<<<<<<<<<<<<
*
* return adios_write (fd_p, name, <void *> val_.data)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(((PyObject *)__pyx_v_val));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_val));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_val));
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_v_dtype) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_val_ = ((PyArrayObject *)__pyx_t_5);
- __pyx_t_5 = 0;
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_3);
+ __pyx_t_3 = 0;
}
__pyx_L3:;
- /* "adios.pyx":284
- * val_ = np.array(val, copy=True)
+ /* "adios.pyx":333
+ * val_ = np.array(val, dtype=dtype)
*
* return adios_write (fd_p, name, <void *> val_.data) # <<<<<<<<<<<<<<
*
@@ -2392,20 +3533,20 @@ static int __pyx_f_5adios_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArra
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, ((void *)__pyx_v_val_->data));
goto __pyx_L0;
- /* "adios.pyx":277
+ /* "adios.pyx":323
* return total_size
*
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None): # <<<<<<<<<<<<<<
* cdef np.ndarray val_
- * if val.flags.contiguous:
+ * if isinstance(val, (np.ndarray)):
*/
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
__Pyx_WriteUnraisable("adios.write", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
__pyx_r = 0;
__pyx_L0:;
@@ -2415,11 +3556,13 @@ static int __pyx_f_5adios_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArra
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_7write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_7write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_9write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_8write[] = "write(int64_t fd_p, char *name, val, dtype=None) -> int";
+static PyObject *__pyx_pw_5adios_9write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
- PyArrayObject *__pyx_v_val = 0;
+ PyObject *__pyx_v_val = 0;
+ PyObject *__pyx_v_dtype = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -2427,12 +3570,14 @@ static PyObject *__pyx_pw_5adios_7write(PyObject *__pyx_self, PyObject *__pyx_ar
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd_p,&__pyx_n_s_name,&__pyx_n_s_val,0};
- PyObject* values[3] = {0,0,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd_p,&__pyx_n_s_name,&__pyx_n_s_val,&__pyx_n_s_dtype,0};
+ PyObject* values[4] = {0,0,0,0};
+ values[3] = ((PyObject *)Py_None);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
@@ -2447,66 +3592,75 @@ static PyObject *__pyx_pw_5adios_7write(PyObject *__pyx_self, PyObject *__pyx_ar
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype);
+ if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
- } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
- goto __pyx_L5_argtuple_error;
} else {
- values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = ((PyArrayObject *)values[2]);
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = values[2];
+ __pyx_v_dtype = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_5numpy_ndarray, 1, "val", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_5adios_6write(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_5adios_8write(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val, __pyx_v_dtype);
/* function exit code */
- goto __pyx_L0;
- __pyx_L1_error:;
- __pyx_r = NULL;
- __pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_6write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val) {
+static PyObject *__pyx_pf_5adios_8write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyObject *__pyx_v_val, PyObject *__pyx_v_dtype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_1;
+ struct __pyx_opt_args_5adios_write __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_2.__pyx_n = 1;
+ __pyx_t_2.dtype = __pyx_v_dtype;
+ __pyx_t_1 = __pyx_f_5adios_write(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0, &__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("adios.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -2515,7 +3669,7 @@ static PyObject *__pyx_pf_5adios_6write(CYTHON_UNUSED PyObject *__pyx_self, int6
return __pyx_r;
}
-/* "adios.pyx":286
+/* "adios.pyx":335
* return adios_write (fd_p, name, <void *> val_.data)
*
* cpdef int write_int (int64_t fd_p, char * name, int val): # <<<<<<<<<<<<<<
@@ -2523,13 +3677,13 @@ static PyObject *__pyx_pf_5adios_6write(CYTHON_UNUSED PyObject *__pyx_self, int6
*
*/
-static PyObject *__pyx_pw_5adios_9write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_11write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_write_int(int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write_int", 0);
- /* "adios.pyx":287
+ /* "adios.pyx":336
*
* cpdef int write_int (int64_t fd_p, char * name, int val):
* return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
@@ -2539,7 +3693,7 @@ static int __pyx_f_5adios_write_int(int64_t __pyx_v_fd_p, char *__pyx_v_name, in
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
goto __pyx_L0;
- /* "adios.pyx":286
+ /* "adios.pyx":335
* return adios_write (fd_p, name, <void *> val_.data)
*
* cpdef int write_int (int64_t fd_p, char * name, int val): # <<<<<<<<<<<<<<
@@ -2554,8 +3708,9 @@ static int __pyx_f_5adios_write_int(int64_t __pyx_v_fd_p, char *__pyx_v_name, in
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_9write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_9write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_11write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_10write_int[] = "write_int(int64_t fd_p, char *name, int val) -> int";
+static PyObject *__pyx_pw_5adios_11write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
int __pyx_v_val;
@@ -2586,16 +3741,16 @@ static PyObject *__pyx_pw_5adios_9write_int(PyObject *__pyx_self, PyObject *__py
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_int") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_int") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -2604,26 +3759,26 @@ static PyObject *__pyx_pw_5adios_9write_int(PyObject *__pyx_self, PyObject *__py
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.write_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_8write_int(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_5adios_10write_int(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_8write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val) {
+static PyObject *__pyx_pf_5adios_10write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -2632,7 +3787,7 @@ static PyObject *__pyx_pf_5adios_8write_int(CYTHON_UNUSED PyObject *__pyx_self,
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write_int", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_int(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_int(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2649,7 +3804,7 @@ static PyObject *__pyx_pf_5adios_8write_int(CYTHON_UNUSED PyObject *__pyx_self,
return __pyx_r;
}
-/* "adios.pyx":289
+/* "adios.pyx":338
* return adios_write (fd_p, name, &val)
*
* cpdef int write_long (int64_t fd_p, char * name, long val): # <<<<<<<<<<<<<<
@@ -2657,13 +3812,13 @@ static PyObject *__pyx_pf_5adios_8write_int(CYTHON_UNUSED PyObject *__pyx_self,
*
*/
-static PyObject *__pyx_pw_5adios_11write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_13write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_write_long(int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write_long", 0);
- /* "adios.pyx":290
+ /* "adios.pyx":339
*
* cpdef int write_long (int64_t fd_p, char * name, long val):
* return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
@@ -2673,7 +3828,7 @@ static int __pyx_f_5adios_write_long(int64_t __pyx_v_fd_p, char *__pyx_v_name, l
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
goto __pyx_L0;
- /* "adios.pyx":289
+ /* "adios.pyx":338
* return adios_write (fd_p, name, &val)
*
* cpdef int write_long (int64_t fd_p, char * name, long val): # <<<<<<<<<<<<<<
@@ -2688,8 +3843,9 @@ static int __pyx_f_5adios_write_long(int64_t __pyx_v_fd_p, char *__pyx_v_name, l
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_11write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_11write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_13write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_12write_long[] = "write_long(int64_t fd_p, char *name, long val) -> int";
+static PyObject *__pyx_pw_5adios_13write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
long __pyx_v_val;
@@ -2720,16 +3876,16 @@ static PyObject *__pyx_pw_5adios_11write_long(PyObject *__pyx_self, PyObject *__
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_long") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_long") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -2738,26 +3894,26 @@ static PyObject *__pyx_pw_5adios_11write_long(PyObject *__pyx_self, PyObject *__
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = __Pyx_PyInt_As_long(values[2]); if (unlikely((__pyx_v_val == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __Pyx_PyInt_As_long(values[2]); if (unlikely((__pyx_v_val == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.write_long", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_10write_long(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_5adios_12write_long(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_10write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val) {
+static PyObject *__pyx_pf_5adios_12write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -2766,7 +3922,7 @@ static PyObject *__pyx_pf_5adios_10write_long(CYTHON_UNUSED PyObject *__pyx_self
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write_long", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_long(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_long(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2783,7 +3939,7 @@ static PyObject *__pyx_pf_5adios_10write_long(CYTHON_UNUSED PyObject *__pyx_self
return __pyx_r;
}
-/* "adios.pyx":292
+/* "adios.pyx":341
* return adios_write (fd_p, name, &val)
*
* cpdef int write_float (int64_t fd_p, char * name, float val): # <<<<<<<<<<<<<<
@@ -2791,23 +3947,23 @@ static PyObject *__pyx_pf_5adios_10write_long(CYTHON_UNUSED PyObject *__pyx_self
*
*/
-static PyObject *__pyx_pw_5adios_13write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_15write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_write_float(int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write_float", 0);
- /* "adios.pyx":293
+ /* "adios.pyx":342
*
* cpdef int write_float (int64_t fd_p, char * name, float val):
* return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
*
- * cpdef int read(int64_t fd_p, char * name, np.ndarray val):
+ * cpdef int write_double (int64_t fd_p, char * name, double val):
*/
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
goto __pyx_L0;
- /* "adios.pyx":292
+ /* "adios.pyx":341
* return adios_write (fd_p, name, &val)
*
* cpdef int write_float (int64_t fd_p, char * name, float val): # <<<<<<<<<<<<<<
@@ -2822,8 +3978,9 @@ static int __pyx_f_5adios_write_float(int64_t __pyx_v_fd_p, char *__pyx_v_name,
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_13write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_13write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_15write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_14write_float[] = "write_float(int64_t fd_p, char *name, float val) -> int";
+static PyObject *__pyx_pw_5adios_15write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
float __pyx_v_val;
@@ -2854,16 +4011,16 @@ static PyObject *__pyx_pw_5adios_13write_float(PyObject *__pyx_self, PyObject *_
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_float") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_float") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -2872,26 +4029,26 @@ static PyObject *__pyx_pw_5adios_13write_float(PyObject *__pyx_self, PyObject *_
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_val == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_val == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.write_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_12write_float(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_5adios_14write_float(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_12write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val) {
+static PyObject *__pyx_pf_5adios_14write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -2900,7 +4057,7 @@ static PyObject *__pyx_pf_5adios_12write_float(CYTHON_UNUSED PyObject *__pyx_sel
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write_float", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_float(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_float(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2917,15 +4074,150 @@ static PyObject *__pyx_pf_5adios_12write_float(CYTHON_UNUSED PyObject *__pyx_sel
return __pyx_r;
}
-/* "adios.pyx":295
+/* "adios.pyx":344
+ * return adios_write (fd_p, name, &val)
+ *
+ * cpdef int write_double (int64_t fd_p, char * name, double val): # <<<<<<<<<<<<<<
+ * return adios_write (fd_p, name, &val)
+ *
+ */
+
+static PyObject *__pyx_pw_5adios_17write_double(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_write_double(int64_t __pyx_v_fd_p, char *__pyx_v_name, double __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("write_double", 0);
+
+ /* "adios.pyx":345
+ *
+ * cpdef int write_double (int64_t fd_p, char * name, double val):
+ * return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
+ goto __pyx_L0;
+
+ /* "adios.pyx":344
* return adios_write (fd_p, name, &val)
*
+ * cpdef int write_double (int64_t fd_p, char * name, double val): # <<<<<<<<<<<<<<
+ * return adios_write (fd_p, name, &val)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_17write_double(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_16write_double[] = "write_double(int64_t fd_p, char *name, double val) -> int";
+static PyObject *__pyx_pw_5adios_17write_double(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int64_t __pyx_v_fd_p;
+ char *__pyx_v_name;
+ double __pyx_v_val;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("write_double (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd_p,&__pyx_n_s_name,&__pyx_n_s_val,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fd_p)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("write_double", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 2:
+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("write_double", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_double") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ }
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("write_double", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.write_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_16write_double(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_16write_double(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, double __pyx_v_val) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("write_double", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_write_double(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.write_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":348
+ *
+ *
* cpdef int read(int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
* print "Reading ... ", val.itemsize * val.size, "(bytes)"
*/
-static PyObject *__pyx_pw_5adios_15read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_19read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
@@ -2939,7 +4231,7 @@ static int __pyx_f_5adios_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArray
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read", 0);
- /* "adios.pyx":296
+ /* "adios.pyx":349
*
* cpdef int read(int64_t fd_p, char * name, np.ndarray val):
* assert val.flags.contiguous, 'Only contiguous arrays are supported.' # <<<<<<<<<<<<<<
@@ -2948,36 +4240,36 @@ static int __pyx_f_5adios_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArray
*/
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_flags); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_flags); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_3)) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Only_contiguous_arrays_are_suppo);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios.pyx":297
+ /* "adios.pyx":350
* cpdef int read(int64_t fd_p, char * name, np.ndarray val):
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
* print "Reading ... ", val.itemsize * val.size, "(bytes)" # <<<<<<<<<<<<<<
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_kp_s_Reading);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_Reading);
@@ -2988,31 +4280,31 @@ static int __pyx_f_5adios_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArray
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_s_bytes);
__Pyx_GIVEREF(__pyx_kp_s_bytes);
__pyx_t_4 = 0;
- if (__Pyx_Print(0, __pyx_t_1, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_Print(0, __pyx_t_1, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":298
+ /* "adios.pyx":351
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
* print "Reading ... ", val.itemsize * val.size, "(bytes)"
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size) # <<<<<<<<<<<<<<
*
* cpdef int close(int64_t fd_p):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = adios_read(__pyx_v_fd_p, __pyx_v_name, ((void *)__pyx_v_val->data), __pyx_t_5);
goto __pyx_L0;
- /* "adios.pyx":295
- * return adios_write (fd_p, name, &val)
+ /* "adios.pyx":348
+ *
*
* cpdef int read(int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
@@ -3032,8 +4324,9 @@ static int __pyx_f_5adios_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArray
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_15read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_15read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_19read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_18read[] = "read(int64_t fd_p, char *name, ndarray val) -> int";
+static PyObject *__pyx_pw_5adios_19read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
PyArrayObject *__pyx_v_val = 0;
@@ -3064,16 +4357,16 @@ static PyObject *__pyx_pw_5adios_15read(PyObject *__pyx_self, PyObject *__pyx_ar
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -3082,20 +4375,20 @@ static PyObject *__pyx_pw_5adios_15read(PyObject *__pyx_self, PyObject *__pyx_ar
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_v_val = ((PyArrayObject *)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_5numpy_ndarray, 1, "val", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_5adios_14read(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_5numpy_ndarray, 1, "val", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_5adios_18read(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
goto __pyx_L0;
@@ -3106,7 +4399,7 @@ static PyObject *__pyx_pw_5adios_15read(PyObject *__pyx_self, PyObject *__pyx_ar
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_14read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val) {
+static PyObject *__pyx_pf_5adios_18read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3115,7 +4408,7 @@ static PyObject *__pyx_pf_5adios_14read(CYTHON_UNUSED PyObject *__pyx_self, int6
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_read(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_read(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3132,7 +4425,7 @@ static PyObject *__pyx_pf_5adios_14read(CYTHON_UNUSED PyObject *__pyx_self, int6
return __pyx_r;
}
-/* "adios.pyx":300
+/* "adios.pyx":353
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size)
*
* cpdef int close(int64_t fd_p): # <<<<<<<<<<<<<<
@@ -3140,13 +4433,13 @@ static PyObject *__pyx_pf_5adios_14read(CYTHON_UNUSED PyObject *__pyx_self, int6
*
*/
-static PyObject *__pyx_pw_5adios_17close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
+static PyObject *__pyx_pw_5adios_21close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
static int __pyx_f_5adios_close(int64_t __pyx_v_fd_p, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("close", 0);
- /* "adios.pyx":301
+ /* "adios.pyx":354
*
* cpdef int close(int64_t fd_p):
* return adios_close(fd_p) # <<<<<<<<<<<<<<
@@ -3156,7 +4449,7 @@ static int __pyx_f_5adios_close(int64_t __pyx_v_fd_p, CYTHON_UNUSED int __pyx_sk
__pyx_r = adios_close(__pyx_v_fd_p);
goto __pyx_L0;
- /* "adios.pyx":300
+ /* "adios.pyx":353
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size)
*
* cpdef int close(int64_t fd_p): # <<<<<<<<<<<<<<
@@ -3171,8 +4464,9 @@ static int __pyx_f_5adios_close(int64_t __pyx_v_fd_p, CYTHON_UNUSED int __pyx_sk
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_17close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
-static PyObject *__pyx_pw_5adios_17close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p) {
+static PyObject *__pyx_pw_5adios_21close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
+static char __pyx_doc_5adios_20close[] = "close(int64_t fd_p) -> int";
+static PyObject *__pyx_pw_5adios_21close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p) {
int64_t __pyx_v_fd_p;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -3181,7 +4475,7 @@ static PyObject *__pyx_pw_5adios_17close(PyObject *__pyx_self, PyObject *__pyx_a
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("close (wrapper)", 0);
assert(__pyx_arg_fd_p); {
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(__pyx_arg_fd_p); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(__pyx_arg_fd_p); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -3189,14 +4483,14 @@ static PyObject *__pyx_pw_5adios_17close(PyObject *__pyx_self, PyObject *__pyx_a
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_16close(__pyx_self, ((int64_t)__pyx_v_fd_p));
+ __pyx_r = __pyx_pf_5adios_20close(__pyx_self, ((int64_t)__pyx_v_fd_p));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_16close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p) {
+static PyObject *__pyx_pf_5adios_20close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3205,7 +4499,7 @@ static PyObject *__pyx_pf_5adios_16close(CYTHON_UNUSED PyObject *__pyx_self, int
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_close(__pyx_v_fd_p, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_close(__pyx_v_fd_p, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3222,7 +4516,7 @@ static PyObject *__pyx_pf_5adios_16close(CYTHON_UNUSED PyObject *__pyx_self, int
return __pyx_r;
}
-/* "adios.pyx":303
+/* "adios.pyx":356
* return adios_close(fd_p)
*
* cpdef int finalize(int mype = 0): # <<<<<<<<<<<<<<
@@ -3230,7 +4524,7 @@ static PyObject *__pyx_pf_5adios_16close(CYTHON_UNUSED PyObject *__pyx_self, int
*
*/
-static PyObject *__pyx_pw_5adios_19finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_23finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_finalize *__pyx_optional_args) {
int __pyx_v_mype = ((int)0);
int __pyx_r;
@@ -3242,7 +4536,7 @@ static int __pyx_f_5adios_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct
}
}
- /* "adios.pyx":304
+ /* "adios.pyx":357
*
* cpdef int finalize(int mype = 0):
* return adios_finalize(mype) # <<<<<<<<<<<<<<
@@ -3252,7 +4546,7 @@ static int __pyx_f_5adios_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct
__pyx_r = adios_finalize(__pyx_v_mype);
goto __pyx_L0;
- /* "adios.pyx":303
+ /* "adios.pyx":356
* return adios_close(fd_p)
*
* cpdef int finalize(int mype = 0): # <<<<<<<<<<<<<<
@@ -3267,8 +4561,9 @@ static int __pyx_f_5adios_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_19finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_19finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_23finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_22finalize[] = "finalize(int mype=0) -> int";
+static PyObject *__pyx_pw_5adios_23finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int __pyx_v_mype;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -3296,7 +4591,7 @@ static PyObject *__pyx_pw_5adios_19finalize(PyObject *__pyx_self, PyObject *__py
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -3306,27 +4601,27 @@ static PyObject *__pyx_pw_5adios_19finalize(PyObject *__pyx_self, PyObject *__py
}
}
if (values[0]) {
- __pyx_v_mype = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_mype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_mype = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_mype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_mype = ((int)0);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.finalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_18finalize(__pyx_self, __pyx_v_mype);
+ __pyx_r = __pyx_pf_5adios_22finalize(__pyx_self, __pyx_v_mype);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_18finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype) {
+static PyObject *__pyx_pf_5adios_22finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -3340,7 +4635,7 @@ static PyObject *__pyx_pf_5adios_18finalize(CYTHON_UNUSED PyObject *__pyx_self,
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.mype = __pyx_v_mype;
__pyx_t_1 = __pyx_f_5adios_finalize(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -3357,7 +4652,7 @@ static PyObject *__pyx_pf_5adios_18finalize(CYTHON_UNUSED PyObject *__pyx_self,
return __pyx_r;
}
-/* "adios.pyx":309
+/* "adios.pyx":362
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
@@ -3365,9 +4660,9 @@ static PyObject *__pyx_pf_5adios_18finalize(CYTHON_UNUSED PyObject *__pyx_self,
*
*/
-static PyObject *__pyx_pw_5adios_21init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_25init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_init_noxml *__pyx_optional_args) {
- MPI_Comm __pyx_v_comm = __pyx_k__3;
+ MPI_Comm __pyx_v_comm = __pyx_k__6;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("init_noxml", 0);
@@ -3377,7 +4672,7 @@ static int __pyx_f_5adios_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch, stru
}
}
- /* "adios.pyx":310
+ /* "adios.pyx":363
* ## ====================
* cpdef int init_noxml(MPI_Comm comm = MPI_COMM_WORLD):
* return adios_init_noxml(comm) # <<<<<<<<<<<<<<
@@ -3387,7 +4682,7 @@ static int __pyx_f_5adios_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch, stru
__pyx_r = adios_init_noxml(__pyx_v_comm);
goto __pyx_L0;
- /* "adios.pyx":309
+ /* "adios.pyx":362
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
@@ -3402,8 +4697,9 @@ static int __pyx_f_5adios_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch, stru
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_21init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_21init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_25init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_24init_noxml[] = "init_noxml(MPI_Comm comm=MPI_COMM_WORLD) -> int";
+static PyObject *__pyx_pw_5adios_25init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
MPI_Comm __pyx_v_comm;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -3431,7 +4727,7 @@ static PyObject *__pyx_pw_5adios_21init_noxml(PyObject *__pyx_self, PyObject *__
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init_noxml") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init_noxml") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -3441,27 +4737,27 @@ static PyObject *__pyx_pw_5adios_21init_noxml(PyObject *__pyx_self, PyObject *__
}
}
if (values[0]) {
- __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[0]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[0]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_comm = __pyx_k__3;
+ __pyx_v_comm = __pyx_k__6;
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("init_noxml", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("init_noxml", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.init_noxml", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_20init_noxml(__pyx_self, __pyx_v_comm);
+ __pyx_r = __pyx_pf_5adios_24init_noxml(__pyx_self, __pyx_v_comm);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self, MPI_Comm __pyx_v_comm) {
+static PyObject *__pyx_pf_5adios_24init_noxml(CYTHON_UNUSED PyObject *__pyx_self, MPI_Comm __pyx_v_comm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -3475,7 +4771,7 @@ static PyObject *__pyx_pf_5adios_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.comm = __pyx_v_comm;
__pyx_t_1 = __pyx_f_5adios_init_noxml(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -3492,7 +4788,7 @@ static PyObject *__pyx_pf_5adios_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self
return __pyx_r;
}
-/* "adios.pyx":312
+/* "adios.pyx":365
* return adios_init_noxml(comm)
*
* cpdef int allocate_buffer(int when, # <<<<<<<<<<<<<<
@@ -3500,13 +4796,13 @@ static PyObject *__pyx_pf_5adios_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self
* return adios_allocate_buffer(<ADIOS_BUFFER_ALLOC_WHEN> when,
*/
-static PyObject *__pyx_pw_5adios_23allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_27allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_allocate_buffer(int __pyx_v_when, uint64_t __pyx_v_buffer_size, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("allocate_buffer", 0);
- /* "adios.pyx":314
+ /* "adios.pyx":367
* cpdef int allocate_buffer(int when,
* uint64_t buffer_size):
* return adios_allocate_buffer(<ADIOS_BUFFER_ALLOC_WHEN> when, # <<<<<<<<<<<<<<
@@ -3516,7 +4812,7 @@ static int __pyx_f_5adios_allocate_buffer(int __pyx_v_when, uint64_t __pyx_v_buf
__pyx_r = adios_allocate_buffer(((ADIOS_BUFFER_ALLOC_WHEN)__pyx_v_when), __pyx_v_buffer_size);
goto __pyx_L0;
- /* "adios.pyx":312
+ /* "adios.pyx":365
* return adios_init_noxml(comm)
*
* cpdef int allocate_buffer(int when, # <<<<<<<<<<<<<<
@@ -3531,8 +4827,9 @@ static int __pyx_f_5adios_allocate_buffer(int __pyx_v_when, uint64_t __pyx_v_buf
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_23allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_23allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_27allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_26allocate_buffer[] = "allocate_buffer(int when, uint64_t buffer_size) -> int";
+static PyObject *__pyx_pw_5adios_27allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int __pyx_v_when;
uint64_t __pyx_v_buffer_size;
int __pyx_lineno = 0;
@@ -3561,11 +4858,11 @@ static PyObject *__pyx_pw_5adios_23allocate_buffer(PyObject *__pyx_self, PyObjec
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffer_size)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allocate_buffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allocate_buffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -3573,25 +4870,25 @@ static PyObject *__pyx_pw_5adios_23allocate_buffer(PyObject *__pyx_self, PyObjec
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_when = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_when == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_buffer_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_buffer_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_when = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_when == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_buffer_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_buffer_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_22allocate_buffer(__pyx_self, __pyx_v_when, __pyx_v_buffer_size);
+ __pyx_r = __pyx_pf_5adios_26allocate_buffer(__pyx_self, __pyx_v_when, __pyx_v_buffer_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size) {
+static PyObject *__pyx_pf_5adios_26allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3600,7 +4897,7 @@ static PyObject *__pyx_pf_5adios_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("allocate_buffer", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_allocate_buffer(__pyx_v_when, __pyx_v_buffer_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_allocate_buffer(__pyx_v_when, __pyx_v_buffer_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3617,7 +4914,7 @@ static PyObject *__pyx_pf_5adios_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx
return __pyx_r;
}
-/* "adios.pyx":317
+/* "adios.pyx":370
* buffer_size)
*
* cpdef int64_t declare_group(char * name, # <<<<<<<<<<<<<<
@@ -3625,9 +4922,9 @@ static PyObject *__pyx_pf_5adios_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx
* int stats = 1):
*/
-static PyObject *__pyx_pw_5adios_25declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_29declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int64_t __pyx_f_5adios_declare_group(char *__pyx_v_name, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_declare_group *__pyx_optional_args) {
- char *__pyx_v_time_index = ((char *)__pyx_k__4);
+ char *__pyx_v_time_index = ((char *)__pyx_k__7);
int __pyx_v_stats = ((int)1);
int64_t __pyx_v_id;
int64_t __pyx_r;
@@ -3642,7 +4939,7 @@ static int64_t __pyx_f_5adios_declare_group(char *__pyx_v_name, CYTHON_UNUSED in
}
}
- /* "adios.pyx":320
+ /* "adios.pyx":373
* char * time_index = "",
* int stats = 1):
* cdef int64_t id = 0 # <<<<<<<<<<<<<<
@@ -3651,7 +4948,7 @@ static int64_t __pyx_f_5adios_declare_group(char *__pyx_v_name, CYTHON_UNUSED in
*/
__pyx_v_id = 0;
- /* "adios.pyx":321
+ /* "adios.pyx":374
* int stats = 1):
* cdef int64_t id = 0
* adios_declare_group (&id, # <<<<<<<<<<<<<<
@@ -3660,7 +4957,7 @@ static int64_t __pyx_f_5adios_declare_group(char *__pyx_v_name, CYTHON_UNUSED in
*/
adios_declare_group((&__pyx_v_id), __pyx_v_name, __pyx_v_time_index, ((ADIOS_FLAG)__pyx_v_stats));
- /* "adios.pyx":325
+ /* "adios.pyx":378
* time_index,
* <ADIOS_FLAG> stats)
* return id # <<<<<<<<<<<<<<
@@ -3670,7 +4967,7 @@ static int64_t __pyx_f_5adios_declare_group(char *__pyx_v_name, CYTHON_UNUSED in
__pyx_r = __pyx_v_id;
goto __pyx_L0;
- /* "adios.pyx":317
+ /* "adios.pyx":370
* buffer_size)
*
* cpdef int64_t declare_group(char * name, # <<<<<<<<<<<<<<
@@ -3685,8 +4982,9 @@ static int64_t __pyx_f_5adios_declare_group(char *__pyx_v_name, CYTHON_UNUSED in
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_25declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_25declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_29declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_28declare_group[] = "declare_group(char *name, char *time_index='', int stats=1) -> int64_t";
+static PyObject *__pyx_pw_5adios_29declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_name;
char *__pyx_v_time_index;
int __pyx_v_stats;
@@ -3726,7 +5024,7 @@ static PyObject *__pyx_pw_5adios_25declare_group(PyObject *__pyx_self, PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare_group") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare_group") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -3737,34 +5035,34 @@ static PyObject *__pyx_pw_5adios_25declare_group(PyObject *__pyx_self, PyObject
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[1]) {
- __pyx_v_time_index = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_time_index) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_time_index = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_time_index) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_time_index = ((char *)__pyx_k__4);
+ __pyx_v_time_index = ((char *)__pyx_k__7);
}
if (values[2]) {
- __pyx_v_stats = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_stats == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_stats = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_stats == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_stats = ((int)1);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("declare_group", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("declare_group", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.declare_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_24declare_group(__pyx_self, __pyx_v_name, __pyx_v_time_index, __pyx_v_stats);
+ __pyx_r = __pyx_pf_5adios_28declare_group(__pyx_self, __pyx_v_name, __pyx_v_time_index, __pyx_v_stats);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_24declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats) {
+static PyObject *__pyx_pf_5adios_28declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int64_t __pyx_t_1;
@@ -3779,7 +5077,7 @@ static PyObject *__pyx_pf_5adios_24declare_group(CYTHON_UNUSED PyObject *__pyx_s
__pyx_t_2.time_index = __pyx_v_time_index;
__pyx_t_2.stats = __pyx_v_stats;
__pyx_t_1 = __pyx_f_5adios_declare_group(__pyx_v_name, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -3796,7 +5094,7 @@ static PyObject *__pyx_pf_5adios_24declare_group(CYTHON_UNUSED PyObject *__pyx_s
return __pyx_r;
}
-/* "adios.pyx":327
+/* "adios.pyx":380
* return id
*
* cpdef int define_var(int64_t group_id, # <<<<<<<<<<<<<<
@@ -3804,11 +5102,11 @@ static PyObject *__pyx_pf_5adios_24declare_group(CYTHON_UNUSED PyObject *__pyx_s
* char * path,
*/
-static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_5adios_define_var(int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_define_var *__pyx_optional_args) {
- char *__pyx_v_dimensions = ((char *)__pyx_k__4);
- char *__pyx_v_global_dimensions = ((char *)__pyx_k__4);
- char *__pyx_v_local_offsets = ((char *)__pyx_k__4);
+static PyObject *__pyx_pw_5adios_31define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_define_var(int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_define_var *__pyx_optional_args) {
+ char *__pyx_v_dimensions = ((char *)__pyx_k__7);
+ char *__pyx_v_global_dimensions = ((char *)__pyx_k__7);
+ char *__pyx_v_local_offsets = ((char *)__pyx_k__7);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_var", 0);
@@ -3824,17 +5122,17 @@ static int __pyx_f_5adios_define_var(int64_t __pyx_v_group_id, char *__pyx_v_nam
}
}
- /* "adios.pyx":334
+ /* "adios.pyx":387
* char * global_dimensions = "",
* char * local_offsets = ""):
* return adios_define_var(group_id, # <<<<<<<<<<<<<<
* name, path,
- * <ADIOS_DATATYPES> type,
+ * <ADIOS_DATATYPES> atype,
*/
- __pyx_r = adios_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_type), __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
+ __pyx_r = adios_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_atype), __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
goto __pyx_L0;
- /* "adios.pyx":327
+ /* "adios.pyx":380
* return id
*
* cpdef int define_var(int64_t group_id, # <<<<<<<<<<<<<<
@@ -3849,12 +5147,13 @@ static int __pyx_f_5adios_define_var(int64_t __pyx_v_group_id, char *__pyx_v_nam
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_31define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_30define_var[] = "define_var(int64_t group_id, char *name, char *path, int atype, char *dimensions='', char *global_dimensions='', char *local_offsets='') -> int";
+static PyObject *__pyx_pw_5adios_31define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_group_id;
char *__pyx_v_name;
char *__pyx_v_path;
- int __pyx_v_type;
+ int __pyx_v_atype;
char *__pyx_v_dimensions;
char *__pyx_v_global_dimensions;
char *__pyx_v_local_offsets;
@@ -3865,7 +5164,7 @@ static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_var (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group_id,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_type,&__pyx_n_s_dimensions,&__pyx_n_s_global_dimensions,&__pyx_n_s_local_offsets,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group_id,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_atype,&__pyx_n_s_dimensions,&__pyx_n_s_global_dimensions,&__pyx_n_s_local_offsets,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -3889,17 +5188,17 @@ static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
- if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_atype)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 4:
if (kw_args > 0) {
@@ -3918,7 +5217,7 @@ static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_var") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_var") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -3933,42 +5232,42 @@ static PyObject *__pyx_pw_5adios_27define_var(PyObject *__pyx_self, PyObject *__
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_group_id = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group_id == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_type = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group_id = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group_id == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_atype = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_atype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[4]) {
- __pyx_v_dimensions = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_dimensions = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_dimensions = ((char *)__pyx_k__4);
+ __pyx_v_dimensions = ((char *)__pyx_k__7);
}
if (values[5]) {
- __pyx_v_global_dimensions = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_global_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_global_dimensions = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_global_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_global_dimensions = ((char *)__pyx_k__4);
+ __pyx_v_global_dimensions = ((char *)__pyx_k__7);
}
if (values[6]) {
- __pyx_v_local_offsets = __Pyx_PyObject_AsString(values[6]); if (unlikely((!__pyx_v_local_offsets) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_local_offsets = __Pyx_PyObject_AsString(values[6]); if (unlikely((!__pyx_v_local_offsets) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_local_offsets = ((char *)__pyx_k__4);
+ __pyx_v_local_offsets = ((char *)__pyx_k__7);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.define_var", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_26define_var(__pyx_self, __pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_type, __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
+ __pyx_r = __pyx_pf_5adios_30define_var(__pyx_self, __pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_atype, __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_26define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets) {
+static PyObject *__pyx_pf_5adios_30define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -3983,8 +5282,8 @@ static PyObject *__pyx_pf_5adios_26define_var(CYTHON_UNUSED PyObject *__pyx_self
__pyx_t_2.dimensions = __pyx_v_dimensions;
__pyx_t_2.global_dimensions = __pyx_v_global_dimensions;
__pyx_t_2.local_offsets = __pyx_v_local_offsets;
- __pyx_t_1 = __pyx_f_5adios_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_type, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_atype, 0, &__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -4001,7 +5300,7 @@ static PyObject *__pyx_pf_5adios_26define_var(CYTHON_UNUSED PyObject *__pyx_self
return __pyx_r;
}
-/* "adios.pyx":341
+/* "adios.pyx":394
* local_offsets)
*
* cpdef int define_attribute (int64_t group, # <<<<<<<<<<<<<<
@@ -4009,23 +5308,23 @@ static PyObject *__pyx_pf_5adios_26define_var(CYTHON_UNUSED PyObject *__pyx_self
* char * path,
*/
-static PyObject *__pyx_pw_5adios_29define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_5adios_define_attribute(int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_value, char *__pyx_v_var, CYTHON_UNUSED int __pyx_skip_dispatch) {
+static PyObject *__pyx_pw_5adios_33define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_define_attribute(int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_value, char *__pyx_v_var, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_attribute", 0);
- /* "adios.pyx":347
+ /* "adios.pyx":400
* char * value,
* char * var):
* return adios_define_attribute (group, # <<<<<<<<<<<<<<
* name,
* path,
*/
- __pyx_r = adios_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_type), __pyx_v_value, __pyx_v_var);
+ __pyx_r = adios_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_atype), __pyx_v_value, __pyx_v_var);
goto __pyx_L0;
- /* "adios.pyx":341
+ /* "adios.pyx":394
* local_offsets)
*
* cpdef int define_attribute (int64_t group, # <<<<<<<<<<<<<<
@@ -4040,12 +5339,13 @@ static int __pyx_f_5adios_define_attribute(int64_t __pyx_v_group, char *__pyx_v_
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_29define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_29define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_33define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_32define_attribute[] = "define_attribute(int64_t group, char *name, char *path, int atype, char *value, char *var) -> int";
+static PyObject *__pyx_pw_5adios_33define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_group;
char *__pyx_v_name;
char *__pyx_v_path;
- int __pyx_v_type;
+ int __pyx_v_atype;
char *__pyx_v_value;
char *__pyx_v_var;
int __pyx_lineno = 0;
@@ -4055,7 +5355,7 @@ static PyObject *__pyx_pw_5adios_29define_attribute(PyObject *__pyx_self, PyObje
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_attribute (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_type,&__pyx_n_s_value,&__pyx_n_s_var,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_atype,&__pyx_n_s_value,&__pyx_n_s_var,0};
PyObject* values[6] = {0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -4078,31 +5378,31 @@ static PyObject *__pyx_pw_5adios_29define_attribute(PyObject *__pyx_self, PyObje
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
- if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_atype)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 4:
if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 5:
if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_attribute") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_attribute") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
goto __pyx_L5_argtuple_error;
@@ -4114,29 +5414,29 @@ static PyObject *__pyx_pw_5adios_29define_attribute(PyObject *__pyx_self, PyObje
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
}
- __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_type = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_value = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_var = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_var) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_atype = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_atype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_value = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_var = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_var) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.define_attribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_28define_attribute(__pyx_self, __pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_type, __pyx_v_value, __pyx_v_var);
+ __pyx_r = __pyx_pf_5adios_32define_attribute(__pyx_self, __pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_atype, __pyx_v_value, __pyx_v_var);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_28define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_value, char *__pyx_v_var) {
+static PyObject *__pyx_pf_5adios_32define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_value, char *__pyx_v_var) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -4145,7 +5445,7 @@ static PyObject *__pyx_pf_5adios_28define_attribute(CYTHON_UNUSED PyObject *__py
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("define_attribute", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_type, __pyx_v_value, __pyx_v_var, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_atype, __pyx_v_value, __pyx_v_var, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -4162,71 +5462,526 @@ static PyObject *__pyx_pf_5adios_28define_attribute(CYTHON_UNUSED PyObject *__py
return __pyx_r;
}
-/* "adios.pyx":354
+/* "adios.pyx":407
* var)
*
- * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
- * char * method,
- * char * parameters = "",
+ * cpdef int define_attribute_byvalue (int64_t group, # <<<<<<<<<<<<<<
+ * char * name,
+ * char * path,
*/
-static PyObject *__pyx_pw_5adios_31select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_5adios_select_method(int64_t __pyx_v_group, char *__pyx_v_method, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_select_method *__pyx_optional_args) {
- char *__pyx_v_parameters = ((char *)__pyx_k__4);
- char *__pyx_v_base_path = ((char *)__pyx_k__4);
+static PyObject *__pyx_pw_5adios_35define_attribute_byvalue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_define_attribute_byvalue(int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, PyObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyArrayObject *__pyx_v_val_ = 0;
+ PyObject *__pyx_v_atype = NULL;
+ char *__pyx_v_pt1;
+ char **__pyx_v_pt2;
int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("select_method", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_parameters = __pyx_optional_args->parameters;
- if (__pyx_optional_args->__pyx_n > 1) {
- __pyx_v_base_path = __pyx_optional_args->base_path;
- }
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ char *__pyx_t_7;
+ ADIOS_DATATYPES __pyx_t_8;
+ Py_ssize_t __pyx_t_9;
+ int __pyx_t_10;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define_attribute_byvalue", 0);
+
+ /* "adios.pyx":412
+ * val):
+ * cdef np.ndarray val_
+ * if isinstance(val, (np.ndarray)): # <<<<<<<<<<<<<<
+ * if val.flags.contiguous:
+ * val_ = val
+ */
+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":413
+ * cdef np.ndarray val_
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous: # <<<<<<<<<<<<<<
+ * val_ = val
+ * else:
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_flags); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":414
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous:
+ * val_ = val # <<<<<<<<<<<<<<
+ * else:
+ * val_ = np.array(val, copy=True)
+ */
+ if (!(likely(((__pyx_v_val) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_val, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_v_val;
+ __Pyx_INCREF(__pyx_t_4);
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_4);
+ __pyx_t_4 = 0;
+ goto __pyx_L4;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":416
+ * val_ = val
+ * else:
+ * val_ = np.array(val, copy=True) # <<<<<<<<<<<<<<
+ * else:
+ * val_ = np.array(val)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_copy, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_6);
+ __pyx_t_6 = 0;
}
+ __pyx_L4:;
+ goto __pyx_L3;
}
+ /*else*/ {
- /* "adios.pyx":358
- * char * parameters = "",
- * char * base_path = ""):
- * return adios_select_method (group, # <<<<<<<<<<<<<<
- * method,
- * parameters,
+ /* "adios.pyx":418
+ * val_ = np.array(val, copy=True)
+ * else:
+ * val_ = np.array(val) # <<<<<<<<<<<<<<
+ *
+ * atype = np2adiostype(val_.dtype)
*/
- __pyx_r = adios_select_method(__pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
- goto __pyx_L0;
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ }
+ }
+ if (!__pyx_t_5) {
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ } else {
+ __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL;
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_6);
+ __pyx_t_6 = 0;
+ }
+ __pyx_L3:;
- /* "adios.pyx":354
- * var)
+ /* "adios.pyx":420
+ * val_ = np.array(val)
*
- * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
- * char * method,
- * char * parameters = "",
+ * atype = np2adiostype(val_.dtype) # <<<<<<<<<<<<<<
+ *
+ * cdef char * pt1
*/
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_5adios_np2adiostype(((PyArray_Descr *)__pyx_t_6), 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_v_atype = __pyx_t_4;
+ __pyx_t_4 = 0;
- /* function exit code */
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":424
+ * cdef char * pt1
+ * cdef char ** pt2
+ * if (val_.dtype.char == 'S'): # <<<<<<<<<<<<<<
+ * if (val_.size == 1):
+ * pt1 = PyString_AsString(val)
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_char); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (__pyx_t_2) {
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_31select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_31select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- int64_t __pyx_v_group;
- char *__pyx_v_method;
- char *__pyx_v_parameters;
- char *__pyx_v_base_path;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("select_method (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_method,&__pyx_n_s_parameters,&__pyx_n_s_base_path,0};
- PyObject* values[4] = {0,0,0,0};
- if (unlikely(__pyx_kwds)) {
+ /* "adios.pyx":425
+ * cdef char ** pt2
+ * if (val_.dtype.char == 'S'):
+ * if (val_.size == 1): # <<<<<<<<<<<<<<
+ * pt1 = PyString_AsString(val)
+ * adios_define_attribute_byvalue (group,
+ */
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":426
+ * if (val_.dtype.char == 'S'):
+ * if (val_.size == 1):
+ * pt1 = PyString_AsString(val) # <<<<<<<<<<<<<<
+ * adios_define_attribute_byvalue (group,
+ * name,
+ */
+ __pyx_t_7 = PyString_AsString(__pyx_v_val); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_pt1 = __pyx_t_7;
+
+ /* "adios.pyx":430
+ * name,
+ * path,
+ * DATATYPE.string, # <<<<<<<<<<<<<<
+ * 1,
+ * <void *> pt1)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_string); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_8 = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_t_6)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+ /* "adios.pyx":427
+ * if (val_.size == 1):
+ * pt1 = PyString_AsString(val)
+ * adios_define_attribute_byvalue (group, # <<<<<<<<<<<<<<
+ * name,
+ * path,
+ */
+ adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_t_8, 1, ((void *)__pyx_v_pt1));
+ goto __pyx_L6;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":434
+ * <void *> pt1)
+ * else:
+ * pt2 = to_cstring_array(val) # <<<<<<<<<<<<<<
+ * adios_define_attribute_byvalue (group,
+ * name,
+ */
+ __pyx_v_pt2 = __pyx_f_5adios_to_cstring_array(__pyx_v_val);
+
+ /* "adios.pyx":438
+ * name,
+ * path,
+ * DATATYPE.string_array, # <<<<<<<<<<<<<<
+ * len(val),
+ * <void *> pt2)
+ */
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_string_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_8 = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_t_4)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "adios.pyx":439
+ * path,
+ * DATATYPE.string_array,
+ * len(val), # <<<<<<<<<<<<<<
+ * <void *> pt2)
+ * free(pt2)
+ */
+ __pyx_t_9 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":435
+ * else:
+ * pt2 = to_cstring_array(val)
+ * adios_define_attribute_byvalue (group, # <<<<<<<<<<<<<<
+ * name,
+ * path,
+ */
+ adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_t_8, __pyx_t_9, ((void *)__pyx_v_pt2));
+
+ /* "adios.pyx":441
+ * len(val),
+ * <void *> pt2)
+ * free(pt2) # <<<<<<<<<<<<<<
+ * else:
+ * adios_define_attribute_byvalue (group,
+ */
+ free(__pyx_v_pt2);
+ }
+ __pyx_L6:;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":446
+ * name,
+ * path,
+ * <ADIOS_DATATYPES> atype, # <<<<<<<<<<<<<<
+ * val_.size,
+ * <void *> val_.data)
+ */
+ __pyx_t_8 = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_v_atype)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":447
+ * path,
+ * <ADIOS_DATATYPES> atype,
+ * val_.size, # <<<<<<<<<<<<<<
+ * <void *> val_.data)
+ *
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "adios.pyx":443
+ * free(pt2)
+ * else:
+ * adios_define_attribute_byvalue (group, # <<<<<<<<<<<<<<
+ * name,
+ * path,
+ */
+ adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_t_8), __pyx_t_10, ((void *)__pyx_v_val_->data));
+ }
+ __pyx_L5:;
+
+ /* "adios.pyx":407
+ * var)
+ *
+ * cpdef int define_attribute_byvalue (int64_t group, # <<<<<<<<<<<<<<
+ * char * name,
+ * char * path,
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_WriteUnraisable("adios.define_attribute_byvalue", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_val_);
+ __Pyx_XDECREF(__pyx_v_atype);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_35define_attribute_byvalue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_34define_attribute_byvalue[] = "define_attribute_byvalue(int64_t group, char *name, char *path, val) -> int";
+static PyObject *__pyx_pw_5adios_35define_attribute_byvalue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int64_t __pyx_v_group;
+ char *__pyx_v_name;
+ char *__pyx_v_path;
+ PyObject *__pyx_v_val = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define_attribute_byvalue (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_val,0};
+ PyObject* values[4] = {0,0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 2:
+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 3:
+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_attribute_byvalue") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ }
+ __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = values[3];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.define_attribute_byvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_34define_attribute_byvalue(__pyx_self, __pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_val);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_34define_attribute_byvalue(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, PyObject *__pyx_v_val) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define_attribute_byvalue", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_5adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.define_attribute_byvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":450
+ * <void *> val_.data)
+ *
+ * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
+ * char * method,
+ * char * parameters = "",
+ */
+
+static PyObject *__pyx_pw_5adios_37select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_select_method(int64_t __pyx_v_group, char *__pyx_v_method, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_select_method *__pyx_optional_args) {
+ char *__pyx_v_parameters = ((char *)__pyx_k__7);
+ char *__pyx_v_base_path = ((char *)__pyx_k__7);
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("select_method", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_parameters = __pyx_optional_args->parameters;
+ if (__pyx_optional_args->__pyx_n > 1) {
+ __pyx_v_base_path = __pyx_optional_args->base_path;
+ }
+ }
+ }
+
+ /* "adios.pyx":454
+ * char * parameters = "",
+ * char * base_path = ""):
+ * return adios_select_method (group, # <<<<<<<<<<<<<<
+ * method,
+ * parameters,
+ */
+ __pyx_r = adios_select_method(__pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
+ goto __pyx_L0;
+
+ /* "adios.pyx":450
+ * <void *> val_.data)
+ *
+ * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
+ * char * method,
+ * char * parameters = "",
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_37select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_36select_method[] = "select_method(int64_t group, char *method, char *parameters='', char *base_path='') -> int";
+static PyObject *__pyx_pw_5adios_37select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int64_t __pyx_v_group;
+ char *__pyx_v_method;
+ char *__pyx_v_parameters;
+ char *__pyx_v_base_path;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("select_method (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_method,&__pyx_n_s_parameters,&__pyx_n_s_base_path,0};
+ PyObject* values[4] = {0,0,0,0};
+ if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
@@ -4245,7 +6000,7 @@ static PyObject *__pyx_pw_5adios_31select_method(PyObject *__pyx_self, PyObject
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (kw_args > 0) {
@@ -4259,7 +6014,7 @@ static PyObject *__pyx_pw_5adios_31select_method(PyObject *__pyx_self, PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_method") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_method") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -4271,35 +6026,35 @@ static PyObject *__pyx_pw_5adios_31select_method(PyObject *__pyx_self, PyObject
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_method = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_method = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[2]) {
- __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_parameters = ((char *)__pyx_k__4);
+ __pyx_v_parameters = ((char *)__pyx_k__7);
}
if (values[3]) {
- __pyx_v_base_path = __Pyx_PyObject_AsString(values[3]); if (unlikely((!__pyx_v_base_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_base_path = __Pyx_PyObject_AsString(values[3]); if (unlikely((!__pyx_v_base_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_base_path = ((char *)__pyx_k__4);
+ __pyx_v_base_path = ((char *)__pyx_k__7);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.select_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_30select_method(__pyx_self, __pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
+ __pyx_r = __pyx_pf_5adios_36select_method(__pyx_self, __pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_30select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path) {
+static PyObject *__pyx_pf_5adios_36select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -4314,7 +6069,7 @@ static PyObject *__pyx_pf_5adios_30select_method(CYTHON_UNUSED PyObject *__pyx_s
__pyx_t_2.parameters = __pyx_v_parameters;
__pyx_t_2.base_path = __pyx_v_base_path;
__pyx_t_1 = __pyx_f_5adios_select_method(__pyx_v_group, __pyx_v_method, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -4331,396 +6086,538 @@ static PyObject *__pyx_pf_5adios_30select_method(CYTHON_UNUSED PyObject *__pyx_s
return __pyx_r;
}
-/* "adios.pyx":368
+/* "adios.pyx":464
* ## ====================
*
- * cdef type adios2nptype(ADIOS_DATATYPES t): # <<<<<<<<<<<<<<
- * cdef type ntype = None
- * if t == adios_byte:
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1): # <<<<<<<<<<<<<<
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
*/
-static PyObject *__pyx_f_5adios_adios2nptype(ADIOS_DATATYPES __pyx_v_t) {
- PyObject *__pyx_v_ntype = 0;
- PyObject *__pyx_r = NULL;
+static PyObject *__pyx_pw_5adios_39adios2npdtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyArray_Descr *__pyx_f_5adios_adios2npdtype(ADIOS_DATATYPES __pyx_v_t, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_adios2npdtype *__pyx_optional_args) {
+ int __pyx_v_strlen = ((int)1);
+ PyArray_Descr *__pyx_v_ntype = 0;
+ PyArray_Descr *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("adios2nptype", 0);
+ __Pyx_RefNannySetupContext("adios2npdtype", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_strlen = __pyx_optional_args->strlen;
+ }
+ }
- /* "adios.pyx":369
- *
- * cdef type adios2nptype(ADIOS_DATATYPES t):
- * cdef type ntype = None # <<<<<<<<<<<<<<
+ /* "adios.pyx":466
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1):
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None # <<<<<<<<<<<<<<
* if t == adios_byte:
- * ntype = np.int8
+ * ntype = np.dtype(np.int8)
*/
__Pyx_INCREF(Py_None);
- __pyx_v_ntype = ((PyObject*)Py_None);
+ __pyx_v_ntype = ((PyArray_Descr *)Py_None);
- /* "adios.pyx":394
- * elif t == adios_complex:
- * ntype = np.complex64
- * elif t == adios_double_complex: # <<<<<<<<<<<<<<
- * ntype = np.complex128
+ /* "adios.pyx":493
+ * elif t == adios_double_complex:
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string: # <<<<<<<<<<<<<<
+ * ntype = np.dtype((np.str_, strlen))
* else:
*/
switch (__pyx_v_t) {
- /* "adios.pyx":370
- * cdef type adios2nptype(ADIOS_DATATYPES t):
- * cdef type ntype = None
+ /* "adios.pyx":467
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
* if t == adios_byte: # <<<<<<<<<<<<<<
- * ntype = np.int8
+ * ntype = np.dtype(np.int8)
* elif t == adios_short:
*/
case adios_byte:
- /* "adios.pyx":371
- * cdef type ntype = None
+ /* "adios.pyx":468
+ * cdef np.dtype ntype = None
* if t == adios_byte:
- * ntype = np.int8 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int8) # <<<<<<<<<<<<<<
* elif t == adios_short:
- * ntype = np.int16
+ * ntype = np.dtype(np.int16)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios.pyx":372
+ /* "adios.pyx":469
* if t == adios_byte:
- * ntype = np.int8
+ * ntype = np.dtype(np.int8)
* elif t == adios_short: # <<<<<<<<<<<<<<
- * ntype = np.int16
+ * ntype = np.dtype(np.int16)
* elif t == adios_integer:
*/
case adios_short:
- /* "adios.pyx":373
- * ntype = np.int8
+ /* "adios.pyx":470
+ * ntype = np.dtype(np.int8)
* elif t == adios_short:
- * ntype = np.int16 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int16) # <<<<<<<<<<<<<<
* elif t == adios_integer:
- * ntype = np.int32
+ * ntype = np.dtype(np.int32)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios.pyx":374
+ /* "adios.pyx":471
* elif t == adios_short:
- * ntype = np.int16
+ * ntype = np.dtype(np.int16)
* elif t == adios_integer: # <<<<<<<<<<<<<<
- * ntype = np.int32
+ * ntype = np.dtype(np.int32)
* elif t == adios_long:
*/
case adios_integer:
- /* "adios.pyx":375
- * ntype = np.int16
+ /* "adios.pyx":472
+ * ntype = np.dtype(np.int16)
* elif t == adios_integer:
- * ntype = np.int32 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int32) # <<<<<<<<<<<<<<
* elif t == adios_long:
- * ntype = np.int64
+ * ntype = np.dtype(np.int64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios.pyx":376
+ /* "adios.pyx":473
* elif t == adios_integer:
- * ntype = np.int32
+ * ntype = np.dtype(np.int32)
* elif t == adios_long: # <<<<<<<<<<<<<<
- * ntype = np.int64
+ * ntype = np.dtype(np.int64)
* elif t == adios_unsigned_byte:
*/
case adios_long:
- /* "adios.pyx":377
- * ntype = np.int32
+ /* "adios.pyx":474
+ * ntype = np.dtype(np.int32)
* elif t == adios_long:
- * ntype = np.int64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int64) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_byte:
- * ntype = np.uint8
+ * ntype = np.dtype(np.uint8)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios.pyx":378
+ /* "adios.pyx":475
* elif t == adios_long:
- * ntype = np.int64
+ * ntype = np.dtype(np.int64)
* elif t == adios_unsigned_byte: # <<<<<<<<<<<<<<
- * ntype = np.uint8
+ * ntype = np.dtype(np.uint8)
* elif t == adios_unsigned_short:
*/
case adios_unsigned_byte:
- /* "adios.pyx":379
- * ntype = np.int64
+ /* "adios.pyx":476
+ * ntype = np.dtype(np.int64)
* elif t == adios_unsigned_byte:
- * ntype = np.uint8 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint8) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_short:
- * ntype = np.uint16
+ * ntype = np.dtype(np.uint16)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios.pyx":380
+ /* "adios.pyx":477
* elif t == adios_unsigned_byte:
- * ntype = np.uint8
+ * ntype = np.dtype(np.uint8)
* elif t == adios_unsigned_short: # <<<<<<<<<<<<<<
- * ntype = np.uint16
+ * ntype = np.dtype(np.uint16)
* elif t == adios_unsigned_integer:
*/
case adios_unsigned_short:
- /* "adios.pyx":381
- * ntype = np.uint8
+ /* "adios.pyx":478
+ * ntype = np.dtype(np.uint8)
* elif t == adios_unsigned_short:
- * ntype = np.uint16 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint16) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_integer:
- * ntype = np.uint32
+ * ntype = np.dtype(np.uint32)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios.pyx":382
+ /* "adios.pyx":479
* elif t == adios_unsigned_short:
- * ntype = np.uint16
+ * ntype = np.dtype(np.uint16)
* elif t == adios_unsigned_integer: # <<<<<<<<<<<<<<
- * ntype = np.uint32
+ * ntype = np.dtype(np.uint32)
* elif t == adios_unsigned_long:
*/
case adios_unsigned_integer:
- /* "adios.pyx":383
- * ntype = np.uint16
+ /* "adios.pyx":480
+ * ntype = np.dtype(np.uint16)
* elif t == adios_unsigned_integer:
- * ntype = np.uint32 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint32) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_long:
- * ntype = np.uint64
+ * ntype = np.dtype(np.uint64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios.pyx":384
+ /* "adios.pyx":481
* elif t == adios_unsigned_integer:
- * ntype = np.uint32
+ * ntype = np.dtype(np.uint32)
* elif t == adios_unsigned_long: # <<<<<<<<<<<<<<
- * ntype = np.uint64
+ * ntype = np.dtype(np.uint64)
* elif t == adios_real:
*/
case adios_unsigned_long:
- /* "adios.pyx":385
- * ntype = np.uint32
+ /* "adios.pyx":482
+ * ntype = np.dtype(np.uint32)
* elif t == adios_unsigned_long:
- * ntype = np.uint64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint64) # <<<<<<<<<<<<<<
* elif t == adios_real:
- * ntype = np.float32
+ * ntype = np.dtype(np.float32)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios.pyx":386
+ /* "adios.pyx":483
* elif t == adios_unsigned_long:
- * ntype = np.uint64
+ * ntype = np.dtype(np.uint64)
* elif t == adios_real: # <<<<<<<<<<<<<<
- * ntype = np.float32
+ * ntype = np.dtype(np.float32)
* elif t == adios_double:
*/
case adios_real:
- /* "adios.pyx":387
- * ntype = np.uint64
+ /* "adios.pyx":484
+ * ntype = np.dtype(np.uint64)
* elif t == adios_real:
- * ntype = np.float32 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.float32) # <<<<<<<<<<<<<<
* elif t == adios_double:
- * ntype = np.float64
+ * ntype = np.dtype(np.float64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios.pyx":388
+ /* "adios.pyx":485
* elif t == adios_real:
- * ntype = np.float32
+ * ntype = np.dtype(np.float32)
* elif t == adios_double: # <<<<<<<<<<<<<<
- * ntype = np.float64
+ * ntype = np.dtype(np.float64)
* elif t == adios_long_double:
*/
case adios_double:
- /* "adios.pyx":389
- * ntype = np.float32
+ /* "adios.pyx":486
+ * ntype = np.dtype(np.float32)
* elif t == adios_double:
- * ntype = np.float64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.float64) # <<<<<<<<<<<<<<
* elif t == adios_long_double:
- * ntype = np.float128
+ * ntype = np.dtype(np.float128)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios.pyx":390
+ /* "adios.pyx":487
* elif t == adios_double:
- * ntype = np.float64
+ * ntype = np.dtype(np.float64)
* elif t == adios_long_double: # <<<<<<<<<<<<<<
- * ntype = np.float128
+ * ntype = np.dtype(np.float128)
* elif t == adios_complex:
*/
case adios_long_double:
- /* "adios.pyx":391
- * ntype = np.float64
+ /* "adios.pyx":488
+ * ntype = np.dtype(np.float64)
* elif t == adios_long_double:
- * ntype = np.float128 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.float128) # <<<<<<<<<<<<<<
* elif t == adios_complex:
- * ntype = np.complex64
+ * ntype = np.dtype(np.complex64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios.pyx":392
+ /* "adios.pyx":489
* elif t == adios_long_double:
- * ntype = np.float128
+ * ntype = np.dtype(np.float128)
* elif t == adios_complex: # <<<<<<<<<<<<<<
- * ntype = np.complex64
+ * ntype = np.dtype(np.complex64)
* elif t == adios_double_complex:
*/
case adios_complex:
- /* "adios.pyx":393
- * ntype = np.float128
+ /* "adios.pyx":490
+ * ntype = np.dtype(np.float128)
* elif t == adios_complex:
- * ntype = np.complex64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.complex64) # <<<<<<<<<<<<<<
* elif t == adios_double_complex:
- * ntype = np.complex128
+ * ntype = np.dtype(np.complex128)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios.pyx":394
+ /* "adios.pyx":491
* elif t == adios_complex:
- * ntype = np.complex64
+ * ntype = np.dtype(np.complex64)
* elif t == adios_double_complex: # <<<<<<<<<<<<<<
- * ntype = np.complex128
- * else:
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string:
*/
case adios_double_complex:
- /* "adios.pyx":395
- * ntype = np.complex64
+ /* "adios.pyx":492
+ * ntype = np.dtype(np.complex64)
+ * elif t == adios_double_complex:
+ * ntype = np.dtype(np.complex128) # <<<<<<<<<<<<<<
+ * elif t == adios_string:
+ * ntype = np.dtype((np.str_, strlen))
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
+ __pyx_t_2 = 0;
+ break;
+
+ /* "adios.pyx":493
* elif t == adios_double_complex:
- * ntype = np.complex128 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string: # <<<<<<<<<<<<<<
+ * ntype = np.dtype((np.str_, strlen))
+ * else:
+ */
+ case adios_string:
+
+ /* "adios.pyx":494
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string:
+ * ntype = np.dtype((np.str_, strlen)) # <<<<<<<<<<<<<<
* else:
* ntype = None
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_str); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_strlen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_1 = 0;
__pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_3));
+ __pyx_t_3 = 0;
break;
default:
- /* "adios.pyx":397
- * ntype = np.complex128
+ /* "adios.pyx":496
+ * ntype = np.dtype((np.str_, strlen))
* else:
* ntype = None # <<<<<<<<<<<<<<
*
* return ntype
*/
__Pyx_INCREF(Py_None);
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)Py_None));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)Py_None));
break;
}
- /* "adios.pyx":399
+ /* "adios.pyx":498
* ntype = None
*
* return ntype # <<<<<<<<<<<<<<
@@ -4732,28 +6629,126 @@ static PyObject *__pyx_f_5adios_adios2nptype(ADIOS_DATATYPES __pyx_v_t) {
__pyx_r = __pyx_v_ntype;
goto __pyx_L0;
- /* "adios.pyx":368
+ /* "adios.pyx":464
* ## ====================
*
- * cdef type adios2nptype(ADIOS_DATATYPES t): # <<<<<<<<<<<<<<
- * cdef type ntype = None
- * if t == adios_byte:
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1): # <<<<<<<<<<<<<<
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
- __Pyx_AddTraceback("adios.adios2nptype", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.adios2npdtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
- __Pyx_XDECREF(__pyx_v_ntype);
+ __Pyx_XDECREF((PyObject *)__pyx_v_ntype);
+ __Pyx_XGIVEREF((PyObject *)__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_39adios2npdtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_38adios2npdtype[] = "adios2npdtype(ADIOS_DATATYPES t, int strlen=1) -> dtype\n strlen apply only to string type ";
+static PyObject *__pyx_pw_5adios_39adios2npdtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ ADIOS_DATATYPES __pyx_v_t;
+ int __pyx_v_strlen;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("adios2npdtype (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_t,&__pyx_n_s_strlen,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_strlen);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "adios2npdtype") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_t = ((ADIOS_DATATYPES)PyInt_AsLong(values[0])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_strlen = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_strlen == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_strlen = ((int)1);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("adios2npdtype", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.adios2npdtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_38adios2npdtype(__pyx_self, __pyx_v_t, __pyx_v_strlen);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_38adios2npdtype(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_t, int __pyx_v_strlen) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ struct __pyx_opt_args_5adios_adios2npdtype __pyx_t_2;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("adios2npdtype", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2.__pyx_n = 1;
+ __pyx_t_2.strlen = __pyx_v_strlen;
+ __pyx_t_1 = ((PyObject *)__pyx_f_5adios_adios2npdtype(__pyx_v_t, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.adios2npdtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":401
+/* "adios.pyx":500
* return ntype
*
* cdef printfile(ADIOS_FILE * f): # <<<<<<<<<<<<<<
@@ -4774,16 +6769,16 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("printfile", 0);
- /* "adios.pyx":402
+ /* "adios.pyx":501
*
* cdef printfile(ADIOS_FILE * f):
* print '%15s : %lu' % ('fh', f.fh) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('nvars', f.nvars)
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
*/
- __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->fh); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->fh); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_fh);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fh);
@@ -4791,22 +6786,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":403
+ /* "adios.pyx":502
* cdef printfile(ADIOS_FILE * f):
* print '%15s : %lu' % ('fh', f.fh)
* print '%15s : %d' % ('nvars', f.nvars) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
* print '%15s : %d' % ('nattrs', f.nattrs)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_nvars);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_nvars);
@@ -4814,30 +6809,30 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":404
+ /* "adios.pyx":503
* print '%15s : %lu' % ('fh', f.fh)
* print '%15s : %d' % ('nvars', f.nvars)
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)]) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('nattrs', f.nattrs)
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_v_f->nvars;
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_i = __pyx_t_4;
- __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_var_namelist);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_var_namelist);
@@ -4845,22 +6840,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":405
+ /* "adios.pyx":504
* print '%15s : %d' % ('nvars', f.nvars)
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
* print '%15s : %d' % ('nattrs', f.nattrs) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
* print '%15s : %d' % ('current_step', f.current_step)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_nattrs);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_nattrs);
@@ -4868,30 +6863,30 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":406
+ /* "adios.pyx":505
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
* print '%15s : %d' % ('nattrs', f.nattrs)
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)]) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('current_step', f.current_step)
* print '%15s : %d' % ('last_step', f.last_step)
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_v_f->nattrs;
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_i = __pyx_t_4;
- __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->attr_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->attr_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_attr_namelist);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_attr_namelist);
@@ -4899,22 +6894,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":407
+ /* "adios.pyx":506
* print '%15s : %d' % ('nattrs', f.nattrs)
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
* print '%15s : %d' % ('current_step', f.current_step) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('last_step', f.last_step)
* print '%15s : %s' % ('path', f.path)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_current_step);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_current_step);
@@ -4922,22 +6917,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":408
+ /* "adios.pyx":507
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
* print '%15s : %d' % ('current_step', f.current_step)
* print '%15s : %d' % ('last_step', f.last_step) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('path', f.path)
* print '%15s : %d' % ('endianness', f.endianness)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_last_step);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_last_step);
@@ -4945,22 +6940,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":409
+ /* "adios.pyx":508
* print '%15s : %d' % ('current_step', f.current_step)
* print '%15s : %d' % ('last_step', f.last_step)
* print '%15s : %s' % ('path', f.path) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('endianness', f.endianness)
* print '%15s : %d' % ('version', f.version)
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_f->path); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_f->path); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_path);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_path);
@@ -4968,22 +6963,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":410
+ /* "adios.pyx":509
* print '%15s : %d' % ('last_step', f.last_step)
* print '%15s : %s' % ('path', f.path)
* print '%15s : %d' % ('endianness', f.endianness) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('version', f.version)
* print '%15s : %lu' % ('file_size', f.file_size)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_endianness);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_endianness);
@@ -4991,22 +6986,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":411
+ /* "adios.pyx":510
* print '%15s : %s' % ('path', f.path)
* print '%15s : %d' % ('endianness', f.endianness)
* print '%15s : %d' % ('version', f.version) # <<<<<<<<<<<<<<
* print '%15s : %lu' % ('file_size', f.file_size)
*
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_version);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_version);
@@ -5014,22 +7009,22 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":412
+ /* "adios.pyx":511
* print '%15s : %d' % ('endianness', f.endianness)
* print '%15s : %d' % ('version', f.version)
* print '%15s : %lu' % ('file_size', f.file_size) # <<<<<<<<<<<<<<
*
* cdef printvar(ADIOS_VARINFO * v):
*/
- __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_file_size);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_file_size);
@@ -5037,13 +7032,13 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":401
+ /* "adios.pyx":500
* return ntype
*
* cdef printfile(ADIOS_FILE * f): # <<<<<<<<<<<<<<
@@ -5065,12 +7060,12 @@ static PyObject *__pyx_f_5adios_printfile(ADIOS_FILE *__pyx_v_f) {
return __pyx_r;
}
-/* "adios.pyx":414
+/* "adios.pyx":513
* print '%15s : %lu' % ('file_size', f.file_size)
*
* cdef printvar(ADIOS_VARINFO * v): # <<<<<<<<<<<<<<
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
*/
static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
@@ -5086,16 +7081,16 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("printvar", 0);
- /* "adios.pyx":415
+ /* "adios.pyx":514
*
* cdef printvar(ADIOS_VARINFO * v):
* print '%15s : %d' % ('varid', v.varid) # <<<<<<<<<<<<<<
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
* print '%15s : %d' % ('ndim', v.ndim)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_varid);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_varid);
@@ -5103,22 +7098,22 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":416
+ /* "adios.pyx":515
* cdef printvar(ADIOS_VARINFO * v):
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type)) # <<<<<<<<<<<<<<
+ * print '%15s : %s' % ('type', adios2npdtype(v.type)) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('ndim', v.ndim)
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
*/
- __pyx_t_1 = ((PyObject *)__pyx_f_5adios_adios2nptype(__pyx_v_v->type)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_5adios_adios2npdtype(__pyx_v_v->type, 0, NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_type);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_type);
@@ -5126,22 +7121,22 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":417
+ /* "adios.pyx":516
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
* print '%15s : %d' % ('ndim', v.ndim) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
* print '%15s : %d' % ('nsteps', v.nsteps)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_ndim);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ndim);
@@ -5149,30 +7144,30 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":418
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ /* "adios.pyx":517
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
* print '%15s : %d' % ('ndim', v.ndim)
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)]) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('nsteps', v.nsteps)
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_v_v->ndim;
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_i = __pyx_t_4;
- __pyx_t_2 = __Pyx_PyInt_From_uint64_t((__pyx_v_v->dims[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyInt_From_uint64_t((__pyx_v_v->dims[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_dims);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_dims);
@@ -5180,22 +7175,22 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":419
+ /* "adios.pyx":518
* print '%15s : %d' % ('ndim', v.ndim)
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
* print '%15s : %d' % ('nsteps', v.nsteps) # <<<<<<<<<<<<<<
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_nsteps);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_nsteps);
@@ -5203,18 +7198,18 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":414
+ /* "adios.pyx":513
* print '%15s : %lu' % ('file_size', f.file_size)
*
* cdef printvar(ADIOS_VARINFO * v): # <<<<<<<<<<<<<<
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
*/
/* function exit code */
@@ -5231,167 +7226,205 @@ static PyObject *__pyx_f_5adios_printvar(ADIOS_VARINFO *__pyx_v_v) {
return __pyx_r;
}
-/* "adios.pyx":421
+/* "adios.pyx":520
* print '%15s : %d' % ('nsteps', v.nsteps)
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name): # <<<<<<<<<<<<<<
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
*/
static ADIOS_READ_METHOD __pyx_f_5adios_str2adiosreadmethod(PyObject *__pyx_v_name) {
- ADIOS_READ_METHOD __pyx_v_method;
+ PyObject *__pyx_v_method = NULL;
ADIOS_READ_METHOD __pyx_r;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ ADIOS_READ_METHOD __pyx_t_5;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("str2adiosreadmethod", 0);
- /* "adios.pyx":422
+ /* "adios.pyx":521
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
* if (name == "BP"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
* elif (name == "BP_AGGREGATE"):
*/
- __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "adios.pyx":423
+ /* "adios.pyx":522
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP # <<<<<<<<<<<<<<
+ * method = READ_METHOD.BP # <<<<<<<<<<<<<<
* elif (name == "BP_AGGREGATE"):
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ * method = READ_METHOD.BP_AGGREGATE
*/
- __pyx_v_method = ADIOS_READ_METHOD_BP;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L3;
}
- /* "adios.pyx":424
+ /* "adios.pyx":523
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
* elif (name == "BP_AGGREGATE"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ * method = READ_METHOD.BP_AGGREGATE
* elif (name == "DATASPACES"):
*/
- __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP_AGGREGATE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP_AGGREGATE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "adios.pyx":425
- * method = ADIOS_READ_METHOD_BP
+ /* "adios.pyx":524
+ * method = READ_METHOD.BP
* elif (name == "BP_AGGREGATE"):
- * method = ADIOS_READ_METHOD_BP_AGGREGATE # <<<<<<<<<<<<<<
+ * method = READ_METHOD.BP_AGGREGATE # <<<<<<<<<<<<<<
* elif (name == "DATASPACES"):
- * method = ADIOS_READ_METHOD_DATASPACES
+ * method = READ_METHOD.DATASPACES
*/
- __pyx_v_method = ADIOS_READ_METHOD_BP_AGGREGATE;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BP_AGGREGATE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3;
}
- /* "adios.pyx":426
+ /* "adios.pyx":525
* elif (name == "BP_AGGREGATE"):
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ * method = READ_METHOD.BP_AGGREGATE
* elif (name == "DATASPACES"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_DATASPACES
+ * method = READ_METHOD.DATASPACES
* elif (name == "DIMES"):
*/
- __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DATASPACES, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DATASPACES, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "adios.pyx":427
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ /* "adios.pyx":526
+ * method = READ_METHOD.BP_AGGREGATE
* elif (name == "DATASPACES"):
- * method = ADIOS_READ_METHOD_DATASPACES # <<<<<<<<<<<<<<
+ * method = READ_METHOD.DATASPACES # <<<<<<<<<<<<<<
* elif (name == "DIMES"):
- * method = ADIOS_READ_METHOD_DIMES
+ * method = READ_METHOD.DIMES
*/
- __pyx_v_method = ADIOS_READ_METHOD_DATASPACES;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_DATASPACES); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L3;
}
- /* "adios.pyx":428
+ /* "adios.pyx":527
* elif (name == "DATASPACES"):
- * method = ADIOS_READ_METHOD_DATASPACES
+ * method = READ_METHOD.DATASPACES
* elif (name == "DIMES"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_DIMES
+ * method = READ_METHOD.DIMES
* elif (name == "FLEXPATH"):
*/
- __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DIMES, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DIMES, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "adios.pyx":429
- * method = ADIOS_READ_METHOD_DATASPACES
+ /* "adios.pyx":528
+ * method = READ_METHOD.DATASPACES
* elif (name == "DIMES"):
- * method = ADIOS_READ_METHOD_DIMES # <<<<<<<<<<<<<<
+ * method = READ_METHOD.DIMES # <<<<<<<<<<<<<<
* elif (name == "FLEXPATH"):
- * method = ADIOS_READ_METHOD_FLEXPATH
+ * method = READ_METHOD.FLEXPATH
*/
- __pyx_v_method = ADIOS_READ_METHOD_DIMES;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_DIMES); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3;
}
- /* "adios.pyx":430
+ /* "adios.pyx":529
* elif (name == "DIMES"):
- * method = ADIOS_READ_METHOD_DIMES
+ * method = READ_METHOD.DIMES
* elif (name == "FLEXPATH"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_FLEXPATH
+ * method = READ_METHOD.FLEXPATH
* elif (name == "ICEE"):
*/
- __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_FLEXPATH, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_FLEXPATH, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "adios.pyx":431
- * method = ADIOS_READ_METHOD_DIMES
+ /* "adios.pyx":530
+ * method = READ_METHOD.DIMES
* elif (name == "FLEXPATH"):
- * method = ADIOS_READ_METHOD_FLEXPATH # <<<<<<<<<<<<<<
+ * method = READ_METHOD.FLEXPATH # <<<<<<<<<<<<<<
* elif (name == "ICEE"):
- * method = ADIOS_READ_METHOD_ICEE
+ * method = READ_METHOD.ICEE
*/
- __pyx_v_method = ADIOS_READ_METHOD_FLEXPATH;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_FLEXPATH); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L3;
}
- /* "adios.pyx":432
+ /* "adios.pyx":531
* elif (name == "FLEXPATH"):
- * method = ADIOS_READ_METHOD_FLEXPATH
+ * method = READ_METHOD.FLEXPATH
* elif (name == "ICEE"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_ICEE
+ * method = READ_METHOD.ICEE
* else:
*/
- __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_ICEE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_ICEE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "adios.pyx":433
- * method = ADIOS_READ_METHOD_FLEXPATH
+ /* "adios.pyx":532
+ * method = READ_METHOD.FLEXPATH
* elif (name == "ICEE"):
- * method = ADIOS_READ_METHOD_ICEE # <<<<<<<<<<<<<<
+ * method = READ_METHOD.ICEE # <<<<<<<<<<<<<<
* else:
* print '[WARN] Invalid read method name:', name, '. Use default BP method'
*/
- __pyx_v_method = ADIOS_READ_METHOD_ICEE;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ICEE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3;
}
/*else*/ {
- /* "adios.pyx":435
- * method = ADIOS_READ_METHOD_ICEE
+ /* "adios.pyx":534
+ * method = READ_METHOD.ICEE
* else:
* print '[WARN] Invalid read method name:', name, '. Use default BP method' # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
*
*/
- __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_kp_s_WARN_Invalid_read_method_name);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_s_WARN_Invalid_read_method_name);
@@ -5402,57 +7435,66 @@ static ADIOS_READ_METHOD __pyx_f_5adios_str2adiosreadmethod(PyObject *__pyx_v_na
__Pyx_INCREF(__pyx_kp_s_Use_default_BP_method);
PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_s_Use_default_BP_method);
__Pyx_GIVEREF(__pyx_kp_s_Use_default_BP_method);
- if (__Pyx_Print(0, __pyx_t_3, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_Print(0, __pyx_t_3, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "adios.pyx":436
+ /* "adios.pyx":535
* else:
* print '[WARN] Invalid read method name:', name, '. Use default BP method'
- * method = ADIOS_READ_METHOD_BP # <<<<<<<<<<<<<<
+ * method = READ_METHOD.BP # <<<<<<<<<<<<<<
*
* return method
*/
- __pyx_v_method = ADIOS_READ_METHOD_BP;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
}
__pyx_L3:;
- /* "adios.pyx":438
- * method = ADIOS_READ_METHOD_BP
+ /* "adios.pyx":537
+ * method = READ_METHOD.BP
*
* return method # <<<<<<<<<<<<<<
*
- * cpdef np2adiostype(type nptype):
+ * cpdef np2adiostype(np.dtype nptype):
*/
- __pyx_r = __pyx_v_method;
+ __pyx_t_5 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_t_5;
goto __pyx_L0;
- /* "adios.pyx":421
+ /* "adios.pyx":520
* print '%15s : %d' % ('nsteps', v.nsteps)
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name): # <<<<<<<<<<<<<<
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_WriteUnraisable("adios.str2adiosreadmethod", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_method);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":440
+/* "adios.pyx":539
* return method
*
- * cpdef np2adiostype(type nptype): # <<<<<<<<<<<<<<
- * """ Ignored: int_, intc, intp """
- *
+ * cpdef np2adiostype(np.dtype nptype): # <<<<<<<<<<<<<<
+ * """ Convert Numpy.dtype to Adios Datatype
+ * """
*/
-static PyObject *__pyx_pw_5adios_33np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
-static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UNUSED int __pyx_skip_dispatch) {
+static PyObject *__pyx_pw_5adios_41np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
+static PyObject *__pyx_f_5adios_np2adiostype(PyArray_Descr *__pyx_v_nptype, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_atype = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -5464,49 +7506,49 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("np2adiostype", 0);
- /* "adios.pyx":443
- * """ Ignored: int_, intc, intp """
+ /* "adios.pyx":543
+ * """
*
* cdef atype = DATATYPE.unknown # <<<<<<<<<<<<<<
*
* if (nptype == np.bool_):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unknown); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unknown); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_atype = __pyx_t_2;
__pyx_t_2 = 0;
- /* "adios.pyx":445
+ /* "adios.pyx":545
* cdef atype = DATATYPE.unknown
*
* if (nptype == np.bool_): # <<<<<<<<<<<<<<
* atype = DATATYPE.integer
* elif (nptype == np.int8):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":446
+ /* "adios.pyx":546
*
* if (nptype == np.bool_):
* atype = DATATYPE.integer # <<<<<<<<<<<<<<
* elif (nptype == np.int8):
* atype = DATATYPE.byte
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_integer); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_integer); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5514,34 +7556,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":447
+ /* "adios.pyx":547
* if (nptype == np.bool_):
* atype = DATATYPE.integer
* elif (nptype == np.int8): # <<<<<<<<<<<<<<
* atype = DATATYPE.byte
* elif (nptype == np.int16):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":448
+ /* "adios.pyx":548
* atype = DATATYPE.integer
* elif (nptype == np.int8):
* atype = DATATYPE.byte # <<<<<<<<<<<<<<
* elif (nptype == np.int16):
* atype = DATATYPE.short
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5549,34 +7591,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":449
+ /* "adios.pyx":549
* elif (nptype == np.int8):
* atype = DATATYPE.byte
* elif (nptype == np.int16): # <<<<<<<<<<<<<<
* atype = DATATYPE.short
* elif (nptype == np.int32):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":450
+ /* "adios.pyx":550
* atype = DATATYPE.byte
* elif (nptype == np.int16):
* atype = DATATYPE.short # <<<<<<<<<<<<<<
* elif (nptype == np.int32):
* atype = DATATYPE.integer
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5584,34 +7626,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":451
+ /* "adios.pyx":551
* elif (nptype == np.int16):
* atype = DATATYPE.short
* elif (nptype == np.int32): # <<<<<<<<<<<<<<
* atype = DATATYPE.integer
* elif (nptype == np.int64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":452
+ /* "adios.pyx":552
* atype = DATATYPE.short
* elif (nptype == np.int32):
* atype = DATATYPE.integer # <<<<<<<<<<<<<<
* elif (nptype == np.int64):
* atype = DATATYPE.long
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5619,34 +7661,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":453
+ /* "adios.pyx":553
* elif (nptype == np.int32):
* atype = DATATYPE.integer
* elif (nptype == np.int64): # <<<<<<<<<<<<<<
* atype = DATATYPE.long
* elif (nptype == np.uint8):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":454
+ /* "adios.pyx":554
* atype = DATATYPE.integer
* elif (nptype == np.int64):
* atype = DATATYPE.long # <<<<<<<<<<<<<<
* elif (nptype == np.uint8):
* atype = DATATYPE.unsigned_byte
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5654,34 +7696,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":455
+ /* "adios.pyx":555
* elif (nptype == np.int64):
* atype = DATATYPE.long
* elif (nptype == np.uint8): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_byte
* elif (nptype == np.uint16):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":456
+ /* "adios.pyx":556
* atype = DATATYPE.long
* elif (nptype == np.uint8):
* atype = DATATYPE.unsigned_byte # <<<<<<<<<<<<<<
* elif (nptype == np.uint16):
* atype = DATATYPE.unsigned_short
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5689,34 +7731,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":457
+ /* "adios.pyx":557
* elif (nptype == np.uint8):
* atype = DATATYPE.unsigned_byte
* elif (nptype == np.uint16): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_short
* elif (nptype == np.uint32):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":458
+ /* "adios.pyx":558
* atype = DATATYPE.unsigned_byte
* elif (nptype == np.uint16):
* atype = DATATYPE.unsigned_short # <<<<<<<<<<<<<<
* elif (nptype == np.uint32):
* atype = DATATYPE.unsigned_integer
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5724,34 +7766,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":459
+ /* "adios.pyx":559
* elif (nptype == np.uint16):
* atype = DATATYPE.unsigned_short
* elif (nptype == np.uint32): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_integer
* elif (nptype == np.uint64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":460
+ /* "adios.pyx":560
* atype = DATATYPE.unsigned_short
* elif (nptype == np.uint32):
* atype = DATATYPE.unsigned_integer # <<<<<<<<<<<<<<
* elif (nptype == np.uint64):
* atype = DATATYPE.unsigned_long
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5759,34 +7801,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":461
+ /* "adios.pyx":561
* elif (nptype == np.uint32):
* atype = DATATYPE.unsigned_integer
* elif (nptype == np.uint64): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_long
* elif (nptype == np.float_):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":462
+ /* "adios.pyx":562
* atype = DATATYPE.unsigned_integer
* elif (nptype == np.uint64):
* atype = DATATYPE.unsigned_long # <<<<<<<<<<<<<<
* elif (nptype == np.float_):
* atype = DATATYPE.double
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5794,34 +7836,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":463
+ /* "adios.pyx":563
* elif (nptype == np.uint64):
* atype = DATATYPE.unsigned_long
* elif (nptype == np.float_): # <<<<<<<<<<<<<<
* atype = DATATYPE.double
* elif (nptype == np.float16):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":464
+ /* "adios.pyx":564
* atype = DATATYPE.unsigned_long
* elif (nptype == np.float_):
* atype = DATATYPE.double # <<<<<<<<<<<<<<
* elif (nptype == np.float16):
* atype = DATATYPE.real
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5829,34 +7871,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":465
+ /* "adios.pyx":565
* elif (nptype == np.float_):
* atype = DATATYPE.double
* elif (nptype == np.float16): # <<<<<<<<<<<<<<
* atype = DATATYPE.real
* elif (nptype == np.float32):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":466
+ /* "adios.pyx":566
* atype = DATATYPE.double
* elif (nptype == np.float16):
* atype = DATATYPE.real # <<<<<<<<<<<<<<
* elif (nptype == np.float32):
* atype = DATATYPE.real
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_real); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_real); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5864,34 +7906,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":467
+ /* "adios.pyx":567
* elif (nptype == np.float16):
* atype = DATATYPE.real
* elif (nptype == np.float32): # <<<<<<<<<<<<<<
* atype = DATATYPE.real
* elif (nptype == np.float64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":468
+ /* "adios.pyx":568
* atype = DATATYPE.real
* elif (nptype == np.float32):
* atype = DATATYPE.real # <<<<<<<<<<<<<<
* elif (nptype == np.float64):
* atype = DATATYPE.double
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_real); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_real); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5899,34 +7941,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":469
+ /* "adios.pyx":569
* elif (nptype == np.float32):
* atype = DATATYPE.real
* elif (nptype == np.float64): # <<<<<<<<<<<<<<
* atype = DATATYPE.double
* elif (nptype == np.complex_):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":470
+ /* "adios.pyx":570
* atype = DATATYPE.real
* elif (nptype == np.float64):
* atype = DATATYPE.double # <<<<<<<<<<<<<<
* elif (nptype == np.complex_):
* atype = DATATYPE.double_complex
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5934,34 +7976,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":471
+ /* "adios.pyx":571
* elif (nptype == np.float64):
* atype = DATATYPE.double
* elif (nptype == np.complex_): # <<<<<<<<<<<<<<
* atype = DATATYPE.double_complex
* elif (nptype == np.complex64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":472
+ /* "adios.pyx":572
* atype = DATATYPE.double
* elif (nptype == np.complex_):
* atype = DATATYPE.double_complex # <<<<<<<<<<<<<<
* elif (nptype == np.complex64):
* atype = DATATYPE.complex
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5969,34 +8011,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":473
+ /* "adios.pyx":573
* elif (nptype == np.complex_):
* atype = DATATYPE.double_complex
* elif (nptype == np.complex64): # <<<<<<<<<<<<<<
* atype = DATATYPE.complex
* elif (nptype == np.complex128):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":474
+ /* "adios.pyx":574
* atype = DATATYPE.double_complex
* elif (nptype == np.complex64):
* atype = DATATYPE.complex # <<<<<<<<<<<<<<
* elif (nptype == np.complex128):
* atype = DATATYPE.double_complex
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -6004,34 +8046,34 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":475
+ /* "adios.pyx":575
* elif (nptype == np.complex64):
* atype = DATATYPE.complex
* elif (nptype == np.complex128): # <<<<<<<<<<<<<<
* atype = DATATYPE.double_complex
- * elif (nptype == np.str_):
+ * elif (nptype.char == 'S'):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":476
+ /* "adios.pyx":576
* atype = DATATYPE.complex
* elif (nptype == np.complex128):
* atype = DATATYPE.double_complex # <<<<<<<<<<<<<<
- * elif (nptype == np.str_):
- * atype = DATATYPE.byte
+ * elif (nptype.char == 'S'):
+ * atype = DATATYPE.string
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6039,60 +8081,72 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
goto __pyx_L3;
}
- /* "adios.pyx":477
+ /* "adios.pyx":577
* elif (nptype == np.complex128):
* atype = DATATYPE.double_complex
- * elif (nptype == np.str_): # <<<<<<<<<<<<<<
- * atype = DATATYPE.byte
- *
+ * elif (nptype.char == 'S'): # <<<<<<<<<<<<<<
+ * atype = DATATYPE.string
+ * else:
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_nptype), __pyx_n_s_char); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_str); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios.pyx":478
+ /* "adios.pyx":578
* atype = DATATYPE.double_complex
- * elif (nptype == np.str_):
- * atype = DATATYPE.byte # <<<<<<<<<<<<<<
- *
- * return atype
+ * elif (nptype.char == 'S'):
+ * atype = DATATYPE.string # <<<<<<<<<<<<<<
+ * else:
+ * atype = DATATYPE.unknown
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_byte); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_string); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
__pyx_t_1 = 0;
goto __pyx_L3;
}
+ /*else*/ {
+
+ /* "adios.pyx":580
+ * atype = DATATYPE.string
+ * else:
+ * atype = DATATYPE.unknown # <<<<<<<<<<<<<<
+ *
+ * return atype
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unknown); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
+ __pyx_t_2 = 0;
+ }
__pyx_L3:;
- /* "adios.pyx":480
- * atype = DATATYPE.byte
+ /* "adios.pyx":582
+ * atype = DATATYPE.unknown
*
* return atype # <<<<<<<<<<<<<<
*
- * ## ====================
+ * cpdef str adiostype2string (ADIOS_DATATYPES type):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_atype);
__pyx_r = __pyx_v_atype;
goto __pyx_L0;
- /* "adios.pyx":440
+ /* "adios.pyx":539
* return method
*
- * cpdef np2adiostype(type nptype): # <<<<<<<<<<<<<<
- * """ Ignored: int_, intc, intp """
- *
+ * cpdef np2adiostype(np.dtype nptype): # <<<<<<<<<<<<<<
+ * """ Convert Numpy.dtype to Adios Datatype
+ * """
*/
/* function exit code */
@@ -6109,17 +8163,17 @@ static PyObject *__pyx_f_5adios_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UN
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_33np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
-static char __pyx_doc_5adios_32np2adiostype[] = " Ignored: int_, intc, intp ";
-static PyObject *__pyx_pw_5adios_33np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype) {
+static PyObject *__pyx_pw_5adios_41np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
+static char __pyx_doc_5adios_40np2adiostype[] = "np2adiostype(dtype nptype)\n Convert Numpy.dtype to Adios Datatype\n ";
+static PyObject *__pyx_pw_5adios_41np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype) {
CYTHON_UNUSED int __pyx_lineno = 0;
CYTHON_UNUSED const char *__pyx_filename = NULL;
CYTHON_UNUSED int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("np2adiostype (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nptype), (&PyType_Type), 1, "nptype", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_5adios_32np2adiostype(__pyx_self, ((PyObject*)__pyx_v_nptype));
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nptype), __pyx_ptype_5numpy_dtype, 1, "nptype", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_5adios_40np2adiostype(__pyx_self, ((PyArray_Descr *)__pyx_v_nptype));
/* function exit code */
goto __pyx_L0;
@@ -6130,7 +8184,7 @@ static PyObject *__pyx_pw_5adios_33np2adiostype(PyObject *__pyx_self, PyObject *
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_32np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nptype) {
+static PyObject *__pyx_pf_5adios_40np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyArray_Descr *__pyx_v_nptype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -6139,7 +8193,7 @@ static PyObject *__pyx_pf_5adios_32np2adiostype(CYTHON_UNUSED PyObject *__pyx_se
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("np2adiostype", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_5adios_np2adiostype(__pyx_v_nptype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_np2adiostype(__pyx_v_nptype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -6156,69 +8210,184 @@ static PyObject *__pyx_pf_5adios_32np2adiostype(CYTHON_UNUSED PyObject *__pyx_se
return __pyx_r;
}
-/* "adios.pyx":487
+/* "adios.pyx":584
+ * return atype
+ *
+ * cpdef str adiostype2string (ADIOS_DATATYPES type): # <<<<<<<<<<<<<<
+ * return str(adios_type_to_string(<ADIOS_DATATYPES> type))
*
- * """ Call adios_read_init_method """
- * cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
- * MPI_Comm comm = MPI_COMM_WORLD,
- * char * parameters = ""):
*/
-static PyObject *__pyx_pw_5adios_35read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_5adios_read_init(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_read_init *__pyx_optional_args) {
- char *__pyx_v_method_name = ((char *)__pyx_k_BP);
- MPI_Comm __pyx_v_comm = __pyx_k__5;
- char *__pyx_v_parameters = ((char *)__pyx_k__4);
- PyObject *__pyx_v_method = 0;
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_43adiostype2string(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
+static PyObject *__pyx_f_5adios_adiostype2string(ADIOS_DATATYPES __pyx_v_type, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
- ADIOS_READ_METHOD __pyx_t_3;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("read_init", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_method_name = __pyx_optional_args->method_name;
- if (__pyx_optional_args->__pyx_n > 1) {
- __pyx_v_comm = __pyx_optional_args->comm;
- if (__pyx_optional_args->__pyx_n > 2) {
- __pyx_v_parameters = __pyx_optional_args->parameters;
- }
- }
- }
- }
+ __Pyx_RefNannySetupContext("adiostype2string", 0);
- /* "adios.pyx":490
- * MPI_Comm comm = MPI_COMM_WORLD,
- * char * parameters = ""):
- * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
- * return adios_read_init_method (method, comm, parameters)
+ /* "adios.pyx":585
+ *
+ * cpdef str adiostype2string (ADIOS_DATATYPES type):
+ * return str(adios_type_to_string(<ADIOS_DATATYPES> type)) # <<<<<<<<<<<<<<
*
+ * ## ====================
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBytes_FromString(adios_type_to_string(((ADIOS_DATATYPES)__pyx_v_type))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyInt_FromLong(__pyx_f_5adios_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_method = __pyx_t_2;
- __pyx_t_2 = 0;
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":491
- * char * parameters = ""):
- * cdef method = str2adiosreadmethod(method_name)
- * return adios_read_init_method (method, comm, parameters) # <<<<<<<<<<<<<<
+ /* "adios.pyx":584
+ * return atype
*
+ * cpdef str adiostype2string (ADIOS_DATATYPES type): # <<<<<<<<<<<<<<
+ * return str(adios_type_to_string(<ADIOS_DATATYPES> type))
*
*/
- __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = adios_read_init_method(__pyx_t_3, __pyx_v_comm, __pyx_v_parameters);
- goto __pyx_L0;
- /* "adios.pyx":487
- *
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios.adiostype2string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_43adiostype2string(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
+static char __pyx_doc_5adios_42adiostype2string[] = "adiostype2string(ADIOS_DATATYPES type) -> str";
+static PyObject *__pyx_pw_5adios_43adiostype2string(PyObject *__pyx_self, PyObject *__pyx_arg_type) {
+ ADIOS_DATATYPES __pyx_v_type;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("adiostype2string (wrapper)", 0);
+ assert(__pyx_arg_type); {
+ __pyx_v_type = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_arg_type)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.adiostype2string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_42adiostype2string(__pyx_self, ((ADIOS_DATATYPES)__pyx_v_type));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_42adiostype2string(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_type) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("adiostype2string", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_5adios_adiostype2string(__pyx_v_type, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.adiostype2string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":592
+ *
+ * """ Call adios_read_init_method """
+ * cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
+ * MPI_Comm comm = MPI_COMM_WORLD,
+ * char * parameters = ""):
+ */
+
+static PyObject *__pyx_pw_5adios_45read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5adios_read_init(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_read_init *__pyx_optional_args) {
+ char *__pyx_v_method_name = ((char *)__pyx_k_BP);
+ MPI_Comm __pyx_v_comm = __pyx_k__8;
+ char *__pyx_v_parameters = ((char *)__pyx_k__7);
+ PyObject *__pyx_v_method = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ ADIOS_READ_METHOD __pyx_t_3;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("read_init", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_method_name = __pyx_optional_args->method_name;
+ if (__pyx_optional_args->__pyx_n > 1) {
+ __pyx_v_comm = __pyx_optional_args->comm;
+ if (__pyx_optional_args->__pyx_n > 2) {
+ __pyx_v_parameters = __pyx_optional_args->parameters;
+ }
+ }
+ }
+ }
+
+ /* "adios.pyx":595
+ * MPI_Comm comm = MPI_COMM_WORLD,
+ * char * parameters = ""):
+ * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
+ * return adios_read_init_method (method, comm, parameters)
+ *
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyInt_FromLong(__pyx_f_5adios_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_method = __pyx_t_2;
+ __pyx_t_2 = 0;
+
+ /* "adios.pyx":596
+ * char * parameters = ""):
+ * cdef method = str2adiosreadmethod(method_name)
+ * return adios_read_init_method (method, comm, parameters) # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = adios_read_init_method(__pyx_t_3, __pyx_v_comm, __pyx_v_parameters);
+ goto __pyx_L0;
+
+ /* "adios.pyx":592
+ *
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
* MPI_Comm comm = MPI_COMM_WORLD,
@@ -6238,8 +8407,9 @@ static int __pyx_f_5adios_read_init(CYTHON_UNUSED int __pyx_skip_dispatch, struc
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_35read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_35read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_45read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_44read_init[] = "read_init(char *method_name='BP', MPI_Comm comm=MPI_COMM_WORLD, char *parameters='') -> int";
+static PyObject *__pyx_pw_5adios_45read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_method_name;
MPI_Comm __pyx_v_comm;
char *__pyx_v_parameters;
@@ -6281,7 +8451,7 @@ static PyObject *__pyx_pw_5adios_35read_init(PyObject *__pyx_self, PyObject *__p
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6293,37 +8463,37 @@ static PyObject *__pyx_pw_5adios_35read_init(PyObject *__pyx_self, PyObject *__p
}
}
if (values[0]) {
- __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_method_name = ((char *)__pyx_k_BP);
}
if (values[1]) {
- __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[1]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[1]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_comm = __pyx_k__5;
+ __pyx_v_comm = __pyx_k__8;
}
if (values[2]) {
- __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_parameters = ((char *)__pyx_k__4);
+ __pyx_v_parameters = ((char *)__pyx_k__7);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read_init", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read_init", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.read_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_34read_init(__pyx_self, __pyx_v_method_name, __pyx_v_comm, __pyx_v_parameters);
+ __pyx_r = __pyx_pf_5adios_44read_init(__pyx_self, __pyx_v_method_name, __pyx_v_comm, __pyx_v_parameters);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_34read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, char *__pyx_v_parameters) {
+static PyObject *__pyx_pf_5adios_44read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, char *__pyx_v_parameters) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -6339,7 +8509,7 @@ static PyObject *__pyx_pf_5adios_34read_init(CYTHON_UNUSED PyObject *__pyx_self,
__pyx_t_2.comm = __pyx_v_comm;
__pyx_t_2.parameters = __pyx_v_parameters;
__pyx_t_1 = __pyx_f_5adios_read_init(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -6356,7 +8526,7 @@ static PyObject *__pyx_pf_5adios_34read_init(CYTHON_UNUSED PyObject *__pyx_self,
return __pyx_r;
}
-/* "adios.pyx":495
+/* "adios.pyx":600
*
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"): # <<<<<<<<<<<<<<
@@ -6364,7 +8534,7 @@ static PyObject *__pyx_pf_5adios_34read_init(CYTHON_UNUSED PyObject *__pyx_self,
* return adios_read_finalize_method (method)
*/
-static PyObject *__pyx_pw_5adios_37read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_47read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_5adios_read_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_read_finalize *__pyx_optional_args) {
char *__pyx_v_method_name = ((char *)__pyx_k_BP);
PyObject *__pyx_v_method = 0;
@@ -6383,33 +8553,33 @@ static int __pyx_f_5adios_read_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, s
}
}
- /* "adios.pyx":496
+ /* "adios.pyx":601
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"):
* cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
* return adios_read_finalize_method (method)
*
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyInt_FromLong(__pyx_f_5adios_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyInt_FromLong(__pyx_f_5adios_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_method = __pyx_t_2;
__pyx_t_2 = 0;
- /* "adios.pyx":497
+ /* "adios.pyx":602
* cpdef int read_finalize(char * method_name = "BP"):
* cdef method = str2adiosreadmethod(method_name)
* return adios_read_finalize_method (method) # <<<<<<<<<<<<<<
*
- * """ Python class for ADIOS_FILE structure """
+ * ## Python class for ADIOS_FILE structure
*/
- __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = adios_read_finalize_method(__pyx_t_3);
goto __pyx_L0;
- /* "adios.pyx":495
+ /* "adios.pyx":600
*
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"): # <<<<<<<<<<<<<<
@@ -6430,8 +8600,9 @@ static int __pyx_f_5adios_read_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, s
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_37read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_37read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_47read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_46read_finalize[] = "read_finalize(char *method_name='BP') -> int";
+static PyObject *__pyx_pw_5adios_47read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_method_name;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -6459,7 +8630,7 @@ static PyObject *__pyx_pw_5adios_37read_finalize(PyObject *__pyx_self, PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6469,27 +8640,27 @@ static PyObject *__pyx_pw_5adios_37read_finalize(PyObject *__pyx_self, PyObject
}
}
if (values[0]) {
- __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_method_name = ((char *)__pyx_k_BP);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read_finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read_finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.read_finalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_36read_finalize(__pyx_self, __pyx_v_method_name);
+ __pyx_r = __pyx_pf_5adios_46read_finalize(__pyx_self, __pyx_v_method_name);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_36read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name) {
+static PyObject *__pyx_pf_5adios_46read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -6503,7 +8674,7 @@ static PyObject *__pyx_pf_5adios_36read_finalize(CYTHON_UNUSED PyObject *__pyx_s
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.method_name = __pyx_v_method_name;
__pyx_t_1 = __pyx_f_5adios_read_finalize(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -6520,527 +8691,367 @@ static PyObject *__pyx_pf_5adios_36read_finalize(CYTHON_UNUSED PyObject *__pyx_s
return __pyx_r;
}
-/* "adios.pyx":520
+/* "adios.pyx":641
+ * property name:
+ * """ The filename (or stream name) associated with. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * """ Initialization. Call adios_read_open and populate public members """
- * def __init__(self, char * fname, # <<<<<<<<<<<<<<
- * char * method_name = "BP",
- * MPI_Comm comm = MPI_COMM_WORLD,
*/
/* Python wrapper */
-static int __pyx_pw_5adios_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_5adios_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- char *__pyx_v_fname;
- char *__pyx_v_method_name;
- MPI_Comm __pyx_v_comm;
- PyObject *__pyx_v_is_stream = 0;
- ADIOS_LOCKMODE __pyx_v_lock_mode;
- float __pyx_v_timeout_sec;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_4file_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_4name_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_method_name,&__pyx_n_s_comm,&__pyx_n_s_is_stream,&__pyx_n_s_lock_mode,&__pyx_n_s_timeout_sec,0};
- PyObject* values[6] = {0,0,0,0,0,0};
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_4name___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
- /* "adios.pyx":523
- * char * method_name = "BP",
- * MPI_Comm comm = MPI_COMM_WORLD,
- * is_stream = False, # <<<<<<<<<<<<<<
- * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
- * float timeout_sec = 0.0):
- */
- values[3] = ((PyObject *)Py_False);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_name);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
- if (value) { values[2] = value; kw_args--; }
- }
- case 3:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_stream);
- if (value) { values[3] = value; kw_args--; }
- }
- case 4:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lock_mode);
- if (value) { values[4] = value; kw_args--; }
- }
- case 5:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
- if (value) { values[5] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_fname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- if (values[1]) {
- __pyx_v_method_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_method_name = ((char *)__pyx_k_BP);
- }
- if (values[2]) {
- __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[2]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_comm = __pyx_k__6;
- }
- __pyx_v_is_stream = values[3];
- if (values[4]) {
- __pyx_v_lock_mode = ((ADIOS_LOCKMODE)PyInt_AsLong(values[4])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_lock_mode = __pyx_k__7;
- }
- if (values[5]) {
- __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[5]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_timeout_sec = ((float)0.0);
- }
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("adios.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ /* function exit code */
__Pyx_RefNannyFinishContext();
- return -1;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_4file___init__(((struct __pyx_obj_5adios_file *)__pyx_v_self), __pyx_v_fname, __pyx_v_method_name, __pyx_v_comm, __pyx_v_is_stream, __pyx_v_lock_mode, __pyx_v_timeout_sec);
+ return __pyx_r;
+}
- /* "adios.pyx":520
+static PyObject *__pyx_pf_5adios_4file_4name___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":642
+ * """ The filename (or stream name) associated with. """
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property nvars:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
+ goto __pyx_L0;
+
+ /* "adios.pyx":641
+ * property name:
+ * """ The filename (or stream name) associated with. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * """ Initialization. Call adios_read_open and populate public members """
- * def __init__(self, char * fname, # <<<<<<<<<<<<<<
- * char * method_name = "BP",
- * MPI_Comm comm = MPI_COMM_WORLD,
*/
/* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_5adios_4file___init__(struct __pyx_obj_5adios_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec) {
- PyObject *__pyx_v_method = 0;
- PyObject *__pyx_v_varname = NULL;
- int __pyx_v_i;
- int __pyx_r;
+/* "adios.pyx":646
+ * property nvars:
+ * """ The number of variables. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nvars
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_4file_5nvars_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_5nvars_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_t_2;
- PyObject *__pyx_t_3 = NULL;
- ADIOS_READ_METHOD __pyx_t_4;
- int __pyx_t_5;
- uint64_t __pyx_t_6;
- int __pyx_t_7;
- Py_ssize_t __pyx_t_8;
- PyObject *__pyx_t_9 = NULL;
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_5nvars___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_4file_5nvars___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__init__", 0);
-
- /* "adios.pyx":526
- * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
- * float timeout_sec = 0.0):
- * self.fp = NULL # <<<<<<<<<<<<<<
- * self.var = {}
- * self.attr = {}
- */
- __pyx_v_self->fp = NULL;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios.pyx":527
- * float timeout_sec = 0.0):
- * self.fp = NULL
- * self.var = {} # <<<<<<<<<<<<<<
- * self.attr = {}
- * self.is_stream = is_stream
+ /* "adios.pyx":647
+ * """ The number of variables. """
+ * def __get__(self):
+ * return self.nvars # <<<<<<<<<<<<<<
+ *
+ * property nattrs:
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->var);
- __Pyx_DECREF(__pyx_v_self->var);
- __pyx_v_self->var = ((PyObject*)__pyx_t_1);
+ __pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":528
- * self.fp = NULL
- * self.var = {}
- * self.attr = {} # <<<<<<<<<<<<<<
- * self.is_stream = is_stream
- * cdef method = str2adiosreadmethod(method_name)
+ /* "adios.pyx":646
+ * property nvars:
+ * """ The number of variables. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nvars
+ *
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->attr);
- __Pyx_DECREF(__pyx_v_self->attr);
- __pyx_v_self->attr = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
- /* "adios.pyx":529
- * self.var = {}
- * self.attr = {}
- * self.is_stream = is_stream # <<<<<<<<<<<<<<
- * cdef method = str2adiosreadmethod(method_name)
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.file.nvars.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":651
+ * property nattrs:
+ * """ The number of attributes. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nattrs
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->is_stream = __pyx_t_2;
- /* "adios.pyx":530
- * self.attr = {}
- * self.is_stream = is_stream
- * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_4file_6nattrs_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_6nattrs_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_6nattrs___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_4file_6nattrs___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":652
+ * """ The number of attributes. """
+ * def __get__(self):
+ * return self.nattrs # <<<<<<<<<<<<<<
*
- * if (is_stream):
+ * property current_step:
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = PyInt_FromLong(__pyx_f_5adios_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_method = __pyx_t_3;
- __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":532
- * cdef method = str2adiosreadmethod(method_name)
+ /* "adios.pyx":651
+ * property nattrs:
+ * """ The number of attributes. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nattrs
*
- * if (is_stream): # <<<<<<<<<<<<<<
- * self.fp = adios_read_open(fname, method, comm,
- * lock_mode, timeout_sec)
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (__pyx_t_2) {
- /* "adios.pyx":533
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.file.nattrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":656
+ * property current_step:
+ * """ The current timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.current_step
*
- * if (is_stream):
- * self.fp = adios_read_open(fname, method, comm, # <<<<<<<<<<<<<<
- * lock_mode, timeout_sec)
- * else:
*/
- __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":534
- * if (is_stream):
- * self.fp = adios_read_open(fname, method, comm,
- * lock_mode, timeout_sec) # <<<<<<<<<<<<<<
- * else:
- * self.fp = adios_read_open_file(fname, method, comm)
- */
- __pyx_v_self->fp = adios_read_open(__pyx_v_fname, __pyx_t_4, __pyx_v_comm, __pyx_v_lock_mode, __pyx_v_timeout_sec);
- goto __pyx_L3;
- }
- /*else*/ {
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_4file_12current_step_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_12current_step_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_12current_step___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
- /* "adios.pyx":536
- * lock_mode, timeout_sec)
- * else:
- * self.fp = adios_read_open_file(fname, method, comm) # <<<<<<<<<<<<<<
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_4file_12current_step___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":657
+ * """ The current timestep index. """
+ * def __get__(self):
+ * return self.current_step # <<<<<<<<<<<<<<
*
- * assert self.fp != NULL, 'Not an open file'
+ * property last_step:
*/
- __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->fp = adios_read_open_file(__pyx_v_fname, __pyx_t_4, __pyx_v_comm);
- }
- __pyx_L3:;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":538
- * self.fp = adios_read_open_file(fname, method, comm)
+ /* "adios.pyx":656
+ * property current_step:
+ * """ The current timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.current_step
*
- * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.file.current_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":661
+ * property last_step:
+ * """ The last timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.last_step
*
- * self.name = fname.split('/')[-1] ## basename
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
- /* "adios.pyx":540
- * assert self.fp != NULL, 'Not an open file'
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_4file_9last_step_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_9last_step_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_9last_step___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_4file_9last_step___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":662
+ * """ The last timestep index. """
+ * def __get__(self):
+ * return self.last_step # <<<<<<<<<<<<<<
*
- * self.name = fname.split('/')[-1] ## basename # <<<<<<<<<<<<<<
- * self.nvars = self.fp.nvars
- * self.nattrs = self.fp.nattrs
+ * property endianness:
*/
- __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_fname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":541
+ /* "adios.pyx":661
+ * property last_step:
+ * """ The last timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.last_step
*
- * self.name = fname.split('/')[-1] ## basename
- * self.nvars = self.fp.nvars # <<<<<<<<<<<<<<
- * self.nattrs = self.fp.nattrs
- * self.current_step = self.fp.current_step
- */
- __pyx_t_5 = __pyx_v_self->fp->nvars;
- __pyx_v_self->nvars = __pyx_t_5;
-
- /* "adios.pyx":542
- * self.name = fname.split('/')[-1] ## basename
- * self.nvars = self.fp.nvars
- * self.nattrs = self.fp.nattrs # <<<<<<<<<<<<<<
- * self.current_step = self.fp.current_step
- * self.last_step = self.fp.last_step
- */
- __pyx_t_5 = __pyx_v_self->fp->nattrs;
- __pyx_v_self->nattrs = __pyx_t_5;
-
- /* "adios.pyx":543
- * self.nvars = self.fp.nvars
- * self.nattrs = self.fp.nattrs
- * self.current_step = self.fp.current_step # <<<<<<<<<<<<<<
- * self.last_step = self.fp.last_step
- * self.endianness = self.fp.endianness
- */
- __pyx_t_5 = __pyx_v_self->fp->current_step;
- __pyx_v_self->current_step = __pyx_t_5;
-
- /* "adios.pyx":544
- * self.nattrs = self.fp.nattrs
- * self.current_step = self.fp.current_step
- * self.last_step = self.fp.last_step # <<<<<<<<<<<<<<
- * self.endianness = self.fp.endianness
- * self.version = self.fp.version
- */
- __pyx_t_5 = __pyx_v_self->fp->last_step;
- __pyx_v_self->last_step = __pyx_t_5;
-
- /* "adios.pyx":545
- * self.current_step = self.fp.current_step
- * self.last_step = self.fp.last_step
- * self.endianness = self.fp.endianness # <<<<<<<<<<<<<<
- * self.version = self.fp.version
- * self.file_size = self.fp.file_size
- */
- __pyx_t_5 = __pyx_v_self->fp->endianness;
- __pyx_v_self->endianness = __pyx_t_5;
-
- /* "adios.pyx":546
- * self.last_step = self.fp.last_step
- * self.endianness = self.fp.endianness
- * self.version = self.fp.version # <<<<<<<<<<<<<<
- * self.file_size = self.fp.file_size
- *
- */
- __pyx_t_5 = __pyx_v_self->fp->version;
- __pyx_v_self->version = __pyx_t_5;
-
- /* "adios.pyx":547
- * self.endianness = self.fp.endianness
- * self.version = self.fp.version
- * self.file_size = self.fp.file_size # <<<<<<<<<<<<<<
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]:
- */
- __pyx_t_6 = __pyx_v_self->fp->file_size;
- __pyx_v_self->file_size = __pyx_t_6;
-
- /* "adios.pyx":549
- * self.file_size = self.fp.file_size
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
- * self.var[varname] = var(self, varname)
- *
- */
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __pyx_v_self->nvars;
- for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_5; __pyx_t_7+=1) {
- __pyx_v_i = __pyx_t_7;
- __pyx_t_3 = __Pyx_PyBytes_FromString((__pyx_v_self->fp->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_varname, __pyx_t_1);
- __pyx_t_1 = 0;
-
- /* "adios.pyx":550
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]:
- * self.var[varname] = var(self, varname) # <<<<<<<<<<<<<<
- *
- * def __del__(self):
- */
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- __Pyx_INCREF(__pyx_v_varname);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_varname);
- __Pyx_GIVEREF(__pyx_v_varname);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_var)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(__pyx_v_self->var == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_varname, __pyx_t_9) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
- /* "adios.pyx":549
- * self.file_size = self.fp.file_size
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
- * self.var[varname] = var(self, varname)
- *
- */
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "adios.pyx":520
- *
- * """ Initialization. Call adios_read_open and populate public members """
- * def __init__(self, char * fname, # <<<<<<<<<<<<<<
- * char * method_name = "BP",
- * MPI_Comm comm = MPI_COMM_WORLD,
*/
/* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("adios.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_AddTraceback("adios.file.last_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
- __Pyx_XDECREF(__pyx_v_method);
- __Pyx_XDECREF(__pyx_v_varname);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":552
- * self.var[varname] = var(self, varname)
- *
- * def __del__(self): # <<<<<<<<<<<<<<
- * self.close()
+/* "adios.pyx":666
+ * property endianness:
+ * """ The endianness of the stored data. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.endianness
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_5adios_4file_10endianness_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_10endianness_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_2__del__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_10endianness___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_2__del__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_10endianness___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios.pyx":553
- *
- * def __del__(self):
- * self.close() # <<<<<<<<<<<<<<
+ /* "adios.pyx":667
+ * """ The endianness of the stored data. """
+ * def __get__(self):
+ * return self.endianness # <<<<<<<<<<<<<<
*
- * """ Call adios_read_close """
+ * property version:
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_5adios_file *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":552
- * self.var[varname] = var(self, varname)
- *
- * def __del__(self): # <<<<<<<<<<<<<<
- * self.close()
+ /* "adios.pyx":666
+ * property endianness:
+ * """ The endianness of the stored data. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.endianness
*
*/
/* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.__del__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.endianness.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -7048,151 +9059,125 @@ static PyObject *__pyx_pf_5adios_4file_2__del__(struct __pyx_obj_5adios_file *__
return __pyx_r;
}
-/* "adios.pyx":556
+/* "adios.pyx":671
+ * property version:
+ * """ The version of Adios. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.version
*
- * """ Call adios_read_close """
- * cpdef close(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp)
*/
-static PyObject *__pyx_pw_5adios_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_f_5adios_4file_close(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch) {
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_4file_7version_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_7version_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_7version___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_4file_7version___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("close", 0);
- /* Check if called by wrapper */
- if (unlikely(__pyx_skip_dispatch)) ;
- /* Check if overridden in Python */
- else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_4file_5close)) {
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- }
- }
- if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- } else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
-
- /* "adios.pyx":557
- * """ Call adios_read_close """
- * cpdef close(self):
- * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
- * adios_read_close(self.fp)
- * self.fp = NULL
- */
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
-
- /* "adios.pyx":558
- * cpdef close(self):
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp) # <<<<<<<<<<<<<<
- * self.fp = NULL
- *
- */
- adios_read_close(__pyx_v_self->fp);
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios.pyx":559
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp)
- * self.fp = NULL # <<<<<<<<<<<<<<
+ /* "adios.pyx":672
+ * """ The version of Adios. """
+ * def __get__(self):
+ * return self.version # <<<<<<<<<<<<<<
*
- * """ Print self """
+ * property file_sizec:
*/
- __pyx_v_self->fp = NULL;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios.pyx":556
+ /* "adios.pyx":671
+ * property version:
+ * """ The version of Adios. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.version
*
- * """ Call adios_read_close """
- * cpdef close(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp)
*/
/* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("adios.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_AddTraceback("adios.file.version.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+/* "adios.pyx":676
+ * property file_sizec:
+ * """ The size of Adios file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.file_size
+ *
+ */
+
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_5adios_4file_10file_sizec_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_10file_sizec_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("close (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_4close(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_10file_sizec___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_4close(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_10file_sizec___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("close", 0);
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":677
+ * """ The size of Adios file. """
+ * def __get__(self):
+ * return self.file_size # <<<<<<<<<<<<<<
+ *
+ * property is_stream:
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_5adios_4file_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
+ /* "adios.pyx":676
+ * property file_sizec:
+ * """ The size of Adios file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.file_size
+ *
+ */
+
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.file_sizec.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -7200,322 +9185,112 @@ static PyObject *__pyx_pf_5adios_4file_4close(struct __pyx_obj_5adios_file *__py
return __pyx_r;
}
-/* "adios.pyx":562
- *
- * """ Print self """
- * cpdef printself(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ==='
- */
-
-static PyObject *__pyx_pw_5adios_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_f_5adios_4file_printself(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("printself", 0);
- /* Check if called by wrapper */
- if (unlikely(__pyx_skip_dispatch)) ;
- /* Check if overridden in Python */
- else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_4file_7printself)) {
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- }
- }
- if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- } else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
-
- /* "adios.pyx":563
- * """ Print self """
- * cpdef printself(self):
- * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
- * print '=== AdiosFile ==='
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
- */
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
-
- /* "adios.pyx":564
- * cpdef printself(self):
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ===' # <<<<<<<<<<<<<<
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
- * printfile(self.fp)
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosFile) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- /* "adios.pyx":565
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ==='
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp) # <<<<<<<<<<<<<<
- * printfile(self.fp)
- *
- */
- __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_fp);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fp);
- __Pyx_GIVEREF(__pyx_n_s_fp);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "adios.pyx":566
- * print '=== AdiosFile ==='
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
- * printfile(self.fp) # <<<<<<<<<<<<<<
- *
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0):
- */
- __pyx_t_1 = __pyx_f_5adios_printfile(__pyx_v_self->fp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "adios.pyx":562
+/* "adios.pyx":681
+ * property is_stream:
+ * """ Indicating reader type; file reader or stream reader """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_stream
*
- * """ Print self """
- * cpdef printself(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ==='
*/
- /* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("adios.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_5adios_4file_9is_stream_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4file_9is_stream_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("printself (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_6printself(((struct __pyx_obj_5adios_file *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_5adios_4file_6printself(struct __pyx_obj_5adios_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("printself", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_5adios_4file_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_9is_stream___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":568
- * printfile(self.fp)
- *
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
- * return adios_advance_step(self.fp, last, timeout_sec)
- *
- */
-
-static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_f_5adios_4file_advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_4file_advance *__pyx_optional_args) {
- int __pyx_v_last = ((int)0);
- float __pyx_v_timeout_sec = ((float)0.0);
+static PyObject *__pyx_pf_5adios_4file_9is_stream___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- PyObject *__pyx_t_5 = NULL;
- PyObject *__pyx_t_6 = NULL;
- Py_ssize_t __pyx_t_7;
- PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("advance", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_last = __pyx_optional_args->last;
- if (__pyx_optional_args->__pyx_n > 1) {
- __pyx_v_timeout_sec = __pyx_optional_args->timeout_sec;
- }
- }
- }
- /* Check if called by wrapper */
- if (unlikely(__pyx_skip_dispatch)) ;
- /* Check if overridden in Python */
- else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_advance); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_4file_9advance)) {
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_last); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyFloat_FromDouble(__pyx_v_timeout_sec); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- if (__pyx_t_6) {
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
- }
- PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_t_3 = 0;
- __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios.pyx":569
- *
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0):
- * return adios_advance_step(self.fp, last, timeout_sec) # <<<<<<<<<<<<<<
+ /* "adios.pyx":682
+ * """ Indicating reader type; file reader or stream reader """
+ * def __get__(self):
+ * return self.is_stream # <<<<<<<<<<<<<<
*
- * """ Python class for ADIOS_VARINFO structure """
+ * def __init__(self, char * fname,
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(adios_advance_step(__pyx_v_self->fp, __pyx_v_last, __pyx_v_timeout_sec)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_stream); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "adios.pyx":568
- * printfile(self.fp)
- *
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
- * return adios_advance_step(self.fp, last, timeout_sec)
+ /* "adios.pyx":681
+ * property is_stream:
+ * """ Indicating reader type; file reader or stream reader """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_stream
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_AddTraceback("adios.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_AddTraceback("adios.file.is_stream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+/* "adios.pyx":684
+ * return self.is_stream
+ *
+ * def __init__(self, char * fname, # <<<<<<<<<<<<<<
+ * char * method_name = 'BP',
+ * MPI_Comm comm = MPI_COMM_WORLD,
+ */
+
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- int __pyx_v_last;
+static int __pyx_pw_5adios_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_5adios_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_fname;
+ char *__pyx_v_method_name;
+ MPI_Comm __pyx_v_comm;
+ PyObject *__pyx_v_is_stream = 0;
+ ADIOS_LOCKMODE __pyx_v_lock_mode;
float __pyx_v_timeout_sec;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("advance (wrapper)", 0);
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_last,&__pyx_n_s_timeout_sec,0};
- PyObject* values[2] = {0,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_method_name,&__pyx_n_s_comm,&__pyx_n_s_is_stream,&__pyx_n_s_lock_mode,&__pyx_n_s_timeout_sec,0};
+ PyObject* values[6] = {0,0,0,0,0,0};
+
+ /* "adios.pyx":687
+ * char * method_name = 'BP',
+ * MPI_Comm comm = MPI_COMM_WORLD,
+ * is_stream = False, # <<<<<<<<<<<<<<
+ * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
+ * float timeout_sec = 0.0):
+ */
+ values[3] = ((PyObject *)Py_False);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
case 0: break;
@@ -7524,313 +9299,541 @@ static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_last);
- if (value) { values[0] = value; kw_args--; }
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_name);
+ if (value) { values[1] = value; kw_args--; }
}
- case 1:
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_stream);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ case 4:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lock_mode);
+ if (value) { values[4] = value; kw_args--; }
+ }
+ case 5:
if (kw_args > 0) {
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
- if (value) { values[1] = value; kw_args--; }
+ if (value) { values[5] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "advance") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
+ break;
default: goto __pyx_L5_argtuple_error;
}
}
- if (values[0]) {
- __pyx_v_last = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_last == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_method_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_last = ((int)0);
+ __pyx_v_method_name = ((char *)__pyx_k_BP);
}
- if (values[1]) {
- __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[2]) {
+ __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[2]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_comm = __pyx_k__9;
+ }
+ __pyx_v_is_stream = values[3];
+ if (values[4]) {
+ __pyx_v_lock_mode = ((ADIOS_LOCKMODE)PyInt_AsLong(values[4])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_lock_mode = __pyx_k__10;
+ }
+ if (values[5]) {
+ __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[5]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_timeout_sec = ((float)0.0);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("advance", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
- __Pyx_AddTraceback("adios.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
- return NULL;
+ return -1;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_4file_8advance(((struct __pyx_obj_5adios_file *)__pyx_v_self), __pyx_v_last, __pyx_v_timeout_sec);
+ __pyx_r = __pyx_pf_5adios_4file___init__(((struct __pyx_obj_5adios_file *)__pyx_v_self), __pyx_v_fname, __pyx_v_method_name, __pyx_v_comm, __pyx_v_is_stream, __pyx_v_lock_mode, __pyx_v_timeout_sec);
+
+ /* "adios.pyx":684
+ * return self.is_stream
+ *
+ * def __init__(self, char * fname, # <<<<<<<<<<<<<<
+ * char * method_name = 'BP',
+ * MPI_Comm comm = MPI_COMM_WORLD,
+ */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_8advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec) {
- PyObject *__pyx_r = NULL;
+static int __pyx_pf_5adios_4file___init__(struct __pyx_obj_5adios_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, MPI_Comm __pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec) {
+ PyObject *__pyx_v_method = 0;
+ PyObject *__pyx_v_name = NULL;
+ int __pyx_v_i;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- struct __pyx_opt_args_5adios_4file_advance __pyx_t_2;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ ADIOS_READ_METHOD __pyx_t_4;
+ int __pyx_t_5;
+ uint64_t __pyx_t_6;
+ int __pyx_t_7;
+ Py_ssize_t __pyx_t_8;
+ PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("advance", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_2.__pyx_n = 2;
- __pyx_t_2.last = __pyx_v_last;
- __pyx_t_2.timeout_sec = __pyx_v_timeout_sec;
- __pyx_t_1 = __pyx_vtabptr_5adios_file->advance(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "adios.pyx":690
+ * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
+ * float timeout_sec = 0.0):
+ * self.fp = NULL # <<<<<<<<<<<<<<
+ * self.var = {}
+ * self.attr = {}
+ */
+ __pyx_v_self->fp = NULL;
+
+ /* "adios.pyx":691
+ * float timeout_sec = 0.0):
+ * self.fp = NULL
+ * self.var = {} # <<<<<<<<<<<<<<
+ * self.attr = {}
+ * self.is_stream = is_stream
+ */
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->var);
+ __Pyx_DECREF(__pyx_v_self->var);
+ __pyx_v_self->var = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- goto __pyx_L0;
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":692
+ * self.fp = NULL
+ * self.var = {}
+ * self.attr = {} # <<<<<<<<<<<<<<
+ * self.is_stream = is_stream
+ * cdef method = str2adiosreadmethod(method_name)
+ */
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->attr);
+ __Pyx_DECREF(__pyx_v_self->attr);
+ __pyx_v_self->attr = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
-/* "adios.pyx":505
+ /* "adios.pyx":693
+ * self.var = {}
+ * self.attr = {}
+ * self.is_stream = is_stream # <<<<<<<<<<<<<<
+ * cdef method = str2adiosreadmethod(method_name)
*
- * """ Public Memeber """
- * cpdef public bytes name # <<<<<<<<<<<<<<
- * cpdef public int nvars
- * cpdef public int nattrs
*/
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_self->is_stream = __pyx_t_2;
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_4name_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_4name___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ /* "adios.pyx":694
+ * self.attr = {}
+ * self.is_stream = is_stream
+ * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
+ *
+ * if (is_stream):
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = PyInt_FromLong(__pyx_f_5adios_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":696
+ * cdef method = str2adiosreadmethod(method_name)
+ *
+ * if (is_stream): # <<<<<<<<<<<<<<
+ * self.fp = adios_read_open(fname, method, comm,
+ * lock_mode, timeout_sec)
+ */
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_2) {
-static PyObject *__pyx_pf_5adios_4file_4name___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->name);
- __pyx_r = __pyx_v_self->name;
- goto __pyx_L0;
+ /* "adios.pyx":697
+ *
+ * if (is_stream):
+ * self.fp = adios_read_open(fname, method, comm, # <<<<<<<<<<<<<<
+ * lock_mode, timeout_sec)
+ * else:
+ */
+ __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* function exit code */
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":698
+ * if (is_stream):
+ * self.fp = adios_read_open(fname, method, comm,
+ * lock_mode, timeout_sec) # <<<<<<<<<<<<<<
+ * else:
+ * self.fp = adios_read_open_file(fname, method, comm)
+ */
+ __pyx_v_self->fp = adios_read_open(__pyx_v_fname, __pyx_t_4, __pyx_v_comm, __pyx_v_lock_mode, __pyx_v_timeout_sec);
+ goto __pyx_L3;
+ }
+ /*else*/ {
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_4name_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ /* "adios.pyx":700
+ * lock_mode, timeout_sec)
+ * else:
+ * self.fp = adios_read_open_file(fname, method, comm) # <<<<<<<<<<<<<<
+ *
+ * assert self.fp != NULL, 'Not an open file'
+ */
+ __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_self->fp = adios_read_open_file(__pyx_v_fname, __pyx_t_4, __pyx_v_comm);
+ }
+ __pyx_L3:;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":702
+ * self.fp = adios_read_open_file(fname, method, comm)
+ *
+ * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ *
+ * self.name = fname.split('/')[-1] ## basename
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
-static int __pyx_pf_5adios_4file_4name_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyBytes_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
+ /* "adios.pyx":704
+ * assert self.fp != NULL, 'Not an open file'
+ *
+ * self.name = fname.split('/')[-1] ## basename # <<<<<<<<<<<<<<
+ * self.nvars = self.fp.nvars
+ * self.nattrs = self.fp.nattrs
+ */
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_fname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->name);
__Pyx_DECREF(__pyx_v_self->name);
__pyx_v_self->name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_5adios_4file_4name_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_4name_4__del__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ /* "adios.pyx":705
+ *
+ * self.name = fname.split('/')[-1] ## basename
+ * self.nvars = self.fp.nvars # <<<<<<<<<<<<<<
+ * self.nattrs = self.fp.nattrs
+ * self.current_step = self.fp.current_step
+ */
+ __pyx_t_5 = __pyx_v_self->fp->nvars;
+ __pyx_v_self->nvars = __pyx_t_5;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":706
+ * self.name = fname.split('/')[-1] ## basename
+ * self.nvars = self.fp.nvars
+ * self.nattrs = self.fp.nattrs # <<<<<<<<<<<<<<
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step
+ */
+ __pyx_t_5 = __pyx_v_self->fp->nattrs;
+ __pyx_v_self->nattrs = __pyx_t_5;
-static int __pyx_pf_5adios_4file_4name_4__del__(struct __pyx_obj_5adios_file *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)Py_None);
+ /* "adios.pyx":707
+ * self.nvars = self.fp.nvars
+ * self.nattrs = self.fp.nattrs
+ * self.current_step = self.fp.current_step # <<<<<<<<<<<<<<
+ * self.last_step = self.fp.last_step
+ * self.endianness = self.fp.endianness
+ */
+ __pyx_t_5 = __pyx_v_self->fp->current_step;
+ __pyx_v_self->current_step = __pyx_t_5;
- /* function exit code */
- __pyx_r = 0;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":708
+ * self.nattrs = self.fp.nattrs
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step # <<<<<<<<<<<<<<
+ * self.endianness = self.fp.endianness
+ * self.version = self.fp.version
+ */
+ __pyx_t_5 = __pyx_v_self->fp->last_step;
+ __pyx_v_self->last_step = __pyx_t_5;
-/* "adios.pyx":506
- * """ Public Memeber """
- * cpdef public bytes name
- * cpdef public int nvars # <<<<<<<<<<<<<<
- * cpdef public int nattrs
- * cpdef public int current_step
+ /* "adios.pyx":709
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step
+ * self.endianness = self.fp.endianness # <<<<<<<<<<<<<<
+ * self.version = self.fp.version
+ * self.file_size = self.fp.file_size
*/
+ __pyx_t_5 = __pyx_v_self->fp->endianness;
+ __pyx_v_self->endianness = __pyx_t_5;
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_5nvars_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_5nvars_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_5nvars___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ /* "adios.pyx":710
+ * self.last_step = self.fp.last_step
+ * self.endianness = self.fp.endianness
+ * self.version = self.fp.version # <<<<<<<<<<<<<<
+ * self.file_size = self.fp.file_size
+ *
+ */
+ __pyx_t_5 = __pyx_v_self->fp->version;
+ __pyx_v_self->version = __pyx_t_5;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":711
+ * self.endianness = self.fp.endianness
+ * self.version = self.fp.version
+ * self.file_size = self.fp.file_size # <<<<<<<<<<<<<<
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]:
+ */
+ __pyx_t_6 = __pyx_v_self->fp->file_size;
+ __pyx_v_self->file_size = __pyx_t_6;
-static PyObject *__pyx_pf_5adios_4file_5nvars___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ /* "adios.pyx":713
+ * self.file_size = self.fp.file_size
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
+ * self.var[name] = var(self, name)
+ *
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_5 = __pyx_v_self->nvars;
+ for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_5; __pyx_t_7+=1) {
+ __pyx_v_i = __pyx_t_7;
+ __pyx_t_3 = __Pyx_PyBytes_FromString((__pyx_v_self->fp->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
+ __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ for (;;) {
+ if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
+ __pyx_t_1 = 0;
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.nvars.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":714
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]:
+ * self.var[name] = var(self, name) # <<<<<<<<<<<<<<
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]:
+ */
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_INCREF(__pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_name);
+ __Pyx_GIVEREF(__pyx_v_name);
+ __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_var)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_name, __pyx_t_9) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_5nvars_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_5nvars_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_5nvars_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ /* "adios.pyx":713
+ * self.file_size = self.fp.file_size
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
+ * self.var[name] = var(self, name)
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":716
+ * self.var[name] = var(self, name)
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]: # <<<<<<<<<<<<<<
+ * self.attr[name] = attr(self, name)
+ *
+ */
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_5 = __pyx_v_self->nattrs;
+ for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_5; __pyx_t_7+=1) {
+ __pyx_v_i = __pyx_t_7;
+ __pyx_t_9 = __Pyx_PyBytes_FromString((__pyx_v_self->fp->attr_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_9))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ }
+ __pyx_t_9 = __pyx_t_3; __Pyx_INCREF(__pyx_t_9); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ for (;;) {
+ if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_9)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_9, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
+ __pyx_t_3 = 0;
-static int __pyx_pf_5adios_4file_5nvars_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->nvars = __pyx_t_1;
+ /* "adios.pyx":717
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]:
+ * self.attr[name] = attr(self, name) # <<<<<<<<<<<<<<
+ *
+ * def __del__(self):
+ */
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_INCREF(__pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_name);
+ __Pyx_GIVEREF(__pyx_v_name);
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_attr)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->attr, __pyx_v_name, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":716
+ * self.var[name] = var(self, name)
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]: # <<<<<<<<<<<<<<
+ * self.attr[name] = attr(self, name)
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "adios.pyx":684
+ * return self.is_stream
+ *
+ * def __init__(self, char * fname, # <<<<<<<<<<<<<<
+ * char * method_name = 'BP',
+ * MPI_Comm comm = MPI_COMM_WORLD,
+ */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.nvars.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("adios.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_method);
+ __Pyx_XDECREF(__pyx_v_name);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":507
- * cpdef public bytes name
- * cpdef public int nvars
- * cpdef public int nattrs # <<<<<<<<<<<<<<
- * cpdef public int current_step
- * cpdef public int last_step
+/* "adios.pyx":719
+ * self.attr[name] = attr(self, name)
+ *
+ * def __del__(self): # <<<<<<<<<<<<<<
+ * """ Close file on destruction. """
+ * self.close()
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_6nattrs_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_6nattrs_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_4file_2__del__[] = "file.__del__(self)\n Close file on destruction. ";
+static PyObject *__pyx_pw_5adios_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_6nattrs___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_2__del__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_6nattrs___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_2__del__(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_RefNannySetupContext("__del__", 0);
+
+ /* "adios.pyx":721
+ * def __del__(self):
+ * """ Close file on destruction. """
+ * self.close() # <<<<<<<<<<<<<<
+ *
+ * cpdef close(self):
+ */
+ __pyx_t_1 = ((struct __pyx_vtabstruct_5adios_file *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":719
+ * self.attr[name] = attr(self, name)
+ *
+ * def __del__(self): # <<<<<<<<<<<<<<
+ * """ Close file on destruction. """
+ * self.close()
+ */
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.nattrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.__del__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -7838,72 +9841,143 @@ static PyObject *__pyx_pf_5adios_4file_6nattrs___get__(struct __pyx_obj_5adios_f
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_6nattrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_6nattrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_6nattrs_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+/* "adios.pyx":723
+ * self.close()
+ *
+ * cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
-static int __pyx_pf_5adios_4file_6nattrs_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_5adios_4file_close(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->nattrs = __pyx_t_1;
+ __Pyx_RefNannySetupContext("close", 0);
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_4file_5close)) {
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (__pyx_t_4) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+
+ /* "adios.pyx":725
+ * cpdef close(self):
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ * adios_read_close(self.fp)
+ * self.fp = NULL
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios.pyx":726
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file'
+ * adios_read_close(self.fp) # <<<<<<<<<<<<<<
+ * self.fp = NULL
+ *
+ */
+ adios_read_close(__pyx_v_self->fp);
+
+ /* "adios.pyx":727
+ * assert self.fp != NULL, 'Not an open file'
+ * adios_read_close(self.fp)
+ * self.fp = NULL # <<<<<<<<<<<<<<
+ *
+ * cpdef printself(self):
+ */
+ __pyx_v_self->fp = NULL;
+
+ /* "adios.pyx":723
+ * self.close()
+ *
+ * cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.nattrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":508
- * cpdef public int nvars
- * cpdef public int nattrs
- * cpdef public int current_step # <<<<<<<<<<<<<<
- * cpdef public int last_step
- * cpdef public int endianness
- */
-
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_12current_step_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_12current_step_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_4file_4close[] = "file.close(self)\n Close the open file. ";
+static PyObject *__pyx_pw_5adios_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_12current_step___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("close (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_4close(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_12current_step___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_4close(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_4file_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -7912,7 +9986,7 @@ static PyObject *__pyx_pf_5adios_4file_12current_step___get__(struct __pyx_obj_5
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.current_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -7920,72 +9994,168 @@ static PyObject *__pyx_pf_5adios_4file_12current_step___get__(struct __pyx_obj_5
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_12current_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_12current_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_12current_step_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+/* "adios.pyx":729
+ * self.fp = NULL
+ *
+ * cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
-static int __pyx_pf_5adios_4file_12current_step_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_5adios_4file_printself(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->current_step = __pyx_t_1;
+ __Pyx_RefNannySetupContext("printself", 0);
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_4file_7printself)) {
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (__pyx_t_4) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+
+ /* "adios.pyx":731
+ * cpdef printself(self):
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ * print '=== AdiosFile ==='
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios.pyx":732
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file'
+ * print '=== AdiosFile ===' # <<<<<<<<<<<<<<
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
+ * printfile(self.fp)
+ */
+ if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosFile) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":733
+ * assert self.fp != NULL, 'Not an open file'
+ * print '=== AdiosFile ==='
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp) # <<<<<<<<<<<<<<
+ * printfile(self.fp)
+ *
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_n_s_fp);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fp);
+ __Pyx_GIVEREF(__pyx_n_s_fp);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":734
+ * print '=== AdiosFile ==='
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
+ * printfile(self.fp) # <<<<<<<<<<<<<<
+ *
+ * cpdef advance(self, int last = 0, float timeout_sec = 0.0):
+ */
+ __pyx_t_1 = __pyx_f_5adios_printfile(__pyx_v_self->fp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":729
+ * self.fp = NULL
+ *
+ * cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.current_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":509
- * cpdef public int nattrs
- * cpdef public int current_step
- * cpdef public int last_step # <<<<<<<<<<<<<<
- * cpdef public int endianness
- * cpdef public int version
- */
-
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_9last_step_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_9last_step_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_4file_6printself[] = "file.printself(self)\n Print native ADIOS_FILE structure. ";
+static PyObject *__pyx_pw_5adios_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_9last_step___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("printself (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_6printself(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_9last_step___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_6printself(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("printself", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_4file_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -7994,7 +10164,7 @@ static PyObject *__pyx_pf_5adios_4file_9last_step___get__(struct __pyx_obj_5adio
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.last_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8002,72 +10172,356 @@ static PyObject *__pyx_pf_5adios_4file_9last_step___get__(struct __pyx_obj_5adio
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_9last_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_9last_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_9last_step_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+/* "adios.pyx":736
+ * printfile(self.fp)
+ *
+ * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
+ * """
+ * Advance a timestep for stream reader.
+ */
-static int __pyx_pf_5adios_4file_9last_step_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5adios_4file_advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_4file_advance *__pyx_optional_args) {
+ int __pyx_v_last = ((int)0);
+ float __pyx_v_timeout_sec = ((float)0.0);
+ int __pyx_v_val;
+ PyObject *__pyx_v_v = NULL;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ Py_ssize_t __pyx_t_7;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_t_9;
+ int __pyx_t_10;
+ PyObject *(*__pyx_t_11)(PyObject *);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->last_step = __pyx_t_1;
+ __Pyx_RefNannySetupContext("advance", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_last = __pyx_optional_args->last;
+ if (__pyx_optional_args->__pyx_n > 1) {
+ __pyx_v_timeout_sec = __pyx_optional_args->timeout_sec;
+ }
+ }
+ }
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_advance); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_4file_9advance)) {
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_last); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyFloat_FromDouble(__pyx_v_timeout_sec); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+ __pyx_t_7 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ __pyx_t_7 = 1;
+ }
+ }
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ if (__pyx_t_6) {
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
+ }
+ PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __pyx_t_3 = 0;
+ __pyx_t_4 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
- /* function exit code */
- __pyx_r = 0;
+ /* "adios.pyx":747
+ * int: 0 if successful, non-zero otherwise.
+ * """
+ * val = adios_advance_step(self.fp, last, timeout_sec) # <<<<<<<<<<<<<<
+ * if (val >= 0):
+ * self.current_step = self.fp.current_step
+ */
+ __pyx_v_val = adios_advance_step(__pyx_v_self->fp, __pyx_v_last, __pyx_v_timeout_sec);
+
+ /* "adios.pyx":748
+ * """
+ * val = adios_advance_step(self.fp, last, timeout_sec)
+ * if (val >= 0): # <<<<<<<<<<<<<<
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step
+ */
+ __pyx_t_9 = ((__pyx_v_val >= 0) != 0);
+ if (__pyx_t_9) {
+
+ /* "adios.pyx":749
+ * val = adios_advance_step(self.fp, last, timeout_sec)
+ * if (val >= 0):
+ * self.current_step = self.fp.current_step # <<<<<<<<<<<<<<
+ * self.last_step = self.fp.last_step
+ *
+ */
+ __pyx_t_10 = __pyx_v_self->fp->current_step;
+ __pyx_v_self->current_step = __pyx_t_10;
+
+ /* "adios.pyx":750
+ * if (val >= 0):
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step # <<<<<<<<<<<<<<
+ *
+ * for v in self.var.values():
+ */
+ __pyx_t_10 = __pyx_v_self->fp->last_step;
+ __pyx_v_self->last_step = __pyx_t_10;
+
+ /* "adios.pyx":752
+ * self.last_step = self.fp.last_step
+ *
+ * for v in self.var.values(): # <<<<<<<<<<<<<<
+ * v.advance()
+ *
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->var); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+ __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
+ __pyx_t_11 = NULL;
+ } else {
+ __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_11)) {
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_1 = __pyx_t_11(__pyx_t_2);
+ if (unlikely(!__pyx_t_1)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":753
+ *
+ * for v in self.var.values():
+ * v.advance() # <<<<<<<<<<<<<<
+ *
+ * return val
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_advance); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_8 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ if (__pyx_t_8) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ } else {
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":752
+ * self.last_step = self.fp.last_step
+ *
+ * for v in self.var.values(): # <<<<<<<<<<<<<<
+ * v.advance()
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":755
+ * v.advance()
+ *
+ * return val # <<<<<<<<<<<<<<
+ *
+ * def __getitem__(self, varname):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
+
+ /* "adios.pyx":736
+ * printfile(self.fp)
+ *
+ * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
+ * """
+ * Advance a timestep for stream reader.
+ */
+
+ /* function exit code */
__pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.last_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_AddTraceback("adios.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_v);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":510
- * cpdef public int current_step
- * cpdef public int last_step
- * cpdef public int endianness # <<<<<<<<<<<<<<
- * cpdef public int version
- * cpdef public int file_size
- */
-
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_10endianness_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_10endianness_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_4file_8advance[] = "file.advance(self, int last=0, float timeout_sec=0.0)\n\n Advance a timestep for stream reader.\n\n Args:\n last (int, optional): last timestep index (default: 0).\n timeout_sec (float, optional): timeout seconds (default: 0.0).\n\n Returns:\n int: 0 if successful, non-zero otherwise.\n ";
+static PyObject *__pyx_pw_5adios_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int __pyx_v_last;
+ float __pyx_v_timeout_sec;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_10endianness___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("advance (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_last,&__pyx_n_s_timeout_sec,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_last);
+ if (value) { values[0] = value; kw_args--; }
+ }
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "advance") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ if (values[0]) {
+ __pyx_v_last = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_last == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_last = ((int)0);
+ }
+ if (values[1]) {
+ __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_timeout_sec = ((float)0.0);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("advance", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_4file_8advance(((struct __pyx_obj_5adios_file *)__pyx_v_self), __pyx_v_last, __pyx_v_timeout_sec);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_10endianness___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_8advance(struct __pyx_obj_5adios_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ struct __pyx_opt_args_5adios_4file_advance __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("advance", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2.__pyx_n = 2;
+ __pyx_t_2.last = __pyx_v_last;
+ __pyx_t_2.timeout_sec = __pyx_v_timeout_sec;
+ __pyx_t_1 = __pyx_vtabptr_5adios_file->advance(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -8076,7 +10530,7 @@ static PyObject *__pyx_pf_5adios_4file_10endianness___get__(struct __pyx_obj_5ad
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.endianness.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8084,163 +10538,519 @@ static PyObject *__pyx_pf_5adios_4file_10endianness___get__(struct __pyx_obj_5ad
return __pyx_r;
}
+/* "adios.pyx":757
+ * return val
+ *
+ * def __getitem__(self, varname): # <<<<<<<<<<<<<<
+ * """
+ * Return Adios variable.
+ */
+
/* Python wrapper */
-static int __pyx_pw_5adios_4file_10endianness_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_10endianness_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_4file_11__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_varname); /*proto*/
+static char __pyx_doc_5adios_4file_10__getitem__[] = "\n Return Adios variable.\n\n Args:\n varname (str): variable name.\n\n Raises:\n KeyError: If no varname exists.\n\n ";
+#if CYTHON_COMPILING_IN_CPYTHON
+struct wrapperbase __pyx_wrapperbase_5adios_4file_10__getitem__;
+#endif
+static PyObject *__pyx_pw_5adios_4file_11__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_varname) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_10endianness_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_10__getitem__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_varname));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_5adios_4file_10endianness_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_5adios_4file_10__getitem__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_varname) {
+ PyObject *__pyx_v_key_ = NULL;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *(*__pyx_t_6)(PyObject *);
+ PyObject *__pyx_t_7 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->endianness = __pyx_t_1;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.endianness.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ __Pyx_RefNannySetupContext("__getitem__", 0);
+ __Pyx_INCREF(__pyx_v_varname);
-/* "adios.pyx":511
- * cpdef public int last_step
- * cpdef public int endianness
- * cpdef public int version # <<<<<<<<<<<<<<
- * cpdef public int file_size
+ /* "adios.pyx":768
+ *
+ * """
+ * if not isinstance(varname, tuple): # <<<<<<<<<<<<<<
+ * varname = (varname,)
*
*/
+ __pyx_t_1 = PyTuple_Check(__pyx_v_varname);
+ __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_2) {
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_7version_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_7version_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_7version___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ /* "adios.pyx":769
+ * """
+ * if not isinstance(varname, tuple):
+ * varname = (varname,) # <<<<<<<<<<<<<<
+ *
+ * if len(varname) > 1:
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_varname);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_varname);
+ __Pyx_GIVEREF(__pyx_v_varname);
+ __Pyx_DECREF_SET(__pyx_v_varname, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":771
+ * varname = (varname,)
+ *
+ * if len(varname) > 1: # <<<<<<<<<<<<<<
+ * raise KeyError(varname)
+ *
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_varname); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((__pyx_t_4 > 1) != 0);
+ if (__pyx_t_2) {
-static PyObject *__pyx_pf_5adios_4file_7version___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ /* "adios.pyx":772
+ *
+ * if len(varname) > 1:
+ * raise KeyError(varname) # <<<<<<<<<<<<<<
+ *
+ * for key_ in varname:
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_varname);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_varname);
+ __Pyx_GIVEREF(__pyx_v_varname);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.version.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":774
+ * raise KeyError(varname)
+ *
+ * for key_ in varname: # <<<<<<<<<<<<<<
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type")
+ */
+ if (likely(PyList_CheckExact(__pyx_v_varname)) || PyTuple_CheckExact(__pyx_v_varname)) {
+ __pyx_t_5 = __pyx_v_varname; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
+ __pyx_t_6 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_varname); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ for (;;) {
+ if (likely(!__pyx_t_6)) {
+ if (likely(PyList_CheckExact(__pyx_t_5))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_3 = __pyx_t_6(__pyx_t_5);
+ if (unlikely(!__pyx_t_3)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ }
+ __pyx_v_key_ = __pyx_t_3;
+ __pyx_t_3 = 0;
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_7version_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_7version_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_7version_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ /* "adios.pyx":775
+ *
+ * for key_ in varname:
+ * if not isinstance(key_, str): # <<<<<<<<<<<<<<
+ * raise TypeError("Unhashable type")
+ *
+ */
+ __pyx_t_2 = PyString_Check(__pyx_v_key_);
+ __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0);
+ if (__pyx_t_1) {
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":776
+ * for key_ in varname:
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type") # <<<<<<<<<<<<<<
+ *
+ * if key_ in self.var.keys():
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
-static int __pyx_pf_5adios_4file_7version_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->version = __pyx_t_1;
+ /* "adios.pyx":778
+ * raise TypeError("Unhashable type")
+ *
+ * if key_ in self.var.keys(): # <<<<<<<<<<<<<<
+ * return self.var.get(key_)
+ * elif key_ in self.attr.keys():
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Keys(__pyx_v_self->var); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = (__Pyx_PySequence_Contains(__pyx_v_key_, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":779
+ *
+ * if key_ in self.var.keys():
+ * return self.var.get(key_) # <<<<<<<<<<<<<<
+ * elif key_ in self.attr.keys():
+ * return self.attr.get(key_)
+ */
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->var, __pyx_v_key_, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ goto __pyx_L0;
+ }
+
+ /* "adios.pyx":780
+ * if key_ in self.var.keys():
+ * return self.var.get(key_)
+ * elif key_ in self.attr.keys(): # <<<<<<<<<<<<<<
+ * return self.attr.get(key_)
+ * else:
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Keys(__pyx_v_self->attr); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_key_, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios.pyx":781
+ * return self.var.get(key_)
+ * elif key_ in self.attr.keys():
+ * return self.attr.get(key_) # <<<<<<<<<<<<<<
+ * else:
+ * raise KeyError(key_)
+ */
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->attr, __pyx_v_key_, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ goto __pyx_L0;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":783
+ * return self.attr.get(key_)
+ * else:
+ * raise KeyError(key_) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_key_);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_key_);
+ __Pyx_GIVEREF(__pyx_v_key_);
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_7, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":774
+ * raise KeyError(varname)
+ *
+ * for key_ in varname: # <<<<<<<<<<<<<<
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type")
+ */
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios.pyx":757
+ * return val
+ *
+ * def __getitem__(self, varname): # <<<<<<<<<<<<<<
+ * """
+ * Return Adios variable.
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.version.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios.file.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_key_);
+ __Pyx_XDECREF(__pyx_v_varname);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":512
- * cpdef public int endianness
- * cpdef public int version
- * cpdef public int file_size # <<<<<<<<<<<<<<
+/* "adios.pyx":785
+ * raise KeyError(key_)
*
- * cpdef public dict var
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_9file_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_9file_size_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_4file_13__repr__(PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_5adios_4file_12__repr__[] = " Return string representation. ";
+#if CYTHON_COMPILING_IN_CPYTHON
+struct wrapperbase __pyx_wrapperbase_5adios_4file_12__repr__;
+#endif
+static PyObject *__pyx_pw_5adios_4file_13__repr__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_9file_size___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4file_12__repr__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_9file_size___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4file_12__repr__(struct __pyx_obj_5adios_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios.pyx":787
+ * def __repr__(self):
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, " # <<<<<<<<<<<<<<
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path,
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":789
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path, # <<<<<<<<<<<<<<
+ * self.nvars,
+ * self.var.keys(),
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->fp->path); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+
+ /* "adios.pyx":790
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path,
+ * self.nvars, # <<<<<<<<<<<<<<
+ * self.var.keys(),
+ * self.nattrs,
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->nvars); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+
+ /* "adios.pyx":791
+ * (self.fp.path,
+ * self.nvars,
+ * self.var.keys(), # <<<<<<<<<<<<<<
+ * self.nattrs,
+ * self.attr.keys(),
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Keys(__pyx_v_self->var); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+
+ /* "adios.pyx":792
+ * self.nvars,
+ * self.var.keys(),
+ * self.nattrs, # <<<<<<<<<<<<<<
+ * self.attr.keys(),
+ * self.current_step,
+ */
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_self->nattrs); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+
+ /* "adios.pyx":793
+ * self.var.keys(),
+ * self.nattrs,
+ * self.attr.keys(), # <<<<<<<<<<<<<<
+ * self.current_step,
+ * self.last_step,
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_5 = __Pyx_PyDict_Keys(__pyx_v_self->attr); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+
+ /* "adios.pyx":794
+ * self.nattrs,
+ * self.attr.keys(),
+ * self.current_step, # <<<<<<<<<<<<<<
+ * self.last_step,
+ * self.file_size)
+ */
+ __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->current_step); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+
+ /* "adios.pyx":795
+ * self.attr.keys(),
+ * self.current_step,
+ * self.last_step, # <<<<<<<<<<<<<<
+ * self.file_size)
+ *
+ */
+ __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_self->last_step); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+
+ /* "adios.pyx":796
+ * self.current_step,
+ * self.last_step,
+ * self.file_size) # <<<<<<<<<<<<<<
+ *
+ * cdef class var:
+ */
+ __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_self->file_size); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+
+ /* "adios.pyx":789
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path, # <<<<<<<<<<<<<<
+ * self.nvars,
+ * self.var.keys(),
+ */
+ __pyx_t_9 = PyTuple_New(8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_6);
+ __Pyx_GIVEREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_9, 6, __pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_9, 7, __pyx_t_8);
+ __Pyx_GIVEREF(__pyx_t_8);
__pyx_t_1 = 0;
+ __pyx_t_2 = 0;
+ __pyx_t_3 = 0;
+ __pyx_t_4 = 0;
+ __pyx_t_5 = 0;
+ __pyx_t_6 = 0;
+ __pyx_t_7 = 0;
+ __pyx_t_8 = 0;
+
+ /* "adios.pyx":788
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ * "current_step=%r, last_step=%r, file_size=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.fp.path,
+ * self.nvars,
+ */
+ __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_AdiosFile_path_r_nvars_r_var_r_n, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_r = __pyx_t_8;
+ __pyx_t_8 = 0;
goto __pyx_L0;
+ /* "adios.pyx":785
+ * raise KeyError(key_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ */
+
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.file_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("adios.file.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8248,44 +11058,9 @@ static PyObject *__pyx_pf_5adios_4file_9file_size___get__(struct __pyx_obj_5adio
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_5adios_4file_9file_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_9file_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_9file_size_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_5adios_4file_9file_size_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->file_size = __pyx_t_1;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.file_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "adios.pyx":514
- * cpdef public int file_size
+/* "adios.pyx":636
*
+ * ## Public Memeber
* cpdef public dict var # <<<<<<<<<<<<<<
* cpdef public dict attr
*
@@ -8341,7 +11116,7 @@ static int __pyx_pf_5adios_4file_3var_2__set__(struct __pyx_obj_5adios_file *__p
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = __pyx_v_value;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -8391,12 +11166,12 @@ static int __pyx_pf_5adios_4file_3var_4__del__(struct __pyx_obj_5adios_file *__p
return __pyx_r;
}
-/* "adios.pyx":515
- *
+/* "adios.pyx":637
+ * ## Public Memeber
* cpdef public dict var
* cpdef public dict attr # <<<<<<<<<<<<<<
*
- * cpdef public bint is_stream
+ * property name:
*/
/* Python wrapper */
@@ -8449,7 +11224,7 @@ static int __pyx_pf_5adios_4file_4attr_2__set__(struct __pyx_obj_5adios_file *__
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = __pyx_v_value;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -8499,28 +11274,81 @@ static int __pyx_pf_5adios_4file_4attr_4__del__(struct __pyx_obj_5adios_file *__
return __pyx_r;
}
-/* "adios.pyx":517
- * cpdef public dict attr
- *
- * cpdef public bint is_stream # <<<<<<<<<<<<<<
+/* "adios.pyx":826
+ * property name:
+ * """ The variable name. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * """ Initialization. Call adios_read_open and populate public members """
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_4file_9is_stream_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_4file_9is_stream_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_3var_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_4name_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_9is_stream___get__(((struct __pyx_obj_5adios_file *)__pyx_v_self));
+ __pyx_r = __pyx_pf_5adios_3var_4name___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_4file_9is_stream___get__(struct __pyx_obj_5adios_file *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_3var_4name___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":827
+ * """ The variable name. """
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property varid:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
+ goto __pyx_L0;
+
+ /* "adios.pyx":826
+ * property name:
+ * """ The variable name. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":831
+ * property varid:
+ * """ Internal variable id. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.varid
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_3var_5varid_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_5varid_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_5varid___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_3var_5varid___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -8528,17 +11356,33 @@ static PyObject *__pyx_pf_5adios_4file_9is_stream___get__(struct __pyx_obj_5adio
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":832
+ * """ Internal variable id. """
+ * def __get__(self):
+ * return self.varid # <<<<<<<<<<<<<<
+ *
+ * property dtype:
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_stream); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
+ /* "adios.pyx":831
+ * property varid:
+ * """ Internal variable id. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.varid
+ *
+ */
+
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.file.is_stream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.var.varid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8546,44 +11390,241 @@ static PyObject *__pyx_pf_5adios_4file_9is_stream___get__(struct __pyx_obj_5adio
return __pyx_r;
}
+/* "adios.pyx":836
+ * property dtype:
+ * """ Variable type as in numpy.dtype. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
/* Python wrapper */
-static int __pyx_pw_5adios_4file_9is_stream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_4file_9is_stream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_3var_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_5dtype_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_4file_9is_stream_2__set__(((struct __pyx_obj_5adios_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_5dtype___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_5adios_4file_9is_stream_2__set__(struct __pyx_obj_5adios_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_5adios_3var_5dtype___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":837
+ * """ Variable type as in numpy.dtype. """
+ * def __get__(self):
+ * return self.dtype # <<<<<<<<<<<<<<
+ *
+ * property ndim:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_r = ((PyObject *)__pyx_v_self->dtype);
+ goto __pyx_L0;
+
+ /* "adios.pyx":836
+ * property dtype:
+ * """ Variable type as in numpy.dtype. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":841
+ * property ndim:
+ * """ The number of dimensions of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.ndim
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_3var_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_4ndim_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_4ndim___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_3var_4ndim___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->is_stream = __pyx_t_1;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":842
+ * """ The number of dimensions of the variable. """
+ * def __get__(self):
+ * return self.ndim # <<<<<<<<<<<<<<
+ *
+ * property dims:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios.pyx":841
+ * property ndim:
+ * """ The number of dimensions of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.ndim
+ *
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.var.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":846
+ * property dims:
+ * """ The shape of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dims
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_3var_4dims_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_4dims_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_4dims___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_3var_4dims___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":847
+ * """ The shape of the variable. """
+ * def __get__(self):
+ * return self.dims # <<<<<<<<<<<<<<
+ *
+ * property nsteps:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->dims);
+ __pyx_r = __pyx_v_self->dims;
+ goto __pyx_L0;
+
+ /* "adios.pyx":846
+ * property dims:
+ * """ The shape of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dims
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":851
+ * property nsteps:
+ * """ The number of time steps of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nsteps
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_3var_6nsteps_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_6nsteps_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_6nsteps___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_3var_6nsteps___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":852
+ * """ The number of time steps of the variable. """
+ * def __get__(self):
+ * return self.nsteps # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, file file, char * name):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
goto __pyx_L0;
+
+ /* "adios.pyx":851
+ * property nsteps:
+ * """ The number of time steps of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nsteps
+ *
+ */
+
+ /* function exit code */
__pyx_L1_error:;
- __Pyx_AddTraceback("adios.file.is_stream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.var.nsteps.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":586
+/* "adios.pyx":854
+ * return self.nsteps
*
- * """ Initialization. Call adios_inq_var and populate public members """
* def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
* self.file = file
* self.vp = NULL
@@ -8620,11 +11661,11 @@ static int __pyx_pw_5adios_3var_1__init__(PyObject *__pyx_v_self, PyObject *__py
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -8633,17 +11674,17 @@ static int __pyx_pw_5adios_3var_1__init__(PyObject *__pyx_v_self, PyObject *__py
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_file = ((struct __pyx_obj_5adios_file *)values[0]);
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.var.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_5adios_file, 1, "file", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_5adios_file, 1, "file", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_5adios_3var___init__(((struct __pyx_obj_5adios_var *)__pyx_v_self), __pyx_v_file, __pyx_v_name);
/* function exit code */
@@ -8663,13 +11704,17 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
int __pyx_t_2;
int __pyx_t_3;
PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ int __pyx_t_6;
+ size_t __pyx_t_7;
+ struct __pyx_opt_args_5adios_adios2npdtype __pyx_t_8;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "adios.pyx":587
- * """ Initialization. Call adios_inq_var and populate public members """
+ /* "adios.pyx":855
+ *
* def __init__(self, file file, char * name):
* self.file = file # <<<<<<<<<<<<<<
* self.vp = NULL
@@ -8681,7 +11726,7 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
__Pyx_DECREF(((PyObject *)__pyx_v_self->file));
__pyx_v_self->file = __pyx_v_file;
- /* "adios.pyx":588
+ /* "adios.pyx":856
* def __init__(self, file file, char * name):
* self.file = file
* self.vp = NULL # <<<<<<<<<<<<<<
@@ -8690,7 +11735,7 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
*/
__pyx_v_self->vp = NULL;
- /* "adios.pyx":590
+ /* "adios.pyx":858
* self.vp = NULL
*
* assert self.file.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
@@ -8701,12 +11746,12 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->file->fp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios.pyx":591
+ /* "adios.pyx":859
*
* assert self.file.fp != NULL, 'Not an open file'
* self.vp = adios_inq_var(self.file.fp, name) # <<<<<<<<<<<<<<
@@ -8715,7 +11760,7 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
*/
__pyx_v_self->vp = adios_inq_var(__pyx_v_self->file->fp, __pyx_v_name);
- /* "adios.pyx":592
+ /* "adios.pyx":860
* assert self.file.fp != NULL, 'Not an open file'
* self.vp = adios_inq_var(self.file.fp, name)
* assert self.vp != NULL, 'Not a valid var' # <<<<<<<<<<<<<<
@@ -8726,19 +11771,19 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_a_valid_var);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios.pyx":594
+ /* "adios.pyx":862
* assert self.vp != NULL, 'Not a valid var'
*
* self.name = name # <<<<<<<<<<<<<<
* self.varid = self.vp.varid
- * self.type = adios2nptype(self.vp.type)
+ * self.ndim = self.vp.ndim
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->name);
@@ -8746,34 +11791,19 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
__pyx_v_self->name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "adios.pyx":595
+ /* "adios.pyx":863
*
* self.name = name
* self.varid = self.vp.varid # <<<<<<<<<<<<<<
- * self.type = adios2nptype(self.vp.type)
* self.ndim = self.vp.ndim
+ * self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
*/
__pyx_t_2 = __pyx_v_self->vp->varid;
__pyx_v_self->varid = __pyx_t_2;
- /* "adios.pyx":596
+ /* "adios.pyx":864
* self.name = name
* self.varid = self.vp.varid
- * self.type = adios2nptype(self.vp.type) # <<<<<<<<<<<<<<
- * self.ndim = self.vp.ndim
- * self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
- */
- __pyx_t_1 = ((PyObject *)__pyx_f_5adios_adios2nptype(__pyx_v_self->vp->type)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->type);
- __Pyx_DECREF(((PyObject *)__pyx_v_self->type));
- __pyx_v_self->type = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
-
- /* "adios.pyx":597
- * self.varid = self.vp.varid
- * self.type = adios2nptype(self.vp.type)
* self.ndim = self.vp.ndim # <<<<<<<<<<<<<<
* self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
* self.nsteps = self.vp.nsteps
@@ -8781,24 +11811,24 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
__pyx_t_2 = __pyx_v_self->vp->ndim;
__pyx_v_self->ndim = __pyx_t_2;
- /* "adios.pyx":598
- * self.type = adios2nptype(self.vp.type)
+ /* "adios.pyx":865
+ * self.varid = self.vp.varid
* self.ndim = self.vp.ndim
* self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)]) # <<<<<<<<<<<<<<
* self.nsteps = self.vp.nsteps
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_v_self->vp->ndim;
for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
__pyx_v_i = __pyx_t_3;
- __pyx_t_4 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
- __pyx_t_4 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_4);
@@ -8807,19 +11837,78 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
__pyx_v_self->dims = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "adios.pyx":599
+ /* "adios.pyx":866
* self.ndim = self.vp.ndim
* self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
* self.nsteps = self.vp.nsteps # <<<<<<<<<<<<<<
*
- * def __del__(self):
+ * if self.vp.type == DATATYPE.string:
*/
__pyx_t_2 = __pyx_v_self->vp->nsteps;
__pyx_v_self->nsteps = __pyx_t_2;
- /* "adios.pyx":586
+ /* "adios.pyx":868
+ * self.nsteps = self.vp.nsteps
+ *
+ * if self.vp.type == DATATYPE.string: # <<<<<<<<<<<<<<
+ * self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value))
+ * else:
+ */
+ __pyx_t_4 = PyInt_FromLong(__pyx_v_self->vp->type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_string); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__pyx_t_6) {
+
+ /* "adios.pyx":869
+ *
+ * if self.vp.type == DATATYPE.string:
+ * self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value)) # <<<<<<<<<<<<<<
+ * else:
+ * self.dtype = adios2npdtype(self.vp.type)
+ */
+ __pyx_t_7 = strlen(((char *)__pyx_v_self->vp->value));
+ __pyx_t_8.__pyx_n = 1;
+ __pyx_t_8.strlen = __pyx_t_7;
+ __pyx_t_1 = ((PyObject *)__pyx_f_5adios_adios2npdtype(__pyx_v_self->vp->type, 0, &__pyx_t_8)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":871
+ * self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value))
+ * else:
+ * self.dtype = adios2npdtype(self.vp.type) # <<<<<<<<<<<<<<
+ *
+ * def __del__(self):
+ */
+ __pyx_t_1 = ((PyObject *)__pyx_f_5adios_adios2npdtype(__pyx_v_self->vp->type, 0, NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_1);
+ __pyx_t_1 = 0;
+ }
+ __pyx_L5:;
+
+ /* "adios.pyx":854
+ * return self.nsteps
*
- * """ Initialization. Call adios_inq_var and populate public members """
* def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
* self.file = file
* self.vp = NULL
@@ -8831,6 +11920,7 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("adios.var.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -8838,8 +11928,8 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
return __pyx_r;
}
-/* "adios.pyx":601
- * self.nsteps = self.vp.nsteps
+/* "adios.pyx":873
+ * self.dtype = adios2npdtype(self.vp.type)
*
* def __del__(self): # <<<<<<<<<<<<<<
* self.close()
@@ -8848,6 +11938,7 @@ static int __pyx_pf_5adios_3var___init__(struct __pyx_obj_5adios_var *__pyx_v_se
/* Python wrapper */
static PyObject *__pyx_pw_5adios_3var_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_3var_2__del__[] = "var.__del__(self)";
static PyObject *__pyx_pw_5adios_3var_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
@@ -8868,19 +11959,19 @@ static PyObject *__pyx_pf_5adios_3var_2__del__(struct __pyx_obj_5adios_var *__py
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__del__", 0);
- /* "adios.pyx":602
+ /* "adios.pyx":874
*
* def __del__(self):
* self.close() # <<<<<<<<<<<<<<
*
- * """ Call adios_free_varinfo """
+ * cpdef close(self):
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_5adios_var *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((struct __pyx_vtabstruct_5adios_var *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":601
- * self.nsteps = self.vp.nsteps
+ /* "adios.pyx":873
+ * self.dtype = adios2npdtype(self.vp.type)
*
* def __del__(self): # <<<<<<<<<<<<<<
* self.close()
@@ -8900,12 +11991,12 @@ static PyObject *__pyx_pf_5adios_3var_2__del__(struct __pyx_obj_5adios_var *__py
return __pyx_r;
}
-/* "adios.pyx":605
+/* "adios.pyx":876
+ * self.close()
*
- * """ Call adios_free_varinfo """
* cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var'
- * adios_free_varinfo(self.vp)
*/
static PyObject *__pyx_pw_5adios_3var_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
@@ -8924,7 +12015,7 @@ static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_3var_5close)) {
__Pyx_XDECREF(__pyx_r);
@@ -8940,10 +12031,10 @@ static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -8955,9 +12046,9 @@ static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "adios.pyx":606
- * """ Call adios_free_varinfo """
+ /* "adios.pyx":878
* cpdef close(self):
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var' # <<<<<<<<<<<<<<
* adios_free_varinfo(self.vp)
* self.vp = NULL
@@ -8966,13 +12057,13 @@ static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_var);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios.pyx":607
- * cpdef close(self):
+ /* "adios.pyx":879
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var'
* adios_free_varinfo(self.vp) # <<<<<<<<<<<<<<
* self.vp = NULL
@@ -8980,21 +12071,21 @@ static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_
*/
adios_free_varinfo(__pyx_v_self->vp);
- /* "adios.pyx":608
+ /* "adios.pyx":880
* assert self.vp != NULL, 'Not an open var'
* adios_free_varinfo(self.vp)
* self.vp = NULL # <<<<<<<<<<<<<<
*
- * """ Call adios_schedule_read and adios_perform_reads """
+ * cpdef advance(self):
*/
__pyx_v_self->vp = NULL;
- /* "adios.pyx":605
+ /* "adios.pyx":876
+ * self.close()
*
- * """ Call adios_free_varinfo """
* cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var'
- * adios_free_varinfo(self.vp)
*/
/* function exit code */
@@ -9015,6 +12106,7 @@ static PyObject *__pyx_f_5adios_3var_close(struct __pyx_obj_5adios_var *__pyx_v_
/* Python wrapper */
static PyObject *__pyx_pw_5adios_3var_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_3var_4close[] = "var.close(self)\n Close and free variable information ";
static PyObject *__pyx_pw_5adios_3var_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
@@ -9035,7 +12127,7 @@ static PyObject *__pyx_pf_5adios_3var_4close(struct __pyx_obj_5adios_var *__pyx_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_5adios_3var_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_3var_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -9052,20 +12144,178 @@ static PyObject *__pyx_pf_5adios_3var_4close(struct __pyx_obj_5adios_var *__pyx_
return __pyx_r;
}
-/* "adios.pyx":611
+/* "adios.pyx":882
+ * self.vp = NULL
+ *
+ * cpdef advance(self): # <<<<<<<<<<<<<<
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ */
+
+static PyObject *__pyx_pw_5adios_3var_7advance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_5adios_3var_advance(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ char const *__pyx_t_5;
+ int __pyx_t_6;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("advance", 0);
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_advance); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_3var_7advance)) {
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (__pyx_t_4) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+
+ /* "adios.pyx":884
+ * cpdef advance(self):
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name) # <<<<<<<<<<<<<<
+ * assert self.vp != NULL, 'Not a valid var'
+ * self.nsteps = self.vp.nsteps
+ */
+ __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_self->vp = adios_inq_var(__pyx_v_self->file->fp, __pyx_t_5);
+
+ /* "adios.pyx":885
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ * assert self.vp != NULL, 'Not a valid var' # <<<<<<<<<<<<<<
+ * self.nsteps = self.vp.nsteps
+ *
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_a_valid_var);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios.pyx":886
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ * assert self.vp != NULL, 'Not a valid var'
+ * self.nsteps = self.vp.nsteps # <<<<<<<<<<<<<<
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0):
+ */
+ __pyx_t_6 = __pyx_v_self->vp->nsteps;
+ __pyx_v_self->nsteps = __pyx_t_6;
+
+ /* "adios.pyx":882
+ * self.vp = NULL
+ *
+ * cpdef advance(self): # <<<<<<<<<<<<<<
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios.var.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_3var_7advance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_3var_6advance[] = "var.advance(self)\n Update variable information after the stream advanced ";
+static PyObject *__pyx_pw_5adios_3var_7advance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("advance (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_6advance(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_3var_6advance(struct __pyx_obj_5adios_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("advance", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_5adios_3var_advance(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.var.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":888
+ * self.nsteps = self.vp.nsteps
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0): # <<<<<<<<<<<<<<
+ * """ Perform read.
*
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1): # <<<<<<<<<<<<<<
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
*/
-static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_9read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_3var_read *__pyx_optional_args) {
PyObject *__pyx_v_offset = ((PyObject*)__pyx_empty_tuple);
PyObject *__pyx_v_count = ((PyObject*)__pyx_empty_tuple);
- PyObject *__pyx_v_from_steps = ((PyObject *)__pyx_int_0);
- PyObject *__pyx_v_nsteps = ((PyObject *)__pyx_int_1);
+ PyObject *__pyx_v_from_steps = ((PyObject *)Py_None);
+ PyObject *__pyx_v_nsteps = ((PyObject *)Py_None);
+ PyObject *__pyx_v_fill = ((PyObject *)__pyx_int_0);
PyObject *__pyx_v_lshape = 0;
PyArrayObject *__pyx_v_npshape = 0;
PyArrayObject *__pyx_v_npoffset = 0;
@@ -9086,6 +12336,7 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
int __pyx_t_8;
int __pyx_t_9;
int __pyx_t_10;
+ int __pyx_t_11;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -9099,18 +12350,23 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
__pyx_v_from_steps = __pyx_optional_args->from_steps;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_nsteps = __pyx_optional_args->nsteps;
+ if (__pyx_optional_args->__pyx_n > 4) {
+ __pyx_v_fill = __pyx_optional_args->fill;
+ }
}
}
}
}
}
+ __Pyx_INCREF(__pyx_v_from_steps);
+ __Pyx_INCREF(__pyx_v_nsteps);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_3var_7read)) {
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_3var_9read)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
@@ -9125,7 +12381,7 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
__pyx_t_5 = 1;
}
}
- __pyx_t_6 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
@@ -9142,7 +12398,10 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
__Pyx_INCREF(__pyx_v_nsteps);
PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_5, __pyx_v_nsteps);
__Pyx_GIVEREF(__pyx_v_nsteps);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_INCREF(__pyx_v_fill);
+ PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_5, __pyx_v_fill);
+ __Pyx_GIVEREF(__pyx_v_fill);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -9154,117 +12413,192 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "adios.pyx":612
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1):
- * assert self.type is not None, 'Data type is not supported yet' # <<<<<<<<<<<<<<
- * if (self.nsteps > 0):
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ /* "adios.pyx":935
+ *
+ * """
+ * if from_steps is None: # <<<<<<<<<<<<<<
+ * from_steps = 0 ##self.file.current_step
+ *
+ */
+ __pyx_t_7 = (__pyx_v_from_steps == Py_None);
+ __pyx_t_8 = (__pyx_t_7 != 0);
+ if (__pyx_t_8) {
+
+ /* "adios.pyx":936
+ * """
+ * if from_steps is None:
+ * from_steps = 0 ##self.file.current_step # <<<<<<<<<<<<<<
+ *
+ * if nsteps is None:
+ */
+ __Pyx_INCREF(__pyx_int_0);
+ __Pyx_DECREF_SET(__pyx_v_from_steps, __pyx_int_0);
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":938
+ * from_steps = 0 ##self.file.current_step
+ *
+ * if nsteps is None: # <<<<<<<<<<<<<<
+ * nsteps = self.file.last_step - from_steps + 1
+ *
+ */
+ __pyx_t_8 = (__pyx_v_nsteps == Py_None);
+ __pyx_t_7 = (__pyx_t_8 != 0);
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":939
+ *
+ * if nsteps is None:
+ * nsteps = self.file.last_step - from_steps + 1 # <<<<<<<<<<<<<<
+ *
+ * assert self.dtype is not None, 'Data type is not supported yet'
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->file->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_from_steps); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_nsteps, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "adios.pyx":941
+ * nsteps = self.file.last_step - from_steps + 1
+ *
+ * assert self.dtype is not None, 'Data type is not supported yet' # <<<<<<<<<<<<<<
+ * if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps):
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
*/
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_7 = (__pyx_v_self->type != ((PyObject*)Py_None));
+ __pyx_t_7 = (((PyObject *)__pyx_v_self->dtype) != Py_None);
if (unlikely(!(__pyx_t_7 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Data_type_is_not_supported_yet);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios.pyx":613
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1):
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0): # <<<<<<<<<<<<<<
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ /* "adios.pyx":942
+ *
+ * assert self.dtype is not None, 'Data type is not supported yet'
+ * if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps): # <<<<<<<<<<<<<<
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
*
*/
- __pyx_t_7 = ((__pyx_v_self->nsteps > 0) != 0);
+ __pyx_t_8 = ((__pyx_v_self->nsteps > 0) != 0);
+ if (__pyx_t_8) {
+ } else {
+ __pyx_t_7 = __pyx_t_8;
+ goto __pyx_L6_bool_binop_done;
+ }
+ __pyx_t_1 = PyNumber_Add(__pyx_v_from_steps, __pyx_v_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_7 = __pyx_t_8;
+ __pyx_L6_bool_binop_done:;
if (__pyx_t_7) {
- /* "adios.pyx":614
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range' # <<<<<<<<<<<<<<
+ /* "adios.pyx":943
+ * assert self.dtype is not None, 'Data type is not supported yet'
+ * if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps):
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps)) # <<<<<<<<<<<<<<
*
* cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)]
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_1 = PyNumber_Add(__pyx_v_from_steps, __pyx_v_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_7)) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Step_index_is_out_of_range);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
- goto __pyx_L3;
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_from_steps);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_from_steps);
+ __Pyx_GIVEREF(__pyx_v_from_steps);
+ __Pyx_INCREF(__pyx_v_nsteps);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_nsteps);
+ __Pyx_GIVEREF(__pyx_v_nsteps);
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_Step_index_is_out_of_range_from, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_L3:;
- /* "adios.pyx":616
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ /* "adios.pyx":945
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
*
* cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)] # <<<<<<<<<<<<<<
* cdef np.ndarray npshape = np.array(lshape, dtype=np.int64)
*
*/
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __pyx_v_self->vp->ndim;
- for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
- __pyx_v_i = __pyx_t_9;
- __pyx_t_2 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_9 = __pyx_v_self->vp->ndim;
+ for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
+ __pyx_v_i = __pyx_t_10;
+ __pyx_t_3 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_v_lshape = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
+ __pyx_v_lshape = ((PyObject*)__pyx_t_2);
+ __pyx_t_2 = 0;
- /* "adios.pyx":617
+ /* "adios.pyx":946
*
* cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)]
* cdef np.ndarray npshape = np.array(lshape, dtype=np.int64) # <<<<<<<<<<<<<<
*
* cdef np.ndarray npoffset
*/
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_lshape);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_lshape);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_lshape);
__Pyx_GIVEREF(__pyx_v_lshape);
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npshape = ((PyArrayObject *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "adios.pyx":620
+ /* "adios.pyx":949
*
* cdef np.ndarray npoffset
* if len(offset) == 0: # <<<<<<<<<<<<<<
@@ -9273,98 +12607,98 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
*/
if (unlikely(__pyx_v_offset == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_7 = ((__pyx_t_5 == 0) != 0);
if (__pyx_t_7) {
- /* "adios.pyx":621
+ /* "adios.pyx":950
* cdef np.ndarray npoffset
* if len(offset) == 0:
* npoffset = npshape.copy() # <<<<<<<<<<<<<<
* npoffset.fill(0)
* else:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npshape), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npshape), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = NULL;
+ __pyx_t_2 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- if (__pyx_t_3) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_2) {
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
- __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npoffset = ((PyArrayObject *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "adios.pyx":622
+ /* "adios.pyx":951
* if len(offset) == 0:
* npoffset = npshape.copy()
* npoffset.fill(0) # <<<<<<<<<<<<<<
* else:
* npoffset = np.array(offset, dtype=np.int64)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npoffset), __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npoffset), __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L6;
+ goto __pyx_L10;
}
/*else*/ {
- /* "adios.pyx":624
+ /* "adios.pyx":953
* npoffset.fill(0)
* else:
* npoffset = np.array(offset, dtype=np.int64) # <<<<<<<<<<<<<<
*
* cdef np.ndarray npcount
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_offset);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_offset);
__Pyx_GIVEREF(__pyx_v_offset);
- __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npoffset = ((PyArrayObject *)__pyx_t_6);
__pyx_t_6 = 0;
}
- __pyx_L6:;
+ __pyx_L10:;
- /* "adios.pyx":627
+ /* "adios.pyx":956
*
* cdef np.ndarray npcount
* if len(count) == 0: # <<<<<<<<<<<<<<
@@ -9373,258 +12707,350 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
*/
if (unlikely(__pyx_v_count == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_count); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_count); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_7 = ((__pyx_t_5 == 0) != 0);
if (__pyx_t_7) {
- /* "adios.pyx":628
+ /* "adios.pyx":957
* cdef np.ndarray npcount
* if len(count) == 0:
* npcount = npshape - npoffset # <<<<<<<<<<<<<<
* else:
* npcount = np.array(count, dtype=np.int64)
*/
- __pyx_t_6 = PyNumber_Subtract(((PyObject *)__pyx_v_npshape), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyNumber_Subtract(((PyObject *)__pyx_v_npshape), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npcount = ((PyArrayObject *)__pyx_t_6);
__pyx_t_6 = 0;
- goto __pyx_L7;
+ goto __pyx_L11;
}
/*else*/ {
- /* "adios.pyx":630
+ /* "adios.pyx":959
* npcount = npshape - npoffset
* else:
* npcount = np.array(count, dtype=np.int64) # <<<<<<<<<<<<<<
*
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
+ * if npshape.ndim != npoffset.ndim:
*/
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_v_count);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_count);
__Pyx_GIVEREF(__pyx_v_count);
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int64); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int64); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_npcount = ((PyArrayObject *)__pyx_t_2);
- __pyx_t_2 = 0;
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_npcount = ((PyArrayObject *)__pyx_t_3);
+ __pyx_t_3 = 0;
}
- __pyx_L7:;
+ __pyx_L11:;
- /* "adios.pyx":632
+ /* "adios.pyx":961
* npcount = np.array(count, dtype=np.int64)
*
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch' # <<<<<<<<<<<<<<
- * assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.'
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ * if npshape.ndim != npoffset.ndim: # <<<<<<<<<<<<<<
+ * raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim))
+ *
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_npshape->nd == __pyx_v_npoffset->nd) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Offset_dimension_mismatch);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
+ __pyx_t_7 = ((__pyx_v_npshape->nd != __pyx_v_npoffset->nd) != 0);
+ if (__pyx_t_7) {
- /* "adios.pyx":633
+ /* "adios.pyx":962
*
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
- * assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.' # <<<<<<<<<<<<<<
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ * if npshape.ndim != npoffset.ndim:
+ * raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim)) # <<<<<<<<<<<<<<
*
+ * if npshape.ndim != npcount.ndim:
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_npshape->nd == __pyx_v_npcount->nd) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Count_dimension_mismatch);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_npoffset->nd); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Offset_dimension_mismatch_offset, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- #endif
- /* "adios.pyx":634
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
- * assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.'
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.' # <<<<<<<<<<<<<<
+ /* "adios.pyx":964
+ * raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim))
+ *
+ * if npshape.ndim != npcount.ndim: # <<<<<<<<<<<<<<
+ * raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim))
*
- * shape = list(npcount)
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_1 = PyNumber_Subtract(((PyObject *)__pyx_v_npshape), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((__pyx_v_npshape->nd != __pyx_v_npcount->nd) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":965
+ *
+ * if npshape.ndim != npcount.ndim:
+ * raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim)) # <<<<<<<<<<<<<<
+ *
+ * if (npshape < npcount + npoffset).any():
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_npcount->nd); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, ((PyObject *)__pyx_v_npcount), Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Count_dimension_mismatch_count_d, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- }
- }
- if (__pyx_t_6) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- } else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_7)) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Count_is_larger_than_shape);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":967
+ * raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim))
+ *
+ * if (npshape < npcount + npoffset).any(): # <<<<<<<<<<<<<<
+ * raise IndexError('Requested is larger than the shape.')
+ *
+ */
+ __pyx_t_1 = PyNumber_Add(((PyObject *)__pyx_v_npcount), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_npshape), __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_any); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- #endif
+ if (__pyx_t_6) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ } else {
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":968
+ *
+ * if (npshape < npcount + npoffset).any():
+ * raise IndexError('Requested is larger than the shape.') # <<<<<<<<<<<<<<
+ *
+ * shape = list(npcount)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
- /* "adios.pyx":636
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ /* "adios.pyx":970
+ * raise IndexError('Requested is larger than the shape.')
*
* shape = list(npcount) # <<<<<<<<<<<<<<
* if (nsteps > 1):
* shape.insert(0, nsteps)
*/
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(((PyObject *)__pyx_v_npcount));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_npcount));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_npcount));
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_shape = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __pyx_t_3 = PySequence_List(((PyObject *)__pyx_v_npcount)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_shape = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "adios.pyx":637
+ /* "adios.pyx":971
*
* shape = list(npcount)
* if (nsteps > 1): # <<<<<<<<<<<<<<
* shape.insert(0, nsteps)
- * cdef np.ndarray var = np.zeros(shape, dtype=self.type)
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
*/
- __pyx_t_1 = PyObject_RichCompare(__pyx_v_nsteps, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_nsteps, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_7) {
- /* "adios.pyx":638
+ /* "adios.pyx":972
* shape = list(npcount)
* if (nsteps > 1):
* shape.insert(0, nsteps) # <<<<<<<<<<<<<<
- * cdef np.ndarray var = np.zeros(shape, dtype=self.type)
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
*
*/
- __pyx_t_10 = PyList_Insert(__pyx_v_shape, 0, __pyx_v_nsteps); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- goto __pyx_L8;
+ __pyx_t_11 = PyList_Insert(__pyx_v_shape, 0, __pyx_v_nsteps); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L15;
}
- __pyx_L8:;
+ __pyx_L15:;
- /* "adios.pyx":639
+ /* "adios.pyx":973
* if (nsteps > 1):
* shape.insert(0, nsteps)
- * cdef np.ndarray var = np.zeros(shape, dtype=self.type) # <<<<<<<<<<<<<<
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype) # <<<<<<<<<<<<<<
*
- * cdef ADIOS_SELECTION * sel
+ * if len(shape) > 0:
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_shape);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape);
- __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->type)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->dtype)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_var = ((PyArrayObject *)__pyx_t_3);
- __pyx_t_3 = 0;
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_var = ((PyArrayObject *)__pyx_t_2);
+ __pyx_t_2 = 0;
- /* "adios.pyx":642
+ /* "adios.pyx":975
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
+ *
+ * if len(shape) > 0: # <<<<<<<<<<<<<<
+ * var[:] = fill
+ *
+ */
+ __pyx_t_5 = PyList_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((__pyx_t_5 > 0) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":976
+ *
+ * if len(shape) > 0:
+ * var[:] = fill # <<<<<<<<<<<<<<
+ *
+ * cdef ADIOS_SELECTION * sel
+ */
+ if (__Pyx_PyObject_SetSlice(((PyObject *)__pyx_v_var), __pyx_v_fill, 0, 0, NULL, NULL, &__pyx_slice__16, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L16;
+ }
+ __pyx_L16:;
+
+ /* "adios.pyx":979
*
* cdef ADIOS_SELECTION * sel
* sel = adios_selection_boundingbox (self.vp.ndim, <uint64_t *> npoffset.data, <uint64_t *> npcount.data) # <<<<<<<<<<<<<<
*
- * adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data)
+ * ##print 'npoffset', npoffset
*/
__pyx_v_sel = adios_selection_boundingbox(__pyx_v_self->vp->ndim, ((uint64_t *)__pyx_v_npoffset->data), ((uint64_t *)__pyx_v_npcount->data));
- /* "adios.pyx":644
- * sel = adios_selection_boundingbox (self.vp.ndim, <uint64_t *> npoffset.data, <uint64_t *> npcount.data)
+ /* "adios.pyx":984
+ * ##print 'npcount', npcount
*
* adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data) # <<<<<<<<<<<<<<
* adios_perform_reads(self.file.fp, 1)
*
*/
- __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_from_steps); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_nsteps); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- adios_schedule_read_byid(__pyx_v_self->file->fp, __pyx_v_sel, __pyx_v_self->vp->varid, __pyx_t_8, __pyx_t_9, ((void *)__pyx_v_var->data));
+ __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_from_steps); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_nsteps); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ adios_schedule_read_byid(__pyx_v_self->file->fp, __pyx_v_sel, __pyx_v_self->vp->varid, __pyx_t_9, __pyx_t_10, ((void *)__pyx_v_var->data));
- /* "adios.pyx":645
+ /* "adios.pyx":985
*
* adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data)
* adios_perform_reads(self.file.fp, 1) # <<<<<<<<<<<<<<
*
- * return var
+ * ## Try not to return as scalar to be consistent
*/
adios_perform_reads(__pyx_v_self->file->fp, 1);
- /* "adios.pyx":647
- * adios_perform_reads(self.file.fp, 1)
- *
- * return var # <<<<<<<<<<<<<<
+ /* "adios.pyx":992
+ * ##else:
+ * ## return var
+ * return np.squeeze(var) # <<<<<<<<<<<<<<
*
- * """ Print self """
+ * cpdef printself(self):
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(((PyObject *)__pyx_v_var));
- __pyx_r = ((PyObject *)__pyx_v_var);
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (!__pyx_t_6) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_var)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ } else {
+ __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
+ __Pyx_INCREF(((PyObject *)__pyx_v_var));
+ PyTuple_SET_ITEM(__pyx_t_1, 0+1, ((PyObject *)__pyx_v_var));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_var));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
- /* "adios.pyx":611
+ /* "adios.pyx":888
+ * self.nsteps = self.vp.nsteps
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0): # <<<<<<<<<<<<<<
+ * """ Perform read.
*
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1): # <<<<<<<<<<<<<<
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
*/
/* function exit code */
@@ -9643,18 +13069,22 @@ static PyObject *__pyx_f_5adios_3var_read(struct __pyx_obj_5adios_var *__pyx_v_s
__Pyx_XDECREF((PyObject *)__pyx_v_npcount);
__Pyx_XDECREF(__pyx_v_shape);
__Pyx_XDECREF((PyObject *)__pyx_v_var);
+ __Pyx_XDECREF(__pyx_v_from_steps);
+ __Pyx_XDECREF(__pyx_v_nsteps);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_5adios_3var_9read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_3var_8read[] = "var.read(self, tuple offset=(), tuple count=(), from_steps=None, nsteps=None, fill=0)\n Perform read.\n\n Read data from an ADIOS BP file. Subset reading is\n supported. Without any options, this will read out a whole\n data.\n\n Args:\n offset (tuple of int, optional): offset (default: ())\n count (tuple of int, optional): count (default: ())\n from_steps (int, optional): starting s [...]
+static PyObject *__pyx_pw_5adios_3var_9read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_offset = 0;
PyObject *__pyx_v_count = 0;
PyObject *__pyx_v_from_steps = 0;
PyObject *__pyx_v_nsteps = 0;
+ PyObject *__pyx_v_fill = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -9662,16 +13092,18 @@ static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("read (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_count,&__pyx_n_s_from_steps,&__pyx_n_s_nsteps,0};
- PyObject* values[4] = {0,0,0,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_count,&__pyx_n_s_from_steps,&__pyx_n_s_nsteps,&__pyx_n_s_fill,0};
+ PyObject* values[5] = {0,0,0,0,0};
values[0] = ((PyObject*)__pyx_empty_tuple);
values[1] = ((PyObject*)__pyx_empty_tuple);
- values[2] = ((PyObject *)__pyx_int_0);
- values[3] = ((PyObject *)__pyx_int_1);
+ values[2] = ((PyObject *)Py_None);
+ values[3] = ((PyObject *)Py_None);
+ values[4] = ((PyObject *)__pyx_int_0);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -9701,12 +13133,18 @@ static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nsteps);
if (value) { values[3] = value; kw_args--; }
}
+ case 4:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fill);
+ if (value) { values[4] = value; kw_args--; }
+ }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -9719,18 +13157,19 @@ static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__
__pyx_v_count = ((PyObject*)values[1]);
__pyx_v_from_steps = values[2];
__pyx_v_nsteps = values[3];
+ __pyx_v_fill = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read", 0, 0, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 0, 0, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios.var.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_offset), (&PyTuple_Type), 1, "offset", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_count), (&PyTuple_Type), 1, "count", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_5adios_3var_6read(((struct __pyx_obj_5adios_var *)__pyx_v_self), __pyx_v_offset, __pyx_v_count, __pyx_v_from_steps, __pyx_v_nsteps);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_offset), (&PyTuple_Type), 1, "offset", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_count), (&PyTuple_Type), 1, "count", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_5adios_3var_8read(((struct __pyx_obj_5adios_var *)__pyx_v_self), __pyx_v_offset, __pyx_v_count, __pyx_v_from_steps, __pyx_v_nsteps, __pyx_v_fill);
/* function exit code */
goto __pyx_L0;
@@ -9741,7 +13180,7 @@ static PyObject *__pyx_pw_5adios_3var_7read(PyObject *__pyx_v_self, PyObject *__
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_3var_6read(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps) {
+static PyObject *__pyx_pf_5adios_3var_8read(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps, PyObject *__pyx_v_fill) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -9751,12 +13190,13 @@ static PyObject *__pyx_pf_5adios_3var_6read(struct __pyx_obj_5adios_var *__pyx_v
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2.__pyx_n = 4;
+ __pyx_t_2.__pyx_n = 5;
__pyx_t_2.offset = __pyx_v_offset;
__pyx_t_2.count = __pyx_v_count;
__pyx_t_2.from_steps = __pyx_v_from_steps;
__pyx_t_2.nsteps = __pyx_v_nsteps;
- __pyx_t_1 = __pyx_vtabptr_5adios_var->read(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2.fill = __pyx_v_fill;
+ __pyx_t_1 = __pyx_vtabptr_5adios_var->read(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -9773,15 +13213,15 @@ static PyObject *__pyx_pf_5adios_3var_6read(struct __pyx_obj_5adios_var *__pyx_v
return __pyx_r;
}
-/* "adios.pyx":650
+/* "adios.pyx":994
+ * return np.squeeze(var)
*
- * """ Print self """
* cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable'
- * print '=== AdiosVariable ==='
*/
-static PyObject *__pyx_pw_5adios_3var_9printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_11printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__pyx_v_self, int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -9797,9 +13237,9 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_3var_9printself)) {
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5adios_3var_11printself)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
@@ -9813,10 +13253,10 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -9828,9 +13268,9 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "adios.pyx":651
- * """ Print self """
+ /* "adios.pyx":996
* cpdef printself(self):
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable' # <<<<<<<<<<<<<<
* print '=== AdiosVariable ==='
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
@@ -9839,30 +13279,30 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_variable);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios.pyx":652
- * cpdef printself(self):
+ /* "adios.pyx":997
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable'
* print '=== AdiosVariable ===' # <<<<<<<<<<<<<<
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
*/
- if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosVariable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosVariable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":653
+ /* "adios.pyx":998
* assert self.vp != NULL, 'Not an open variable'
* print '=== AdiosVariable ==='
* print '%15s : %lu' % ('vp', <unsigned long> self.vp) # <<<<<<<<<<<<<<
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
* printvar(self.vp)
*/
- __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->vp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->vp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_vp);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_vp);
@@ -9870,22 +13310,22 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":654
+ /* "adios.pyx":999
* print '=== AdiosVariable ==='
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp) # <<<<<<<<<<<<<<
* printvar(self.vp)
*
*/
- __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->file->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->file->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_fp);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fp);
@@ -9893,29 +13333,29 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":655
+ /* "adios.pyx":1000
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
* printvar(self.vp) # <<<<<<<<<<<<<<
*
- * ## ====================
+ * def __repr__(self):
*/
- __pyx_t_1 = __pyx_f_5adios_printvar(__pyx_v_self->vp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_printvar(__pyx_v_self->vp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":650
+ /* "adios.pyx":994
+ * return np.squeeze(var)
*
- * """ Print self """
* cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable'
- * print '=== AdiosVariable ==='
*/
/* function exit code */
@@ -9935,19 +13375,20 @@ static PyObject *__pyx_f_5adios_3var_printself(struct __pyx_obj_5adios_var *__py
}
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_9printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_9printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_5adios_3var_11printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_3var_10printself[] = "var.printself(self)\n Print native ADIOS_VARINFO structure. ";
+static PyObject *__pyx_pw_5adios_3var_11printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("printself (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_8printself(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+ __pyx_r = __pyx_pf_5adios_3var_10printself(((struct __pyx_obj_5adios_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_3var_8printself(struct __pyx_obj_5adios_var *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_3var_10printself(struct __pyx_obj_5adios_var *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -9956,7 +13397,7 @@ static PyObject *__pyx_pf_5adios_3var_8printself(struct __pyx_obj_5adios_var *__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("printself", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_5adios_3var_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_5adios_3var_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -9973,416 +13414,1367 @@ static PyObject *__pyx_pf_5adios_3var_8printself(struct __pyx_obj_5adios_var *__
return __pyx_r;
}
-/* "adios.pyx":578
+/* "adios.pyx":1002
+ * printvar(self.vp)
*
- * """ Public Memeber """
- * cpdef public bytes name # <<<<<<<<<<<<<<
- * cpdef public int varid
- * cpdef public type type
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid,
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_4name_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_3var_13__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_13__repr__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4name___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_12__repr__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_3var_4name___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_3var_12__repr__(struct __pyx_obj_5adios_var *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios.pyx":1003
+ *
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.varid,
+ * self.dtype,
+ */
__Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->name);
- __pyx_r = __pyx_v_self->name;
- goto __pyx_L0;
- /* function exit code */
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":1004
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid, # <<<<<<<<<<<<<<
+ * self.dtype,
+ * self.ndim,
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_3var_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4name_2__set__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ /* "adios.pyx":1006
+ * (self.varid,
+ * self.dtype,
+ * self.ndim, # <<<<<<<<<<<<<<
+ * self.dims,
+ * self.nsteps)
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":1008
+ * self.ndim,
+ * self.dims,
+ * self.nsteps) # <<<<<<<<<<<<<<
+ *
+ * def __getitem__(self, index):
+ */
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
-static int __pyx_pf_5adios_3var_4name_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyBytes_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
+ /* "adios.pyx":1004
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid, # <<<<<<<<<<<<<<
+ * self.dtype,
+ * self.ndim,
+ */
+ __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self->dtype));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self->dtype));
+ PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_v_self->dims);
+ PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_self->dims);
+ __Pyx_GIVEREF(__pyx_v_self->dims);
+ PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
__pyx_t_1 = 0;
+ __pyx_t_2 = 0;
+ __pyx_t_3 = 0;
- /* function exit code */
- __pyx_r = 0;
+ /* "adios.pyx":1003
+ *
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.varid,
+ * self.dtype,
+ */
+ __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_AdiosVar_varid_r_dtype_r_ndim_r, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.var.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_5adios_3var_4name_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4name_4__del__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static int __pyx_pf_5adios_3var_4name_4__del__(struct __pyx_obj_5adios_var *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)Py_None);
+ /* "adios.pyx":1002
+ * printvar(self.vp)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid,
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios.var.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":579
- * """ Public Memeber """
- * cpdef public bytes name
- * cpdef public int varid # <<<<<<<<<<<<<<
- * cpdef public type type
- * cpdef public int ndim
+/* "adios.pyx":1010
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_5varid_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_5varid_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_3var_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/
+static PyObject *__pyx_pw_5adios_3var_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_5varid___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_3var_14__getitem__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_index));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+static PyObject *__pyx_gb_5adios_3var_11__getitem___2generator(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value); /* proto */
-static PyObject *__pyx_pf_5adios_3var_5varid___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+/* "adios.pyx":1031
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+
+static PyObject *__pyx_pf_5adios_3var_11__getitem___genexpr(PyObject *__pyx_self) {
+ struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __Pyx_RefNannySetupContext("genexpr", 0);
+ __pyx_cur_scope = (struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *)__pyx_tp_new_5adios___pyx_scope_struct_1_genexpr(__pyx_ptype_5adios___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
+ if (unlikely(!__pyx_cur_scope)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_cur_scope);
+ __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *) __pyx_self;
+ __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
+ {
+ __pyx_GeneratorObject *gen = __Pyx_Generator_New((__pyx_generator_body_t) __pyx_gb_5adios_3var_11__getitem___2generator, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_getitem___locals_genexpr); if (unlikely(!gen)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_cur_scope);
+ __Pyx_RefNannyFinishContext();
+ return (PyObject *) gen;
+ }
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.var.varid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.var.__getitem__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
- __pyx_L0:;
+ __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_5varid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_3var_5varid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_5varid_2__set__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_5adios_3var_5varid_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
+static PyObject *__pyx_gb_5adios_3var_11__getitem___2generator(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */
+{
+ struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
+ PyObject *__pyx_r = NULL;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ Py_ssize_t __pyx_t_3;
+ PyObject *(*__pyx_t_4)(PyObject *);
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->varid = __pyx_t_1;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios.var.varid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "adios.pyx":580
- * cpdef public bytes name
- * cpdef public int varid
- * cpdef public type type # <<<<<<<<<<<<<<
- * cpdef public int ndim
- * cpdef public tuple dims
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_4type_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4type___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("None", 0);
+ switch (__pyx_generator->resume_label) {
+ case 0: goto __pyx_L3_first_run;
+ case 1: goto __pyx_L6_resume_from_yield;
+ default: /* CPython raises the right error here */
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __pyx_L3_first_run:;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_)) { __Pyx_RaiseClosureNameError("index_"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_)) { __Pyx_RaiseClosureNameError("dims_"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
+ __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
+ __pyx_t_4 = NULL;
+ } else {
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_4)) {
+ if (likely(PyList_CheckExact(__pyx_t_1))) {
+ if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_2 = __pyx_t_4(__pyx_t_1);
+ if (unlikely(!__pyx_t_2)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ }
+ __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x);
+ __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_indices); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
+ } else {
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ __pyx_t_5 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_XGIVEREF(__pyx_t_1);
+ __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
+ __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
+ __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ /* return from generator, yielding value */
+ __pyx_generator->resume_label = 1;
+ return __pyx_r;
+ __pyx_L6_resume_from_yield:;
+ __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
+ __pyx_cur_scope->__pyx_t_0 = 0;
+ __Pyx_XGOTREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
+ __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_5adios_3var_4type___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(((PyObject *)__pyx_v_self->type));
- __pyx_r = ((PyObject *)__pyx_v_self->type);
+ PyErr_SetNone(PyExc_StopIteration);
goto __pyx_L0;
-
- /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_generator->resume_label = -1;
+ __Pyx_Generator_clear((PyObject*)__pyx_generator);
__Pyx_RefNannyFinishContext();
- return __pyx_r;
+ return NULL;
}
+static PyObject *__pyx_gb_5adios_3var_11__getitem___5generator1(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value); /* proto */
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_3var_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4type_2__set__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+/* "adios.pyx":1039
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
-static int __pyx_pf_5adios_3var_4type_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_5adios_3var_11__getitem___3genexpr(PyObject *__pyx_self) {
+ struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyType_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->type);
- __Pyx_DECREF(((PyObject *)__pyx_v_self->type));
- __pyx_v_self->type = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_RefNannySetupContext("genexpr", 0);
+ __pyx_cur_scope = (struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *)__pyx_tp_new_5adios___pyx_scope_struct_2_genexpr(__pyx_ptype_5adios___pyx_scope_struct_2_genexpr, __pyx_empty_tuple, NULL);
+ if (unlikely(!__pyx_cur_scope)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_cur_scope);
+ __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *) __pyx_self;
+ __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
+ {
+ __pyx_GeneratorObject *gen = __Pyx_Generator_New((__pyx_generator_body_t) __pyx_gb_5adios_3var_11__getitem___5generator1, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_getitem___locals_genexpr); if (unlikely(!gen)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_cur_scope);
+ __Pyx_RefNannyFinishContext();
+ return (PyObject *) gen;
+ }
/* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.var.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_4type_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_5adios_3var_4type_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4type_4__del__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_5adios_3var_4type_4__del__(struct __pyx_obj_5adios_var *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->type);
- __Pyx_DECREF(((PyObject *)__pyx_v_self->type));
- __pyx_v_self->type = ((PyObject*)Py_None);
-
- /* function exit code */
- __pyx_r = 0;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "adios.pyx":581
- * cpdef public int varid
- * cpdef public type type
- * cpdef public int ndim # <<<<<<<<<<<<<<
- * cpdef public tuple dims
- * cpdef public int nsteps
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_4ndim_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4ndim___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
-
- /* function exit code */
+ __Pyx_AddTraceback("adios.var.__getitem__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_3var_4ndim___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+static PyObject *__pyx_gb_5adios_3var_11__getitem___5generator1(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */
+{
+ struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ Py_ssize_t __pyx_t_3;
+ PyObject *(*__pyx_t_4)(PyObject *);
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("None", 0);
+ switch (__pyx_generator->resume_label) {
+ case 0: goto __pyx_L3_first_run;
+ case 1: goto __pyx_L6_resume_from_yield;
+ default: /* CPython raises the right error here */
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __pyx_L3_first_run:;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_)) { __Pyx_RaiseClosureNameError("index_"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->dims);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->dims);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->dims);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
+ __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
+ __pyx_t_4 = NULL;
+ } else {
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_4)) {
+ if (likely(PyList_CheckExact(__pyx_t_1))) {
+ if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_2 = __pyx_t_4(__pyx_t_1);
+ if (unlikely(!__pyx_t_2)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ }
+ __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x);
+ __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_indices); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
+ } else {
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ __pyx_t_5 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_XGIVEREF(__pyx_t_1);
+ __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
+ __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
+ __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ /* return from generator, yielding value */
+ __pyx_generator->resume_label = 1;
+ return __pyx_r;
+ __pyx_L6_resume_from_yield:;
+ __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
+ __pyx_cur_scope->__pyx_t_0 = 0;
+ __Pyx_XGOTREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
+ __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* function exit code */
+ PyErr_SetNone(PyExc_StopIteration);
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.var.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_generator->resume_label = -1;
+ __Pyx_Generator_clear((PyObject*)__pyx_generator);
__Pyx_RefNannyFinishContext();
- return __pyx_r;
+ return NULL;
}
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_4ndim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_3var_4ndim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4ndim_2__set__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+/* "adios.pyx":1010
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
+ */
-static int __pyx_pf_5adios_3var_4ndim_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_5adios_3var_14__getitem__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_index) {
+ struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *__pyx_cur_scope;
+ PyObject *__pyx_v_ndim_ = NULL;
+ PyObject *__pyx_v_slice_ = NULL;
+ PyObject *__pyx_v_indices = NULL;
+ PyObject *__pyx_v_z = NULL;
+ PyObject *__pyx_v_from_steps_ = NULL;
+ PyObject *__pyx_v_nsteps_ = NULL;
+ PyObject *__pyx_v_offset_ = NULL;
+ PyObject *__pyx_v_count_ = NULL;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ Py_ssize_t __pyx_t_4;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *(*__pyx_t_6)(PyObject *);
+ int __pyx_t_7;
+ int __pyx_t_8;
+ PyObject *__pyx_t_9 = NULL;
+ int __pyx_t_10;
+ PyObject *__pyx_t_11 = NULL;
+ PyObject *__pyx_t_12 = NULL;
+ PyObject *__pyx_t_13 = NULL;
+ struct __pyx_opt_args_5adios_3var_read __pyx_t_14;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->ndim = __pyx_t_1;
+ __Pyx_RefNannySetupContext("__getitem__", 0);
+ __pyx_cur_scope = (struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)__pyx_tp_new_5adios___pyx_scope_struct____getitem__(__pyx_ptype_5adios___pyx_scope_struct____getitem__, __pyx_empty_tuple, NULL);
+ if (unlikely(!__pyx_cur_scope)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_cur_scope);
+ __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
+ __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
+ __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios.var.ndim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios.pyx":1011
+ *
+ * def __getitem__(self, index):
+ * ndim_ = self.ndim # <<<<<<<<<<<<<<
+ * if (self.nsteps) > 1: ndim_ += 1
+ *
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_v_ndim_ = __pyx_t_1;
+ __pyx_t_1 = 0;
-/* "adios.pyx":582
- * cpdef public type type
- * cpdef public int ndim
- * cpdef public tuple dims # <<<<<<<<<<<<<<
- * cpdef public int nsteps
+ /* "adios.pyx":1012
+ * def __getitem__(self, index):
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1 # <<<<<<<<<<<<<<
*
+ * index_ = __parse_index(index, ndim_)
*/
+ __pyx_t_2 = ((__pyx_cur_scope->__pyx_v_self->nsteps > 1) != 0);
+ if (__pyx_t_2) {
+ __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_ndim_, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF_SET(__pyx_v_ndim_, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
-/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_4dims_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_4dims_1__get__(PyObject *__pyx_v_self) {
+ /* "adios.pyx":1014
+ * if (self.nsteps) > 1: ndim_ += 1
+ *
+ * index_ = __parse_index(index, ndim_) # <<<<<<<<<<<<<<
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_):
+ */
+ __pyx_t_1 = __pyx_f_5adios___parse_index(__pyx_v_index, __pyx_v_ndim_, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_cur_scope->__pyx_v_index_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1016
+ * index_ = __parse_index(index, ndim_)
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_): # <<<<<<<<<<<<<<
+ * raise IndexError("Too many indices for data")
+ *
+ */
+ __pyx_t_1 = PyObject_RichCompare(__pyx_v_ndim_, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__pyx_t_3) {
+ } else {
+ __pyx_t_2 = __pyx_t_3;
+ goto __pyx_L5_bool_binop_done;
+ }
+ __pyx_t_1 = __pyx_cur_scope->__pyx_v_index_;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_4 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_ndim_, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_2 = __pyx_t_3;
+ __pyx_L5_bool_binop_done:;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":1017
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ */
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":1019
+ * raise IndexError("Too many indices for data")
+ *
+ * if (ndim_ == 0) and (len(index_) > 1): # <<<<<<<<<<<<<<
+ * raise IndexError("Too many indices for data")
+ *
+ */
+ __pyx_t_5 = PyObject_RichCompare(__pyx_v_ndim_, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (__pyx_t_3) {
+ } else {
+ __pyx_t_2 = __pyx_t_3;
+ goto __pyx_L8_bool_binop_done;
+ }
+ __pyx_t_5 = __pyx_cur_scope->__pyx_v_index_;
+ __Pyx_INCREF(__pyx_t_5);
+ __pyx_t_4 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_3 = ((__pyx_t_4 > 1) != 0);
+ __pyx_t_2 = __pyx_t_3;
+ __pyx_L8_bool_binop_done:;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":1020
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * for slice_ in index_:
+ */
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":1022
+ * raise IndexError("Too many indices for data")
+ *
+ * for slice_ in index_: # <<<<<<<<<<<<<<
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ */
+ if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_index_)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_index_)) {
+ __pyx_t_5 = __pyx_cur_scope->__pyx_v_index_; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
+ __pyx_t_6 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_index_); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ for (;;) {
+ if (likely(!__pyx_t_6)) {
+ if (likely(PyList_CheckExact(__pyx_t_5))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_1 = __pyx_t_6(__pyx_t_5);
+ if (unlikely(!__pyx_t_1)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_slice_, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1023
+ *
+ * for slice_ in index_:
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1): # <<<<<<<<<<<<<<
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ * if isinstance(slice_, str):
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_slice_, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_7 = PyInt_Check(__pyx_t_1);
+ __pyx_t_8 = (__pyx_t_7 != 0);
+ if (!__pyx_t_8) {
+ } else {
+ __pyx_t_3 = __pyx_t_8;
+ goto __pyx_L15_bool_binop_done;
+ }
+ __pyx_t_8 = PyLong_Check(__pyx_t_1);
+ __pyx_t_7 = (__pyx_t_8 != 0);
+ __pyx_t_3 = __pyx_t_7;
+ __pyx_L15_bool_binop_done:;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = (__pyx_t_3 != 0);
+ if (__pyx_t_7) {
+ } else {
+ __pyx_t_2 = __pyx_t_7;
+ goto __pyx_L13_bool_binop_done;
+ }
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_slice_, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = PyObject_RichCompare(__pyx_t_1, __pyx_int_1, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_2 = __pyx_t_7;
+ __pyx_L13_bool_binop_done:;
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":1024
+ * for slice_ in index_:
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step)) # <<<<<<<<<<<<<<
+ * if isinstance(slice_, str):
+ * raise IndexError("Name index (%r) is not supported." % (slice_))
+ */
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_slice_, __pyx_n_s_step); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Step_size_d_is_not_supported, __pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":1025
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ * if isinstance(slice_, str): # <<<<<<<<<<<<<<
+ * raise IndexError("Name index (%r) is not supported." % (slice_))
+ *
+ */
+ __pyx_t_2 = PyString_Check(__pyx_v_slice_);
+ __pyx_t_7 = (__pyx_t_2 != 0);
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":1026
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ * if isinstance(slice_, str):
+ * raise IndexError("Name index (%r) is not supported." % (slice_)) # <<<<<<<<<<<<<<
+ *
+ * if (self.nsteps) > 1:
+ */
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Name_index_r_is_not_supported, __pyx_v_slice_); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":1022
+ * raise IndexError("Too many indices for data")
+ *
+ * for slice_ in index_: # <<<<<<<<<<<<<<
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ */
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios.pyx":1028
+ * raise IndexError("Name index (%r) is not supported." % (slice_))
+ *
+ * if (self.nsteps) > 1: # <<<<<<<<<<<<<<
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ */
+ __pyx_t_7 = ((__pyx_cur_scope->__pyx_v_self->nsteps > 1) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":1029
+ *
+ * if (self.nsteps) > 1:
+ * dims_ = list(self.dims) # <<<<<<<<<<<<<<
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ */
+ __pyx_t_5 = PySequence_List(__pyx_cur_scope->__pyx_v_self->dims); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ __pyx_cur_scope->__pyx_v_dims_ = ((PyObject*)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios.pyx":1030
+ * if (self.nsteps) > 1:
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps) # <<<<<<<<<<<<<<
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ * z = zip(*indices)
+ */
+ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_10 = PyList_Insert(__pyx_cur_scope->__pyx_v_dims_, 0, __pyx_t_5); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios.pyx":1031
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+ __pyx_t_5 = __pyx_pf_5adios_3var_11__getitem___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_1 = PySequence_Tuple(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_indices = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1032
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ * z = zip(*indices) # <<<<<<<<<<<<<<
+ *
+ * from_steps_ = z[0][0]
+ */
+ __pyx_t_1 = PySequence_Tuple(__pyx_v_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_z = __pyx_t_5;
+ __pyx_t_5 = 0;
+
+ /* "adios.pyx":1034
+ * z = zip(*indices)
+ *
+ * from_steps_ = z[0][0] # <<<<<<<<<<<<<<
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:]
+ */
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_from_steps_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1035
+ *
+ * from_steps_ = z[0][0]
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1 # <<<<<<<<<<<<<<
+ * offset_ = z[0][1:]
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ */
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = PyNumber_Remainder(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_nsteps_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1036
+ * from_steps_ = z[0][0]
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:] # <<<<<<<<<<<<<<
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ */
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_1, 1, 0, NULL, NULL, &__pyx_slice__19, 1, 0, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_offset_ = __pyx_t_5;
+ __pyx_t_5 = 0;
+
+ /* "adios.pyx":1037
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:]
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1) # <<<<<<<<<<<<<<
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_subtract); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_11 = __Pyx_PyObject_GetSlice(__pyx_t_1, 1, 0, NULL, NULL, &__pyx_slice__20, 1, 0, 1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_12 = __Pyx_PyObject_GetSlice(__pyx_t_1, 1, 0, NULL, NULL, &__pyx_slice__21, 1, 0, 1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ __pyx_t_4 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_9, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ __pyx_t_13 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ if (__pyx_t_1) {
+ PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = NULL;
+ }
+ PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_4, __pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_4, __pyx_t_12);
+ __Pyx_GIVEREF(__pyx_t_12);
+ __pyx_t_11 = 0;
+ __pyx_t_12 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_5, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyList_GetSlice(__pyx_cur_scope->__pyx_v_dims_, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_13 = PyNumber_Remainder(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = PyNumber_Add(__pyx_t_13, __pyx_int_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_t_13 = PySequence_Tuple(__pyx_t_5); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_count_ = ((PyObject*)__pyx_t_13);
+ __pyx_t_13 = 0;
+ goto __pyx_L18;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1039
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+ __pyx_t_13 = __pyx_pf_5adios_3var_11__getitem___3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_t_5 = PySequence_Tuple(__pyx_t_13); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_v_indices = ((PyObject*)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios.pyx":1040
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ * z = zip(*indices) # <<<<<<<<<<<<<<
+ *
+ * if len(z) == 0:
+ */
+ __pyx_t_5 = PySequence_Tuple(__pyx_v_indices); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_z = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios.pyx":1042
+ * z = zip(*indices)
+ *
+ * if len(z) == 0: # <<<<<<<<<<<<<<
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_z); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((__pyx_t_4 == 0) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios.pyx":1043
+ *
+ * if len(z) == 0:
+ * from_steps_ = 0 # <<<<<<<<<<<<<<
+ * nsteps_ = self.nsteps
+ * offset_ = ()
+ */
+ __Pyx_INCREF(__pyx_int_0);
+ __pyx_v_from_steps_ = __pyx_int_0;
+
+ /* "adios.pyx":1044
+ * if len(z) == 0:
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps # <<<<<<<<<<<<<<
+ * offset_ = ()
+ * count_ = ()
+ */
+ __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_v_nsteps_ = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios.pyx":1045
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps
+ * offset_ = () # <<<<<<<<<<<<<<
+ * count_ = ()
+ * else:
+ */
+ __Pyx_INCREF(__pyx_empty_tuple);
+ __pyx_v_offset_ = __pyx_empty_tuple;
+
+ /* "adios.pyx":1046
+ * nsteps_ = self.nsteps
+ * offset_ = ()
+ * count_ = () # <<<<<<<<<<<<<<
+ * else:
+ * from_steps_ = 0
+ */
+ __Pyx_INCREF(__pyx_empty_tuple);
+ __pyx_v_count_ = __pyx_empty_tuple;
+ goto __pyx_L19;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1048
+ * count_ = ()
+ * else:
+ * from_steps_ = 0 # <<<<<<<<<<<<<<
+ * nsteps_ = self.nsteps
+ * offset_ = z[0]
+ */
+ __Pyx_INCREF(__pyx_int_0);
+ __pyx_v_from_steps_ = __pyx_int_0;
+
+ /* "adios.pyx":1049
+ * else:
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps # <<<<<<<<<<<<<<
+ * offset_ = z[0]
+ * count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1)
+ */
+ __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_v_nsteps_ = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios.pyx":1050
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps
+ * offset_ = z[0] # <<<<<<<<<<<<<<
+ * count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1)
+ *
+ */
+ __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_13 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_v_offset_ = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios.pyx":1051
+ * nsteps_ = self.nsteps
+ * offset_ = z[0]
+ * count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1) # <<<<<<<<<<<<<<
+ *
+ * ##print "from_steps", from_steps_
+ */
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_subtract); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_11 = NULL;
+ __pyx_t_4 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
+ if (likely(__pyx_t_11)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_9, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ __pyx_t_1 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (__pyx_t_11) {
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL;
+ }
+ PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_4, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_4, __pyx_t_12);
+ __Pyx_GIVEREF(__pyx_t_12);
+ __pyx_t_5 = 0;
+ __pyx_t_12 = 0;
+ __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_1, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_13, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_t_13 = PyNumber_Remainder(__pyx_t_9, __pyx_cur_scope->__pyx_v_self->dims); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Add(__pyx_t_13, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_t_13 = PySequence_Tuple(__pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_v_count_ = ((PyObject*)__pyx_t_13);
+ __pyx_t_13 = 0;
+ }
+ __pyx_L19:;
+ }
+ __pyx_L18:;
+
+ /* "adios.pyx":1058
+ * ##print "count", count_
+ *
+ * return self.read(offset=offset_, # <<<<<<<<<<<<<<
+ * count=count_,
+ * from_steps=from_steps_,
+ */
+ __Pyx_XDECREF(__pyx_r);
+ if (!(likely(PyTuple_CheckExact(__pyx_v_offset_))||((__pyx_v_offset_) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_offset_)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":1061
+ * count=count_,
+ * from_steps=from_steps_,
+ * nsteps=nsteps_) # <<<<<<<<<<<<<<
+ *
+ * cdef class attr:
+ */
+ __pyx_t_14.__pyx_n = 4;
+ __pyx_t_14.offset = ((PyObject*)__pyx_v_offset_);
+ __pyx_t_14.count = __pyx_v_count_;
+ __pyx_t_14.from_steps = __pyx_v_from_steps_;
+ __pyx_t_14.nsteps = __pyx_v_nsteps_;
+ __pyx_t_13 = ((struct __pyx_vtabstruct_5adios_var *)__pyx_cur_scope->__pyx_v_self->__pyx_vtab)->read(__pyx_cur_scope->__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_r = __pyx_t_13;
+ __pyx_t_13 = 0;
+ goto __pyx_L0;
+
+ /* "adios.pyx":1010
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_11);
+ __Pyx_XDECREF(__pyx_t_12);
+ __Pyx_XDECREF(__pyx_t_13);
+ __Pyx_AddTraceback("adios.var.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_ndim_);
+ __Pyx_XDECREF(__pyx_v_slice_);
+ __Pyx_XDECREF(__pyx_v_indices);
+ __Pyx_XDECREF(__pyx_v_z);
+ __Pyx_XDECREF(__pyx_v_from_steps_);
+ __Pyx_XDECREF(__pyx_v_nsteps_);
+ __Pyx_XDECREF(__pyx_v_offset_);
+ __Pyx_XDECREF(__pyx_v_count_);
+ __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1085
+ * property name:
+ * """ The attribute name """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_4attr_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4attr_4name_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4dims___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+ __pyx_r = __pyx_pf_5adios_4attr_4name___get__(((struct __pyx_obj_5adios_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_3var_4dims___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4attr_4name___get__(struct __pyx_obj_5adios_attr *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":1086
+ * """ The attribute name """
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property dtype:
+ */
__Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->dims);
- __pyx_r = __pyx_v_self->dims;
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
goto __pyx_L0;
+ /* "adios.pyx":1085
+ * property name:
+ * """ The attribute name """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
+ *
+ */
+
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -10390,181 +14782,133 @@ static PyObject *__pyx_pf_5adios_3var_4dims___get__(struct __pyx_obj_5adios_var
return __pyx_r;
}
+/* "adios.pyx":1090
+ * property dtype:
+ * """ The attribute type as in numpy.dtype """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
/* Python wrapper */
-static int __pyx_pw_5adios_3var_4dims_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_3var_4dims_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_5adios_4attr_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4attr_5dtype_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4dims_2__set__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4attr_5dtype___get__(((struct __pyx_obj_5adios_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_5adios_3var_4dims_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_5adios_4attr_5dtype___get__(struct __pyx_obj_5adios_attr *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->dims);
- __Pyx_DECREF(__pyx_v_self->dims);
- __pyx_v_self->dims = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* function exit code */
- __pyx_r = 0;
+ /* "adios.pyx":1091
+ * """ The attribute type as in numpy.dtype """
+ * def __get__(self):
+ * return self.dtype # <<<<<<<<<<<<<<
+ *
+ * property value:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_r = ((PyObject *)__pyx_v_self->dtype);
goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.var.dims.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_4dims_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_5adios_3var_4dims_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_4dims_4__del__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static int __pyx_pf_5adios_3var_4dims_4__del__(struct __pyx_obj_5adios_var *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->dims);
- __Pyx_DECREF(__pyx_v_self->dims);
- __pyx_v_self->dims = ((PyObject*)Py_None);
+ /* "adios.pyx":1090
+ * property dtype:
+ * """ The attribute type as in numpy.dtype """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":583
- * cpdef public int ndim
- * cpdef public tuple dims
- * cpdef public int nsteps # <<<<<<<<<<<<<<
+/* "adios.pyx":1095
+ * property value:
+ * """ The attribute's value """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
*
- * """ Initialization. Call adios_inq_var and populate public members """
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_3var_6nsteps_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_5adios_3var_6nsteps_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_5adios_4attr_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4attr_5value_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_6nsteps___get__(((struct __pyx_obj_5adios_var *)__pyx_v_self));
+ __pyx_r = __pyx_pf_5adios_4attr_5value___get__(((struct __pyx_obj_5adios_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_3var_6nsteps___get__(struct __pyx_obj_5adios_var *__pyx_v_self) {
+static PyObject *__pyx_pf_5adios_4attr_5value___get__(struct __pyx_obj_5adios_attr *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":1096
+ * """ The attribute's value """
+ * def __get__(self):
+ * return self.value # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, file file, char * name):
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->value));
+ __pyx_r = ((PyObject *)__pyx_v_self->value);
goto __pyx_L0;
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios.var.nsteps.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_5adios_3var_6nsteps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_5adios_3var_6nsteps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_3var_6nsteps_2__set__(((struct __pyx_obj_5adios_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_5adios_3var_6nsteps_2__set__(struct __pyx_obj_5adios_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->nsteps = __pyx_t_1;
+ /* "adios.pyx":1095
+ * property value:
+ * """ The attribute's value """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
+ *
+ */
/* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios.var.nsteps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":661
- * ## ====================
+/* "adios.pyx":1098
+ * return self.value
*
- * def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * if not f.var.has_key(varname):
+ * def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
+ * self.file = file
+ * self.name = name
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_39readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_5adios_39readvar = {"readvar", (PyCFunction)__pyx_pw_5adios_39readvar, METH_VARARGS|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_5adios_39readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_fname = 0;
- PyObject *__pyx_v_varname = 0;
+static int __pyx_pw_5adios_4attr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_5adios_4attr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ struct __pyx_obj_5adios_file *__pyx_v_file = 0;
+ char *__pyx_v_name;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("readvar (wrapper)", 0);
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_varname,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_name,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -10578,16 +14922,16 @@ static PyObject *__pyx_pw_5adios_39readvar(PyObject *__pyx_self, PyObject *__pyx
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_file)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
case 1:
- if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readvar") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -10595,2373 +14939,3297 @@ static PyObject *__pyx_pw_5adios_39readvar(PyObject *__pyx_self, PyObject *__pyx
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_fname = values[0];
- __pyx_v_varname = values[1];
+ __pyx_v_file = ((struct __pyx_obj_5adios_file *)values[0]);
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
- __Pyx_AddTraceback("adios.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.attr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
- return NULL;
+ return -1;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5adios_38readvar(__pyx_self, __pyx_v_fname, __pyx_v_varname);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_5adios_file, 1, "file", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_5adios_4attr___init__(((struct __pyx_obj_5adios_attr *)__pyx_v_self), __pyx_v_file, __pyx_v_name);
/* function exit code */
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __pyx_r = -1;
+ __pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_38readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname) {
- struct __pyx_obj_5adios_file *__pyx_v_f = NULL;
- PyObject *__pyx_v_v = NULL;
- PyObject *__pyx_r = NULL;
+static int __pyx_pf_5adios_4attr___init__(struct __pyx_obj_5adios_attr *__pyx_v_self, struct __pyx_obj_5adios_file *__pyx_v_file, char *__pyx_v_name) {
+ int64_t __pyx_v_p;
+ ADIOS_DATATYPES __pyx_v_atype;
+ int __pyx_v_bytes;
+ PyObject *__pyx_v_strlist = 0;
+ int __pyx_v_len;
+ int __pyx_v_err;
+ int __pyx_v_i;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_t_4;
- int __pyx_t_5;
+ char const *__pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ struct __pyx_opt_args_5adios_adios2npdtype __pyx_t_6;
+ size_t __pyx_t_7;
+ int __pyx_t_8;
+ int __pyx_t_9;
+ int __pyx_t_10;
+ PyObject *__pyx_t_11 = NULL;
+ int __pyx_t_12;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("readvar", 0);
+ __Pyx_RefNannySetupContext("__init__", 0);
- /* "adios.pyx":662
+ /* "adios.pyx":1099
*
- * def readvar(fname, varname):
- * f = file(fname, comm=MPI_COMM_SELF) # <<<<<<<<<<<<<<
- * if not f.var.has_key(varname):
- * print "No valid variable"
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_v_fname);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
- __Pyx_GIVEREF(__pyx_v_fname);
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMM_SELF); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_f = ((struct __pyx_obj_5adios_file *)__pyx_t_3);
- __pyx_t_3 = 0;
-
- /* "adios.pyx":663
- * def readvar(fname, varname):
- * f = file(fname, comm=MPI_COMM_SELF)
- * if not f.var.has_key(varname): # <<<<<<<<<<<<<<
- * print "No valid variable"
- * return
- */
- if (unlikely(__pyx_v_f->var == Py_None)) {
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_4 = PyDict_Contains(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0);
- if (__pyx_t_5) {
-
- /* "adios.pyx":664
- * f = file(fname, comm=MPI_COMM_SELF)
- * if not f.var.has_key(varname):
- * print "No valid variable" # <<<<<<<<<<<<<<
- * return
+ * def __init__(self, file file, char * name):
+ * self.file = file # <<<<<<<<<<<<<<
+ * self.name = name
*
*/
- if (__Pyx_PrintOne(0, __pyx_kp_s_No_valid_variable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_INCREF(((PyObject *)__pyx_v_file));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_file));
+ __Pyx_GOTREF(__pyx_v_self->file);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->file));
+ __pyx_v_self->file = __pyx_v_file;
- /* "adios.pyx":665
- * if not f.var.has_key(varname):
- * print "No valid variable"
- * return # <<<<<<<<<<<<<<
+ /* "adios.pyx":1100
+ * def __init__(self, file file, char * name):
+ * self.file = file
+ * self.name = name # <<<<<<<<<<<<<<
*
- * v = f.var[varname]
+ * cdef int64_t p
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
- }
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "adios.pyx":667
- * return
+ /* "adios.pyx":1108
+ * cdef int len
*
- * v = f.var[varname] # <<<<<<<<<<<<<<
- * return v.read(from_steps=0, nsteps=v.nsteps)
+ * err = adios_get_attr(self.file.fp, self.name, &atype, &bytes, <void **> &p) # <<<<<<<<<<<<<<
*
+ * if err == 0:
*/
- if (unlikely(__pyx_v_f->var == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_v = __pyx_t_3;
- __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_err = adios_get_attr(__pyx_v_self->file->fp, __pyx_t_2, (&__pyx_v_atype), (&__pyx_v_bytes), ((void **)(&__pyx_v_p)));
- /* "adios.pyx":668
- *
- * v = f.var[varname]
- * return v.read(from_steps=0, nsteps=v.nsteps) # <<<<<<<<<<<<<<
+ /* "adios.pyx":1110
+ * err = adios_get_attr(self.file.fp, self.name, &atype, &bytes, <void **> &p)
*
- * def bpls(fname):
+ * if err == 0: # <<<<<<<<<<<<<<
+ * if atype == DATATYPE.string:
+ * bytes = bytes - 1 ## Remove the NULL terminal
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from_steps, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nsteps, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_3 = ((__pyx_v_err == 0) != 0);
+ if (__pyx_t_3) {
- /* "adios.pyx":661
- * ## ====================
+ /* "adios.pyx":1111
*
- * def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * if not f.var.has_key(varname):
+ * if err == 0:
+ * if atype == DATATYPE.string: # <<<<<<<<<<<<<<
+ * bytes = bytes - 1 ## Remove the NULL terminal
+ * self.dtype = adios2npdtype(atype, bytes)
*/
+ __pyx_t_1 = PyInt_FromLong(__pyx_v_atype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_string); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_3) {
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("adios.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF((PyObject *)__pyx_v_f);
- __Pyx_XDECREF(__pyx_v_v);
- __Pyx_XGIVEREF(__pyx_r);
+ /* "adios.pyx":1112
+ * if err == 0:
+ * if atype == DATATYPE.string:
+ * bytes = bytes - 1 ## Remove the NULL terminal # <<<<<<<<<<<<<<
+ * self.dtype = adios2npdtype(atype, bytes)
+ * if atype == DATATYPE.string_array:
+ */
+ __pyx_v_bytes = (__pyx_v_bytes - 1);
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "adios.pyx":1113
+ * if atype == DATATYPE.string:
+ * bytes = bytes - 1 ## Remove the NULL terminal
+ * self.dtype = adios2npdtype(atype, bytes) # <<<<<<<<<<<<<<
+ * if atype == DATATYPE.string_array:
+ * strlist = list()
+ */
+ __pyx_t_6.__pyx_n = 1;
+ __pyx_t_6.strlen = __pyx_v_bytes;
+ __pyx_t_4 = ((PyObject *)__pyx_f_5adios_adios2npdtype(__pyx_v_atype, 0, &__pyx_t_6)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "adios.pyx":1114
+ * bytes = bytes - 1 ## Remove the NULL terminal
+ * self.dtype = adios2npdtype(atype, bytes)
+ * if atype == DATATYPE.string_array: # <<<<<<<<<<<<<<
+ * strlist = list()
+ * len = bytes/sizeof(p)
+ */
+ __pyx_t_4 = PyInt_FromLong(__pyx_v_atype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_string_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (__pyx_t_3) {
+
+ /* "adios.pyx":1115
+ * self.dtype = adios2npdtype(atype, bytes)
+ * if atype == DATATYPE.string_array:
+ * strlist = list() # <<<<<<<<<<<<<<
+ * len = bytes/sizeof(p)
+ * for i in range(len):
+ */
+ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_v_strlist = ((PyObject*)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios.pyx":1116
+ * if atype == DATATYPE.string_array:
+ * strlist = list()
+ * len = bytes/sizeof(p) # <<<<<<<<<<<<<<
+ * for i in range(len):
+ * strlist.append((<char **>p)[i])
+ */
+ __pyx_t_7 = (sizeof(__pyx_v_p));
+ if (unlikely(__pyx_t_7 == 0)) {
+ #ifdef WITH_THREAD
+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
+ #endif
+ PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+ #ifdef WITH_THREAD
+ PyGILState_Release(__pyx_gilstate_save);
+ #endif
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_v_len = (__pyx_v_bytes / __pyx_t_7);
+
+ /* "adios.pyx":1117
+ * strlist = list()
+ * len = bytes/sizeof(p)
+ * for i in range(len): # <<<<<<<<<<<<<<
+ * strlist.append((<char **>p)[i])
+ * self.value = np.array(strlist)
+ */
+ __pyx_t_8 = __pyx_v_len;
+ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
+ __pyx_v_i = __pyx_t_9;
+
+ /* "adios.pyx":1118
+ * len = bytes/sizeof(p)
+ * for i in range(len):
+ * strlist.append((<char **>p)[i]) # <<<<<<<<<<<<<<
+ * self.value = np.array(strlist)
+ * self.dtype = self.value.dtype
+ */
+ __pyx_t_5 = __Pyx_PyBytes_FromString((((char **)__pyx_v_p)[__pyx_v_i])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_strlist, __pyx_t_5); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ }
+
+ /* "adios.pyx":1119
+ * for i in range(len):
+ * strlist.append((<char **>p)[i])
+ * self.value = np.array(strlist) # <<<<<<<<<<<<<<
+ * self.dtype = self.value.dtype
+ *
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ }
+ }
+ if (!__pyx_t_1) {
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_strlist); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ } else {
+ __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = NULL;
+ __Pyx_INCREF(__pyx_v_strlist);
+ PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_v_strlist);
+ __Pyx_GIVEREF(__pyx_v_strlist);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_5);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->value));
+ __pyx_v_self->value = ((PyArrayObject *)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios.pyx":1120
+ * strlist.append((<char **>p)[i])
+ * self.value = np.array(strlist)
+ * self.dtype = self.value.dtype # <<<<<<<<<<<<<<
+ *
+ * elif self.dtype is None:
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->value), __pyx_n_s_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_5);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_5);
+ __pyx_t_5 = 0;
+ goto __pyx_L5;
+ }
+
+ /* "adios.pyx":1122
+ * self.dtype = self.value.dtype
+ *
+ * elif self.dtype is None: # <<<<<<<<<<<<<<
+ * print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \
+ * (self.name, atype, bytes)
+ */
+ __pyx_t_3 = (((PyObject *)__pyx_v_self->dtype) == Py_None);
+ __pyx_t_12 = (__pyx_t_3 != 0);
+ if (__pyx_t_12) {
+
+ /* "adios.pyx":1124
+ * elif self.dtype is None:
+ * print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \
+ * (self.name, atype, bytes) # <<<<<<<<<<<<<<
+ * else:
+ * len = bytes/self.dtype.itemsize
+ */
+ __pyx_t_5 = PyInt_FromLong(__pyx_v_atype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_bytes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __pyx_t_5 = 0;
+ __pyx_t_4 = 0;
+
+ /* "adios.pyx":1123
+ *
+ * elif self.dtype is None:
+ * print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \ # <<<<<<<<<<<<<<
+ * (self.name, atype, bytes)
+ * else:
+ */
+ __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Warning_No_support_yet_s_type_d, __pyx_t_11); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (__Pyx_PrintOne(0, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1126
+ * (self.name, atype, bytes)
+ * else:
+ * len = bytes/self.dtype.itemsize # <<<<<<<<<<<<<<
+ * if len == 1:
+ * self.value = np.array(len, dtype=self.dtype)
+ */
+ if (unlikely(__pyx_v_self->dtype->elsize == 0)) {
+ #ifdef WITH_THREAD
+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
+ #endif
+ PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+ #ifdef WITH_THREAD
+ PyGILState_Release(__pyx_gilstate_save);
+ #endif
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_self->dtype->elsize == (int)-1) && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_bytes))) {
+ #ifdef WITH_THREAD
+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
+ #endif
+ PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+ #ifdef WITH_THREAD
+ PyGILState_Release(__pyx_gilstate_save);
+ #endif
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_v_len = __Pyx_div_int(__pyx_v_bytes, __pyx_v_self->dtype->elsize);
+
+ /* "adios.pyx":1127
+ * else:
+ * len = bytes/self.dtype.itemsize
+ * if len == 1: # <<<<<<<<<<<<<<
+ * self.value = np.array(len, dtype=self.dtype)
+ * else:
+ */
+ __pyx_t_12 = ((__pyx_v_len == 1) != 0);
+ if (__pyx_t_12) {
+
+ /* "adios.pyx":1128
+ * len = bytes/self.dtype.itemsize
+ * if len == 1:
+ * self.value = np.array(len, dtype=self.dtype) # <<<<<<<<<<<<<<
+ * else:
+ * self.value = np.zeros(len, dtype=self.dtype)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_len); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __pyx_t_4 = 0;
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->dtype)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->value));
+ __pyx_v_self->value = ((PyArrayObject *)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L8;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1130
+ * self.value = np.array(len, dtype=self.dtype)
+ * else:
+ * self.value = np.zeros(len, dtype=self.dtype) # <<<<<<<<<<<<<<
+ * self.value.data = <char *> p
+ * else:
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_len); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->dtype)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_11);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->value));
+ __pyx_v_self->value = ((PyArrayObject *)__pyx_t_11);
+ __pyx_t_11 = 0;
+ }
+ __pyx_L8:;
+
+ /* "adios.pyx":1131
+ * else:
+ * self.value = np.zeros(len, dtype=self.dtype)
+ * self.value.data = <char *> p # <<<<<<<<<<<<<<
+ * else:
+ * raise KeyError(name)
+ */
+ __pyx_v_self->value->data = ((char *)__pyx_v_p);
+ }
+ __pyx_L5:;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1133
+ * self.value.data = <char *> p
+ * else:
+ * raise KeyError(name) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __pyx_t_11 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_t_11 = 0;
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_Raise(__pyx_t_11, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":1098
+ * return self.value
+ *
+ * def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
+ * self.file = file
+ * self.name = name
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_11);
+ __Pyx_AddTraceback("adios.attr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_strlist);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios.pyx":670
- * return v.read(from_steps=0, nsteps=v.nsteps)
+/* "adios.pyx":1135
+ * raise KeyError(name)
*
- * def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * return {'nvars': f.nvars,
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ * (self.name, self.dtype, self.value)
*/
/* Python wrapper */
-static PyObject *__pyx_pw_5adios_41bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname); /*proto*/
-static PyMethodDef __pyx_mdef_5adios_41bpls = {"bpls", (PyCFunction)__pyx_pw_5adios_41bpls, METH_O, 0};
-static PyObject *__pyx_pw_5adios_41bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname) {
+static PyObject *__pyx_pw_5adios_4attr_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_4attr_3__repr__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("bpls (wrapper)", 0);
- __pyx_r = __pyx_pf_5adios_40bpls(__pyx_self, ((PyObject *)__pyx_v_fname));
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_4attr_2__repr__(((struct __pyx_obj_5adios_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_5adios_40bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname) {
- struct __pyx_obj_5adios_file *__pyx_v_f = NULL;
- PyObject *__pyx_v_k = NULL;
+static PyObject *__pyx_pf_5adios_4attr_2__repr__(struct __pyx_obj_5adios_attr *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- Py_ssize_t __pyx_t_5;
- int __pyx_t_6;
- PyObject *__pyx_t_7 = NULL;
- int __pyx_t_8;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("bpls", 0);
+ __Pyx_RefNannySetupContext("__repr__", 0);
- /* "adios.pyx":671
+ /* "adios.pyx":1136
+ *
+ * def __repr__(self):
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.name, self.dtype, self.value)
*
- * def bpls(fname):
- * f = file(fname, comm=MPI_COMM_SELF) # <<<<<<<<<<<<<<
- * return {'nvars': f.nvars,
- * 'nattrs': f.nattrs,
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_v_fname);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
- __Pyx_GIVEREF(__pyx_v_fname);
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMM_SELF); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_f = ((struct __pyx_obj_5adios_file *)__pyx_t_3);
- __pyx_t_3 = 0;
-
- /* "adios.pyx":672
- * def bpls(fname):
- * f = file(fname, comm=MPI_COMM_SELF)
- * return {'nvars': f.nvars, # <<<<<<<<<<<<<<
- * 'nattrs': f.nattrs,
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nvars, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "adios.pyx":673
- * f = file(fname, comm=MPI_COMM_SELF)
- * return {'nvars': f.nvars,
- * 'nattrs': f.nattrs, # <<<<<<<<<<<<<<
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- */
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nattrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios.pyx":674
- * return {'nvars': f.nvars,
- * 'nattrs': f.nattrs,
- * 'vars': tuple([ k for k in f.var.iterkeys() ]), # <<<<<<<<<<<<<<
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- * 'time_steps': (f.current_step, f.last_step),
+ /* "adios.pyx":1137
+ * def __repr__(self):
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ * (self.name, self.dtype, self.value) # <<<<<<<<<<<<<<
+ *
+ *
*/
- __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = 0;
- if (unlikely(__pyx_v_f->var == Py_None)) {
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_f->var, 1, __pyx_n_s_iterkeys, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_1);
- __pyx_t_1 = __pyx_t_7;
- __pyx_t_7 = 0;
- while (1) {
- __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_5, &__pyx_t_4, &__pyx_t_7, NULL, NULL, __pyx_t_6);
- if (unlikely(__pyx_t_8 == 0)) break;
- if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7);
- __pyx_t_7 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_vars, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self->dtype));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self->dtype));
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->value));
+ PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_self->value));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self->value));
- /* "adios.pyx":675
- * 'nattrs': f.nattrs,
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]), # <<<<<<<<<<<<<<
- * 'time_steps': (f.current_step, f.last_step),
- * 'file_size': f.file_size}
+ /* "adios.pyx":1136
+ *
+ * def __repr__(self):
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.name, self.dtype, self.value)
+ *
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = 0;
- if (unlikely(__pyx_v_f->attr == Py_None)) {
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_f->attr, 1, __pyx_n_s_iterkeys, (&__pyx_t_4), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_2);
- __pyx_t_2 = __pyx_t_7;
- __pyx_t_7 = 0;
- while (1) {
- __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_5, &__pyx_t_7, NULL, NULL, __pyx_t_6);
- if (unlikely(__pyx_t_8 == 0)) break;
- if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7);
- __pyx_t_7 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_AdiosAttr_name_r_dtype_r_value_r, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "adios.pyx":676
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- * 'time_steps': (f.current_step, f.last_step), # <<<<<<<<<<<<<<
- * 'file_size': f.file_size}
- */
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
- __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_time_steps, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
- /* "adios.pyx":677
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- * 'time_steps': (f.current_step, f.last_step),
- * 'file_size': f.file_size} # <<<<<<<<<<<<<<
- */
- __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_f->file_size); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_file_size, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_r = __pyx_t_3;
- __pyx_t_3 = 0;
goto __pyx_L0;
- /* "adios.pyx":670
- * return v.read(from_steps=0, nsteps=v.nsteps)
+ /* "adios.pyx":1135
+ * raise KeyError(name)
*
- * def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * return {'nvars': f.nvars,
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ * (self.name, self.dtype, self.value)
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_7);
- __Pyx_AddTraceback("adios.bpls", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios.attr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
- __Pyx_XDECREF((PyObject *)__pyx_v_f);
- __Pyx_XDECREF(__pyx_v_k);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194
- * # experimental exception made for __getbuffer__ and __releasebuffer__
- * # -- the details of this may change.
- * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
- * # This implementation of getbuffer is geared towards Cython
- * # requirements, and does not yet fullfill the PEP.
+/* "adios.pyx":1143
+ * cdef class smartdict(dict):
+ * cdef factory
+ * def __init__(self, factory): # <<<<<<<<<<<<<<
+ * dict.__init__(self)
+ * self.factory = factory
*/
/* Python wrapper */
-static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
-static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+static int __pyx_pw_5adios_9smartdict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_5adios_9smartdict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_factory = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_factory,0};
+ PyObject* values[1] = {0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_factory)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ }
+ __pyx_v_factory = values[0];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.smartdict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_9smartdict___init__(((struct __pyx_obj_5adios_smartdict *)__pyx_v_self), __pyx_v_factory);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
- int __pyx_v_copy_shape;
- int __pyx_v_i;
- int __pyx_v_ndim;
- int __pyx_v_endian_detector;
- int __pyx_v_little_endian;
- int __pyx_v_t;
- char *__pyx_v_f;
- PyArray_Descr *__pyx_v_descr = 0;
- int __pyx_v_offset;
- int __pyx_v_hasfields;
+static int __pyx_pf_5adios_9smartdict___init__(struct __pyx_obj_5adios_smartdict *__pyx_v_self, PyObject *__pyx_v_factory) {
int __pyx_r;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_t_2;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
- int __pyx_t_4;
- int __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- char *__pyx_t_7;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__getbuffer__", 0);
- if (__pyx_v_info != NULL) {
- __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(__pyx_v_info->obj);
- }
+ __Pyx_RefNannySetupContext("__init__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":200
- * # of flags
- *
- * if info == NULL: return # <<<<<<<<<<<<<<
+ /* "adios.pyx":1144
+ * cdef factory
+ * def __init__(self, factory):
+ * dict.__init__(self) # <<<<<<<<<<<<<<
+ * self.factory = factory
*
- * cdef int copy_shape, i, ndim
*/
- __pyx_t_1 = ((__pyx_v_info == NULL) != 0);
- if (__pyx_t_1) {
- __pyx_r = 0;
- goto __pyx_L0;
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)((PyObject*)(&PyDict_Type))), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
}
+ if (!__pyx_t_3) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ } else {
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL;
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
- *
- * cdef int copy_shape, i, ndim
- * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ /* "adios.pyx":1145
+ * def __init__(self, factory):
+ * dict.__init__(self)
+ * self.factory = factory # <<<<<<<<<<<<<<
*
+ * def __setitem__(self, key, value):
*/
- __pyx_v_endian_detector = 1;
+ __Pyx_INCREF(__pyx_v_factory);
+ __Pyx_GIVEREF(__pyx_v_factory);
+ __Pyx_GOTREF(__pyx_v_self->factory);
+ __Pyx_DECREF(__pyx_v_self->factory);
+ __pyx_v_self->factory = __pyx_v_factory;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":204
- * cdef int copy_shape, i, ndim
- * cdef int endian_detector = 1
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
- *
- * ndim = PyArray_NDIM(self)
+ /* "adios.pyx":1143
+ * cdef class smartdict(dict):
+ * cdef factory
+ * def __init__(self, factory): # <<<<<<<<<<<<<<
+ * dict.__init__(self)
+ * self.factory = factory
*/
- __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
- *
- * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios.smartdict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1147
+ * self.factory = factory
*
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
+ * if key in dict.keys(self):
+ * dict.__setitem__(self, key, value)
*/
- __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":208
- * ndim = PyArray_NDIM(self)
+/* Python wrapper */
+static int __pyx_pw_5adios_9smartdict_3__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_5adios_9smartdict_3__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_9smartdict_2__setitem__(((struct __pyx_obj_5adios_smartdict *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_9smartdict_2__setitem__(struct __pyx_obj_5adios_smartdict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ Py_ssize_t __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__setitem__", 0);
+
+ /* "adios.pyx":1148
*
- * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
- * copy_shape = 1
- * else:
+ * def __setitem__(self, key, value):
+ * if key in dict.keys(self): # <<<<<<<<<<<<<<
+ * dict.__setitem__(self, key, value)
+ * else:
*/
- __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
- if (__pyx_t_1) {
+ if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
+ PyErr_Format(PyExc_TypeError, "descriptor '%s' requires a '%s' object but received a 'NoneType'", "keys", "dict");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __Pyx_PyDict_Keys(((PyObject*)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_key, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = (__pyx_t_2 != 0);
+ if (__pyx_t_3) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
- *
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- * copy_shape = 1 # <<<<<<<<<<<<<<
- * else:
- * copy_shape = 0
+ /* "adios.pyx":1149
+ * def __setitem__(self, key, value):
+ * if key in dict.keys(self):
+ * dict.__setitem__(self, key, value) # <<<<<<<<<<<<<<
+ * else:
+ * self.factory(key, value)
*/
- __pyx_v_copy_shape = 1;
- goto __pyx_L4;
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)((PyObject*)(&PyDict_Type))), __pyx_n_s_setitem); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = NULL;
+ __pyx_t_6 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ __pyx_t_6 = 1;
+ }
+ }
+ __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ if (__pyx_t_5) {
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL;
+ }
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ __Pyx_INCREF(__pyx_v_value);
+ PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L3;
}
/*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
- * copy_shape = 1
- * else:
- * copy_shape = 0 # <<<<<<<<<<<<<<
+ /* "adios.pyx":1151
+ * dict.__setitem__(self, key, value)
+ * else:
+ * self.factory(key, value) # <<<<<<<<<<<<<<
*
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ * cdef class writer:
*/
- __pyx_v_copy_shape = 0;
+ __Pyx_INCREF(__pyx_v_self->factory);
+ __pyx_t_4 = __pyx_v_self->factory; __pyx_t_7 = NULL;
+ __pyx_t_6 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ __pyx_t_6 = 1;
+ }
+ }
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (__pyx_t_7) {
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ }
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ __Pyx_INCREF(__pyx_v_value);
+ PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- __pyx_L4:;
+ __pyx_L3:;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":213
- * copy_shape = 0
+ /* "adios.pyx":1147
+ * self.factory = factory
*
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
- * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not C contiguous")
+ * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
+ * if key in dict.keys(self):
+ * dict.__setitem__(self, key, value)
*/
- __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L6_bool_binop_done;
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
- *
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<
- * raise ValueError(u"ndarray is not C contiguous")
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios.smartdict.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1182
+ * property fname:
+ * """ The filename to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.fname
*
*/
- __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L6_bool_binop_done:;
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_5fname_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_5fname_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_5fname___get__(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_6writer_5fname___get__(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":1183
+ * """ The filename to write. """
+ * def __get__(self):
+ * return self.fname # <<<<<<<<<<<<<<
*
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ * property gname:
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->fname);
+ __pyx_r = __pyx_v_self->fname;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
- * raise ValueError(u"ndarray is not C contiguous")
+ /* "adios.pyx":1182
+ * property fname:
+ * """ The filename to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.fname
*
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
- * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not Fortran contiguous")
*/
- __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L9_bool_binop_done;
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
- *
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<
- * raise ValueError(u"ndarray is not Fortran contiguous")
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1187
+ * property gname:
+ * """ The groupname associated with the file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.gname
*
*/
- __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L9_bool_binop_done:;
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_5gname_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_5gname_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_5gname___get__(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_6writer_5gname___get__(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":1188
+ * """ The groupname associated with the file. """
+ * def __get__(self):
+ * return self.gname # <<<<<<<<<<<<<<
*
- * info.buf = PyArray_DATA(self)
+ * property is_noxml:
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->gname);
+ __pyx_r = __pyx_v_self->gname;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
- * raise ValueError(u"ndarray is not Fortran contiguous")
+ /* "adios.pyx":1187
+ * property gname:
+ * """ The groupname associated with the file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.gname
*
- * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<
- * info.ndim = ndim
- * if copy_shape:
*/
- __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1192
+ * property is_noxml:
+ * """ Boolean to indicate using No-XML or not. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_noxml
*
- * info.buf = PyArray_DATA(self)
- * info.ndim = ndim # <<<<<<<<<<<<<<
- * if copy_shape:
- * # Allocate new buffer for strides and shape info.
*/
- __pyx_v_info->ndim = __pyx_v_ndim;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":223
- * info.buf = PyArray_DATA(self)
- * info.ndim = ndim
- * if copy_shape: # <<<<<<<<<<<<<<
- * # Allocate new buffer for strides and shape info.
- * # This is allocated as one block, strides first.
- */
- __pyx_t_1 = (__pyx_v_copy_shape != 0);
- if (__pyx_t_1) {
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_8is_noxml_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_8is_noxml_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_8is_noxml___get__(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
- * # Allocate new buffer for strides and shape info.
- * # This is allocated as one block, strides first.
- * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2) # <<<<<<<<<<<<<<
- * info.shape = info.strides + ndim
- * for i in range(ndim):
- */
- __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":227
- * # This is allocated as one block, strides first.
- * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
- * info.shape = info.strides + ndim # <<<<<<<<<<<<<<
- * for i in range(ndim):
- * info.strides[i] = PyArray_STRIDES(self)[i]
- */
- __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+static PyObject *__pyx_pf_5adios_6writer_8is_noxml___get__(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":228
- * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
- * info.shape = info.strides + ndim
- * for i in range(ndim): # <<<<<<<<<<<<<<
- * info.strides[i] = PyArray_STRIDES(self)[i]
- * info.shape[i] = PyArray_DIMS(self)[i]
+ /* "adios.pyx":1193
+ * """ Boolean to indicate using No-XML or not. """
+ * def __get__(self):
+ * return self.is_noxml # <<<<<<<<<<<<<<
+ *
+ * property var:
*/
- __pyx_t_4 = __pyx_v_ndim;
- for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
- __pyx_v_i = __pyx_t_5;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_noxml); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
- * info.shape = info.strides + ndim
- * for i in range(ndim):
- * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<
- * info.shape[i] = PyArray_DIMS(self)[i]
- * else:
+ /* "adios.pyx":1192
+ * property is_noxml:
+ * """ Boolean to indicate using No-XML or not. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_noxml
+ *
*/
- (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
- * for i in range(ndim):
- * info.strides[i] = PyArray_STRIDES(self)[i]
- * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<
- * else:
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- */
- (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
- }
- goto __pyx_L11;
- }
- /*else*/ {
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.writer.is_noxml.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
- * info.shape[i] = PyArray_DIMS(self)[i]
- * else:
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- * info.suboffsets = NULL
+/* "adios.pyx":1197
+ * property var:
+ * """ Dictionary of variables to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.var
+ *
*/
- __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
- * else:
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<
- * info.suboffsets = NULL
- * info.itemsize = PyArray_ITEMSIZE(self)
- */
- __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
- }
- __pyx_L11:;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_3var_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_3var_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_3var___get__(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":234
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- * info.suboffsets = NULL # <<<<<<<<<<<<<<
- * info.itemsize = PyArray_ITEMSIZE(self)
- * info.readonly = not PyArray_ISWRITEABLE(self)
- */
- __pyx_v_info->suboffsets = NULL;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- * info.suboffsets = NULL
- * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<
- * info.readonly = not PyArray_ISWRITEABLE(self)
+static PyObject *__pyx_pf_5adios_6writer_3var___get__(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":1198
+ * """ Dictionary of variables to write. """
+ * def __get__(self):
+ * return self.var # <<<<<<<<<<<<<<
*
+ * property attr:
*/
- __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->var);
+ __pyx_r = __pyx_v_self->var;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
- * info.suboffsets = NULL
- * info.itemsize = PyArray_ITEMSIZE(self)
- * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<
+ /* "adios.pyx":1197
+ * property var:
+ * """ Dictionary of variables to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.var
*
- * cdef int t
*/
- __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1202
+ * property attr:
+ * """ Dictionary of attributes to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.attr
*
- * cdef int t
- * cdef char* f = NULL # <<<<<<<<<<<<<<
- * cdef dtype descr = self.descr
- * cdef list stack
*/
- __pyx_v_f = NULL;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":240
- * cdef int t
- * cdef char* f = NULL
- * cdef dtype descr = self.descr # <<<<<<<<<<<<<<
- * cdef list stack
- * cdef int offset
- */
- __pyx_t_3 = ((PyObject *)__pyx_v_self->descr);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
- __pyx_t_3 = 0;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_4attr_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_4attr_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_4attr___get__(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":244
- * cdef int offset
- *
- * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<<
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_6writer_4attr___get__(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios.pyx":1203
+ * """ Dictionary of attributes to write. """
+ * def __get__(self):
+ * return self.attr # <<<<<<<<<<<<<<
*
- * if not hasfields and not copy_shape:
+ * def __init__(self,char * fname,
*/
- __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->attr);
+ __pyx_r = __pyx_v_self->attr;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
- * cdef bint hasfields = PyDataType_HASFIELDS(descr)
+ /* "adios.pyx":1202
+ * property attr:
+ * """ Dictionary of attributes to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.attr
*
- * if not hasfields and not copy_shape: # <<<<<<<<<<<<<<
- * # do not call releasebuffer
- * info.obj = None
*/
- __pyx_t_2 = ((!(__pyx_v_hasfields != 0)) != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L15_bool_binop_done;
- }
- __pyx_t_2 = ((!(__pyx_v_copy_shape != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L15_bool_binop_done:;
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
- * if not hasfields and not copy_shape:
- * # do not call releasebuffer
- * info.obj = None # <<<<<<<<<<<<<<
- * else:
- * # need to call releasebuffer
- */
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_info->obj);
- __Pyx_DECREF(__pyx_v_info->obj);
- __pyx_v_info->obj = Py_None;
- goto __pyx_L14;
- }
- /*else*/ {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":251
- * else:
- * # need to call releasebuffer
- * info.obj = self # <<<<<<<<<<<<<<
- *
- * if not hasfields:
- */
- __Pyx_INCREF(((PyObject *)__pyx_v_self));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- __Pyx_GOTREF(__pyx_v_info->obj);
- __Pyx_DECREF(__pyx_v_info->obj);
- __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
- }
- __pyx_L14:;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
- * info.obj = self
- *
- * if not hasfields: # <<<<<<<<<<<<<<
- * t = descr.type_num
- * if ((descr.byteorder == c'>' and little_endian) or
- */
- __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
- if (__pyx_t_1) {
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":254
+/* "adios.pyx":1205
+ * return self.attr
*
- * if not hasfields:
- * t = descr.type_num # <<<<<<<<<<<<<<
- * if ((descr.byteorder == c'>' and little_endian) or
- * (descr.byteorder == c'<' and not little_endian)):
+ * def __init__(self,char * fname, # <<<<<<<<<<<<<<
+ * bint is_noxml = True,
+ * MPI_Comm comm = MPI_COMM_WORLD):
*/
- __pyx_t_4 = __pyx_v_descr->type_num;
- __pyx_v_t = __pyx_t_4;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
- * if not hasfields:
- * t = descr.type_num
- * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
- * (descr.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported")
- */
- __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
- if (!__pyx_t_2) {
- goto __pyx_L20_next_or;
+/* Python wrapper */
+static int __pyx_pw_5adios_6writer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_5adios_6writer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_fname;
+ int __pyx_v_is_noxml;
+ MPI_Comm __pyx_v_comm;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_is_noxml,&__pyx_n_s_comm,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_noxml);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
} else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
}
- __pyx_t_2 = (__pyx_v_little_endian != 0);
- if (!__pyx_t_2) {
+ __pyx_v_fname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_is_noxml = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_is_noxml == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L19_bool_binop_done;
- }
- __pyx_L20_next_or:;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
- * t = descr.type_num
- * if ((descr.byteorder == c'>' and little_endian) or
- * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
- * raise ValueError(u"Non-native byte order not supported")
- * if t == NPY_BYTE: f = "b"
+ /* "adios.pyx":1206
+ *
+ * def __init__(self,char * fname,
+ * bint is_noxml = True, # <<<<<<<<<<<<<<
+ * MPI_Comm comm = MPI_COMM_WORLD):
+ * self.fname = fname
*/
- __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
- if (__pyx_t_2) {
+ __pyx_v_is_noxml = ((int)1);
+ }
+ if (values[2]) {
+ __pyx_v_comm = __Pyx_PyInt_As_MPI_Comm(values[2]); if (unlikely((__pyx_v_comm == (MPI_Comm)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L19_bool_binop_done;
+ __pyx_v_comm = __pyx_k__22;
}
- __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L19_bool_binop_done:;
- if (__pyx_t_1) {
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.writer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_6writer___init__(((struct __pyx_obj_5adios_writer *)__pyx_v_self), __pyx_v_fname, __pyx_v_is_noxml, __pyx_v_comm);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
- * if ((descr.byteorder == c'>' and little_endian) or
- * (descr.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
- * if t == NPY_BYTE: f = "b"
- * elif t == NPY_UBYTE: f = "B"
+ /* "adios.pyx":1205
+ * return self.attr
+ *
+ * def __init__(self,char * fname, # <<<<<<<<<<<<<<
+ * bint is_noxml = True,
+ * MPI_Comm comm = MPI_COMM_WORLD):
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
- * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- */
- switch (__pyx_v_t) {
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
- * (descr.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported")
- * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<
- * elif t == NPY_UBYTE: f = "B"
- * elif t == NPY_SHORT: f = "h"
+static int __pyx_pf_5adios_6writer___init__(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_fname, int __pyx_v_is_noxml, MPI_Comm __pyx_v_comm) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "adios.pyx":1208
+ * bint is_noxml = True,
+ * MPI_Comm comm = MPI_COMM_WORLD):
+ * self.fname = fname # <<<<<<<<<<<<<<
+ * self.method = <bytes>""
+ * self.method_params = <bytes>""
*/
- case NPY_BYTE:
- __pyx_v_f = __pyx_k_b;
- break;
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_fname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->fname);
+ __Pyx_DECREF(__pyx_v_self->fname);
+ __pyx_v_self->fname = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
- * raise ValueError(u"Non-native byte order not supported")
- * if t == NPY_BYTE: f = "b"
- * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<
- * elif t == NPY_SHORT: f = "h"
- * elif t == NPY_USHORT: f = "H"
+ /* "adios.pyx":1209
+ * MPI_Comm comm = MPI_COMM_WORLD):
+ * self.fname = fname
+ * self.method = <bytes>"" # <<<<<<<<<<<<<<
+ * self.method_params = <bytes>""
+ * self.is_noxml = is_noxml
*/
- case NPY_UBYTE:
- __pyx_v_f = __pyx_k_B;
- break;
+ __pyx_t_1 = __pyx_kp_s__7;
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->method);
+ __Pyx_DECREF(__pyx_v_self->method);
+ __pyx_v_self->method = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
- * if t == NPY_BYTE: f = "b"
- * elif t == NPY_UBYTE: f = "B"
- * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<
- * elif t == NPY_USHORT: f = "H"
- * elif t == NPY_INT: f = "i"
+ /* "adios.pyx":1210
+ * self.fname = fname
+ * self.method = <bytes>""
+ * self.method_params = <bytes>"" # <<<<<<<<<<<<<<
+ * self.is_noxml = is_noxml
+ * self.comm = comm
*/
- case NPY_SHORT:
- __pyx_v_f = __pyx_k_h;
- break;
+ __pyx_t_1 = __pyx_kp_s__7;
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->method_params);
+ __Pyx_DECREF(__pyx_v_self->method_params);
+ __pyx_v_self->method_params = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
- * elif t == NPY_UBYTE: f = "B"
- * elif t == NPY_SHORT: f = "h"
- * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<
- * elif t == NPY_INT: f = "i"
- * elif t == NPY_UINT: f = "I"
+ /* "adios.pyx":1211
+ * self.method = <bytes>""
+ * self.method_params = <bytes>""
+ * self.is_noxml = is_noxml # <<<<<<<<<<<<<<
+ * self.comm = comm
+ * self.var = dict()
*/
- case NPY_USHORT:
- __pyx_v_f = __pyx_k_H;
- break;
+ __pyx_v_self->is_noxml = __pyx_v_is_noxml;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
- * elif t == NPY_SHORT: f = "h"
- * elif t == NPY_USHORT: f = "H"
- * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<
- * elif t == NPY_UINT: f = "I"
- * elif t == NPY_LONG: f = "l"
+ /* "adios.pyx":1212
+ * self.method_params = <bytes>""
+ * self.is_noxml = is_noxml
+ * self.comm = comm # <<<<<<<<<<<<<<
+ * self.var = dict()
+ * self.attr = dict()
*/
- case NPY_INT:
- __pyx_v_f = __pyx_k_i;
- break;
+ __pyx_v_self->comm = __pyx_v_comm;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
- * elif t == NPY_USHORT: f = "H"
- * elif t == NPY_INT: f = "i"
- * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<
- * elif t == NPY_LONG: f = "l"
- * elif t == NPY_ULONG: f = "L"
+ /* "adios.pyx":1213
+ * self.is_noxml = is_noxml
+ * self.comm = comm
+ * self.var = dict() # <<<<<<<<<<<<<<
+ * self.attr = dict()
+ *
*/
- case NPY_UINT:
- __pyx_v_f = __pyx_k_I;
- break;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->var);
+ __Pyx_DECREF(__pyx_v_self->var);
+ __pyx_v_self->var = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
- * elif t == NPY_INT: f = "i"
- * elif t == NPY_UINT: f = "I"
- * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONG: f = "L"
- * elif t == NPY_LONGLONG: f = "q"
+ /* "adios.pyx":1214
+ * self.comm = comm
+ * self.var = dict()
+ * self.attr = dict() # <<<<<<<<<<<<<<
+ *
+ * ##def __var_factory__(self, name, value):
*/
- case NPY_LONG:
- __pyx_v_f = __pyx_k_l;
- break;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->attr);
+ __Pyx_DECREF(__pyx_v_self->attr);
+ __pyx_v_self->attr = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
- * elif t == NPY_UINT: f = "I"
- * elif t == NPY_LONG: f = "l"
- * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGLONG: f = "q"
- * elif t == NPY_ULONGLONG: f = "Q"
+ /* "adios.pyx":1205
+ * return self.attr
+ *
+ * def __init__(self,char * fname, # <<<<<<<<<<<<<<
+ * bint is_noxml = True,
+ * MPI_Comm comm = MPI_COMM_WORLD):
*/
- case NPY_ULONG:
- __pyx_v_f = __pyx_k_L;
- break;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
- * elif t == NPY_LONG: f = "l"
- * elif t == NPY_ULONG: f = "L"
- * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONGLONG: f = "Q"
- * elif t == NPY_FLOAT: f = "f"
- */
- case NPY_LONGLONG:
- __pyx_v_f = __pyx_k_q;
- break;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
- * elif t == NPY_ULONG: f = "L"
- * elif t == NPY_LONGLONG: f = "q"
- * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<
- * elif t == NPY_FLOAT: f = "f"
- * elif t == NPY_DOUBLE: f = "d"
- */
- case NPY_ULONGLONG:
- __pyx_v_f = __pyx_k_Q;
- break;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
- * elif t == NPY_LONGLONG: f = "q"
- * elif t == NPY_ULONGLONG: f = "Q"
- * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<
- * elif t == NPY_DOUBLE: f = "d"
- * elif t == NPY_LONGDOUBLE: f = "g"
- */
- case NPY_FLOAT:
- __pyx_v_f = __pyx_k_f;
- break;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
- * elif t == NPY_ULONGLONG: f = "Q"
- * elif t == NPY_FLOAT: f = "f"
- * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGDOUBLE: f = "g"
- * elif t == NPY_CFLOAT: f = "Zf"
- */
- case NPY_DOUBLE:
- __pyx_v_f = __pyx_k_d;
- break;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
- * elif t == NPY_FLOAT: f = "f"
- * elif t == NPY_DOUBLE: f = "d"
- * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<
- * elif t == NPY_CFLOAT: f = "Zf"
- * elif t == NPY_CDOUBLE: f = "Zd"
- */
- case NPY_LONGDOUBLE:
- __pyx_v_f = __pyx_k_g;
- break;
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.writer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
- * elif t == NPY_DOUBLE: f = "d"
- * elif t == NPY_LONGDOUBLE: f = "g"
- * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
+/* "adios.pyx":1222
+ * ## print "attr_factory:", name, value
+ *
+ * def declare_group(self, char * gname, # <<<<<<<<<<<<<<
+ * char * method = "POSIX1",
+ * char * method_params = ""):
*/
- case NPY_CFLOAT:
- __pyx_v_f = __pyx_k_Zf;
- break;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
- * elif t == NPY_LONGDOUBLE: f = "g"
- * elif t == NPY_CFLOAT: f = "Zf"
- * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
- * elif t == NPY_OBJECT: f = "O"
- */
- case NPY_CDOUBLE:
- __pyx_v_f = __pyx_k_Zd;
- break;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_3declare_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_6writer_2declare_group[] = "writer.declare_group(self, char *gname, char *method='POSIX1', char *method_params='')\n\n Define a group associated with the file.\n\n Args:\n gname (str): group name.\n method (str, optional): Adios write method (default: 'POSIX1')\n method_params (str, optional): parameters for the write method (default: '')\n\n Example:\n\n >>> fw.declare_group('group', method='MPI_, [...]
+static PyObject *__pyx_pw_5adios_6writer_3declare_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_gname;
+ char *__pyx_v_method;
+ char *__pyx_v_method_params;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("declare_group (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gname,&__pyx_n_s_method,&__pyx_n_s_method_params,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_params);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare_group") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_gname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_gname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_method = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_method = ((char *)__pyx_k_POSIX1);
+ }
+ if (values[2]) {
+ __pyx_v_method_params = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_method_params) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_method_params = ((char *)__pyx_k__7);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("declare_group", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.writer.declare_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_6writer_2declare_group(((struct __pyx_obj_5adios_writer *)__pyx_v_self), __pyx_v_gname, __pyx_v_method, __pyx_v_method_params);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
- * elif t == NPY_CFLOAT: f = "Zf"
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<
- * elif t == NPY_OBJECT: f = "O"
- * else:
- */
- case NPY_CLONGDOUBLE:
- __pyx_v_f = __pyx_k_Zg;
- break;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
- * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- */
- case NPY_OBJECT:
- __pyx_v_f = __pyx_k_O;
- break;
- default:
+static PyObject *__pyx_pf_5adios_6writer_2declare_group(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_gname, char *__pyx_v_method, char *__pyx_v_method_params) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int64_t __pyx_t_1;
+ struct __pyx_opt_args_5adios_declare_group __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ char *__pyx_t_4;
+ char *__pyx_t_5;
+ struct __pyx_opt_args_5adios_select_method __pyx_t_6;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("declare_group", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
- * elif t == NPY_OBJECT: f = "O"
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
- * info.format = f
- * return
+ /* "adios.pyx":1238
+ *
+ * """
+ * self.gid = declare_group(gname, "", 1) # <<<<<<<<<<<<<<
+ * self.gname = gname
+ * self.method = method
*/
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_Raise(__pyx_t_6, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- break;
- }
+ __pyx_t_2.__pyx_n = 2;
+ __pyx_t_2.time_index = __pyx_k__7;
+ __pyx_t_2.stats = 1;
+ __pyx_t_1 = __pyx_f_5adios_declare_group(__pyx_v_gname, 0, &__pyx_t_2);
+ __pyx_v_self->gid = __pyx_t_1;
+
+ /* "adios.pyx":1239
+ * """
+ * self.gid = declare_group(gname, "", 1)
+ * self.gname = gname # <<<<<<<<<<<<<<
+ * self.method = method
+ * self.method_params = method_params
+ */
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_gname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_v_self->gname);
+ __Pyx_DECREF(__pyx_v_self->gname);
+ __pyx_v_self->gname = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- * info.format = f # <<<<<<<<<<<<<<
- * return
- * else:
+ /* "adios.pyx":1240
+ * self.gid = declare_group(gname, "", 1)
+ * self.gname = gname
+ * self.method = method # <<<<<<<<<<<<<<
+ * self.method_params = method_params
+ * select_method(self.gid, self.method, self.method_params, "")
*/
- __pyx_v_info->format = __pyx_v_f;
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_method); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_v_self->method);
+ __Pyx_DECREF(__pyx_v_self->method);
+ __pyx_v_self->method = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- * info.format = f
- * return # <<<<<<<<<<<<<<
- * else:
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ /* "adios.pyx":1241
+ * self.gname = gname
+ * self.method = method
+ * self.method_params = method_params # <<<<<<<<<<<<<<
+ * select_method(self.gid, self.method, self.method_params, "")
+ *
*/
- __pyx_r = 0;
- goto __pyx_L0;
- }
- /*else*/ {
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_method_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_v_self->method_params);
+ __Pyx_DECREF(__pyx_v_self->method_params);
+ __pyx_v_self->method_params = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
- * return
- * else:
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<
- * info.format[0] = c'^' # Native data types, manual alignment
- * offset = 0
+ /* "adios.pyx":1242
+ * self.method = method
+ * self.method_params = method_params
+ * select_method(self.gid, self.method, self.method_params, "") # <<<<<<<<<<<<<<
+ *
+ * def define_var(self, char * varname,
*/
- __pyx_v_info->format = ((char *)malloc(255));
+ __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_self->method); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_self->method_params); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6.__pyx_n = 2;
+ __pyx_t_6.parameters = __pyx_t_5;
+ __pyx_t_6.base_path = __pyx_k__7;
+ __pyx_f_5adios_select_method(__pyx_v_self->gid, __pyx_t_4, 0, &__pyx_t_6);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":281
- * else:
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
- * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<
- * offset = 0
- * f = _util_dtypestring(descr, info.format + 1,
+ /* "adios.pyx":1222
+ * ## print "attr_factory:", name, value
+ *
+ * def declare_group(self, char * gname, # <<<<<<<<<<<<<<
+ * char * method = "POSIX1",
+ * char * method_params = ""):
*/
- (__pyx_v_info->format[0]) = '^';
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
- * info.format[0] = c'^' # Native data types, manual alignment
- * offset = 0 # <<<<<<<<<<<<<<
- * f = _util_dtypestring(descr, info.format + 1,
- * info.format + _buffer_format_string_len,
- */
- __pyx_v_offset = 0;
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.writer.declare_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
- * info.format[0] = c'^' # Native data types, manual alignment
- * offset = 0
- * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<
- * info.format + _buffer_format_string_len,
- * &offset)
+/* "adios.pyx":1244
+ * select_method(self.gid, self.method, self.method_params, "")
+ *
+ * def define_var(self, char * varname, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
*/
- __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_f = __pyx_t_7;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
- * info.format + _buffer_format_string_len,
- * &offset)
- * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_5define_var(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_6writer_4define_var[] = "writer.define_var(self, char *varname, ldim=<\077\077?>, gdim=<\077\077?>, offset=<\077\077?>)\n\n Define a variable associated with the file.\n\n Args:\n varname (str): variable name.\n ldim (tuple, optional): local dimension (default: tuple())\n gdim (tuple, optional): global dimension (default: tuple())\n offset (tuple, optional): offset (default: tuple())\n\n Example [...]
+static PyObject *__pyx_pw_5adios_6writer_5define_var(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_varname;
+ PyObject *__pyx_v_ldim = 0;
+ PyObject *__pyx_v_gdim = 0;
+ PyObject *__pyx_v_offset = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define_var (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_varname,&__pyx_n_s_ldim,&__pyx_n_s_gdim,&__pyx_n_s_offset,0};
+ PyObject* values[4] = {0,0,0,0};
+ values[1] = __pyx_k__23;
+ values[2] = __pyx_k__24;
+ values[3] = __pyx_k__25;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ldim);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gdim);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_var") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_varname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_varname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_ldim = values[1];
+ __pyx_v_gdim = values[2];
+ __pyx_v_offset = values[3];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.writer.define_var", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_6writer_4define_var(((struct __pyx_obj_5adios_writer *)__pyx_v_self), __pyx_v_varname, __pyx_v_ldim, __pyx_v_gdim, __pyx_v_offset);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_6writer_4define_var(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_varname, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define_var", 0);
+
+ /* "adios.pyx":1264
*
- * def __releasebuffer__(ndarray self, Py_buffer* info):
+ * """
+ * self.var[varname] = varinfo(varname, ldim, gdim, offset) # <<<<<<<<<<<<<<
+ *
+ * def define_attr(self, char * attrname):
*/
- (__pyx_v_f[0]) = '\x00';
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_varname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_ldim);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_ldim);
+ __Pyx_GIVEREF(__pyx_v_ldim);
+ __Pyx_INCREF(__pyx_v_gdim);
+ PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_gdim);
+ __Pyx_GIVEREF(__pyx_v_gdim);
+ __Pyx_INCREF(__pyx_v_offset);
+ PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_offset);
+ __Pyx_GIVEREF(__pyx_v_offset);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_varinfo)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
+ __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_varname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_t_2, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194
- * # experimental exception made for __getbuffer__ and __releasebuffer__
- * # -- the details of this may change.
- * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
- * # This implementation of getbuffer is geared towards Cython
- * # requirements, and does not yet fullfill the PEP.
+ /* "adios.pyx":1244
+ * select_method(self.gid, self.method, self.method_params, "")
+ *
+ * def define_var(self, char * varname, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
*/
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
- __Pyx_GOTREF(__pyx_v_info->obj);
- __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
- }
- goto __pyx_L2;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios.writer.define_var", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
- if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
- __Pyx_GOTREF(Py_None);
- __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
- }
- __pyx_L2:;
- __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
- * f[0] = c'\0' # Terminate format string
+/* "adios.pyx":1266
+ * self.var[varname] = varinfo(varname, ldim, gdim, offset)
*
- * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format)
+ * def define_attr(self, char * attrname): # <<<<<<<<<<<<<<
+ * """
+ * Define attribute in the file.
*/
/* Python wrapper */
-static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
-static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
- __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
-}
-
-static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+static PyObject *__pyx_pw_5adios_6writer_7define_attr(PyObject *__pyx_v_self, PyObject *__pyx_arg_attrname); /*proto*/
+static char __pyx_doc_5adios_6writer_6define_attr[] = "writer.define_attr(self, char *attrname)\n\n Define attribute in the file.\n\n Args:\n attrname (str): attribute name.\n ";
+static PyObject *__pyx_pw_5adios_6writer_7define_attr(PyObject *__pyx_v_self, PyObject *__pyx_arg_attrname) {
+ char *__pyx_v_attrname;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
- __Pyx_RefNannySetupContext("__releasebuffer__", 0);
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
- *
- * def __releasebuffer__(ndarray self, Py_buffer* info):
- * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
- * stdlib.free(info.format)
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- */
- __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
- if (__pyx_t_1) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
- * def __releasebuffer__(ndarray self, Py_buffer* info):
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format) # <<<<<<<<<<<<<<
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- * stdlib.free(info.strides)
- */
- free(__pyx_v_info->format);
- goto __pyx_L3;
- }
- __pyx_L3:;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format)
- * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
- * stdlib.free(info.strides)
- * # info.shape was stored after info.strides in the same block
- */
- __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
- if (__pyx_t_1) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
- * stdlib.free(info.format)
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- * stdlib.free(info.strides) # <<<<<<<<<<<<<<
- * # info.shape was stored after info.strides in the same block
- *
- */
- free(__pyx_v_info->strides);
- goto __pyx_L4;
+ __Pyx_RefNannySetupContext("define_attr (wrapper)", 0);
+ assert(__pyx_arg_attrname); {
+ __pyx_v_attrname = __Pyx_PyObject_AsString(__pyx_arg_attrname); if (unlikely((!__pyx_v_attrname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
- __pyx_L4:;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
- * f[0] = c'\0' # Terminate format string
- *
- * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format)
- */
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.writer.define_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_6writer_6define_attr(((struct __pyx_obj_5adios_writer *)__pyx_v_self), ((char *)__pyx_v_attrname));
/* function exit code */
__Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
- * ctypedef npy_cdouble complex_t
- *
- * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(1, <void*>a)
- *
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+static PyObject *__pyx_pf_5adios_6writer_6define_attr(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_attrname) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+ __Pyx_RefNannySetupContext("define_attr", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":769
+ /* "adios.pyx":1274
+ * """
*
- * cdef inline object PyArray_MultiIterNew1(a):
- * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
+ * self.attr[attrname] = attrinfo(attrname, is_static=True) # <<<<<<<<<<<<<<
*
- * cdef inline object PyArray_MultiIterNew2(a, b):
+ * def define_dynamic_attr(self, char * attrname,
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_is_static, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_attrinfo)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (unlikely(PyDict_SetItem(__pyx_v_self->attr, __pyx_t_1, __pyx_t_3) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
- * ctypedef npy_cdouble complex_t
- *
- * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(1, <void*>a)
+ /* "adios.pyx":1266
+ * self.var[varname] = varinfo(varname, ldim, gdim, offset)
*
+ * def define_attr(self, char * attrname): # <<<<<<<<<<<<<<
+ * """
+ * Define attribute in the file.
*/
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.writer.define_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
- * return PyArray_MultiIterNew(1, <void*>a)
- *
- * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+/* "adios.pyx":1276
+ * self.attr[attrname] = attrinfo(attrname, is_static=True)
*
+ * def define_dynamic_attr(self, char * attrname, # <<<<<<<<<<<<<<
+ * char * varname,
+ * dtype):
*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_9define_dynamic_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_6writer_8define_dynamic_attr[] = "writer.define_dynamic_attr(self, char *attrname, char *varname, dtype)";
+static PyObject *__pyx_pw_5adios_6writer_9define_dynamic_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_attrname;
+ char *__pyx_v_varname;
+ PyObject *__pyx_v_dtype = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":772
- *
- * cdef inline object PyArray_MultiIterNew2(a, b):
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c):
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
- * return PyArray_MultiIterNew(1, <void*>a)
- *
- * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
- *
- */
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define_dynamic_attr (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrname,&__pyx_n_s_varname,&__pyx_n_s_dtype,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_attrname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_dynamic_attr", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 2:
+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_dynamic_attr", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_dynamic_attr") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ }
+ __pyx_v_attrname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_attrname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_varname = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_varname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_dtype = values[2];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("define_dynamic_attr", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.writer.define_dynamic_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_6writer_8define_dynamic_attr(((struct __pyx_obj_5adios_writer *)__pyx_v_self), __pyx_v_attrname, __pyx_v_varname, __pyx_v_dtype);
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
- *
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+static PyObject *__pyx_pf_5adios_6writer_8define_dynamic_attr(struct __pyx_obj_5adios_writer *__pyx_v_self, char *__pyx_v_attrname, char *__pyx_v_varname, PyObject *__pyx_v_dtype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+ __Pyx_RefNannySetupContext("define_dynamic_attr", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":775
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c):
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ /* "adios.pyx":1279
+ * char * varname,
+ * dtype):
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False) # <<<<<<<<<<<<<<
+ * def __setitem__(self, name, val):
+ * if self.var.has_key(name):
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_varname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_v_dtype);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_dtype);
+ __Pyx_GIVEREF(__pyx_v_dtype);
__pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_2 = 0;
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_static, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_attrinfo)), __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (unlikely(PyDict_SetItem(__pyx_v_self->attr, __pyx_t_2, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ /* "adios.pyx":1276
+ * self.attr[attrname] = attrinfo(attrname, is_static=True)
*
+ * def define_dynamic_attr(self, char * attrname, # <<<<<<<<<<<<<<
+ * char * varname,
+ * dtype):
*/
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.writer.define_dynamic_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
+/* "adios.pyx":1280
+ * dtype):
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ * def __setitem__(self, name, val): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * self.var[name].value = val
*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
- PyObject *__pyx_r = NULL;
+/* Python wrapper */
+static int __pyx_pw_5adios_6writer_11__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val); /*proto*/
+static int __pyx_pw_5adios_6writer_11__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val) {
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
- */
+ __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_10__setitem__(((struct __pyx_obj_5adios_writer *)__pyx_v_self), ((PyObject *)__pyx_v_name), ((PyObject *)__pyx_v_val));
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
- *
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
- PyObject *__pyx_r = NULL;
+static int __pyx_pf_5adios_6writer_10__setitem__(struct __pyx_obj_5adios_writer *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val) {
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+ __Pyx_RefNannySetupContext("__setitem__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":781
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
- *
- * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ /* "adios.pyx":1281
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ * def __setitem__(self, name, val):
+ * if self.var.has_key(name): # <<<<<<<<<<<<<<
+ * self.var[name].value = val
+ * elif self.attr.has_key(name):
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = PyDict_Contains(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ /* "adios.pyx":1282
+ * def __setitem__(self, name, val):
+ * if self.var.has_key(name):
+ * self.var[name].value = val # <<<<<<<<<<<<<<
+ * elif self.attr.has_key(name):
+ * self.attr[name].value = val
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_value, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+
+ /* "adios.pyx":1283
+ * if self.var.has_key(name):
+ * self.var[name].value = val
+ * elif self.attr.has_key(name): # <<<<<<<<<<<<<<
+ * self.attr[name].value = val
+ * else:
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = PyDict_Contains(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios.pyx":1284
+ * self.var[name].value = val
+ * elif self.attr.has_key(name):
+ * self.attr[name].value = val # <<<<<<<<<<<<<<
+ * else:
+ * self.var[name] = val
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_value, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1286
+ * self.attr[name].value = val
+ * else:
+ * self.var[name] = val # <<<<<<<<<<<<<<
*
+ * def __getitem__(self, name):
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_name, __pyx_v_val) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":1280
+ * dtype):
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ * def __setitem__(self, name, val): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * self.var[name].value = val
*/
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.writer.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
__pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+/* "adios.pyx":1288
+ * self.var[name] = val
*
- * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
- * # Recursive utility function used in __getbuffer__ to get format
- * # string. The new location in the format string is returned.
+ * def __getitem__(self, name): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * return self.var[name].value
*/
-static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
- PyArray_Descr *__pyx_v_child = 0;
- int __pyx_v_endian_detector;
- int __pyx_v_little_endian;
- PyObject *__pyx_v_fields = 0;
- PyObject *__pyx_v_childname = NULL;
- PyObject *__pyx_v_new_offset = NULL;
- PyObject *__pyx_v_t = NULL;
- char *__pyx_r;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_13__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_13__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- Py_ssize_t __pyx_t_2;
+ __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_12__getitem__(((struct __pyx_obj_5adios_writer *)__pyx_v_self), ((PyObject *)__pyx_v_name));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_6writer_12__getitem__(struct __pyx_obj_5adios_writer *__pyx_v_self, PyObject *__pyx_v_name) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
- int __pyx_t_5;
- int __pyx_t_6;
- int __pyx_t_7;
- long __pyx_t_8;
- char *__pyx_t_9;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+ __Pyx_RefNannySetupContext("__getitem__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
- * cdef int delta_offset
- * cdef tuple i
- * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
- * cdef tuple fields
- */
- __pyx_v_endian_detector = 1;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
- * cdef tuple i
- * cdef int endian_detector = 1
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
- * cdef tuple fields
+ /* "adios.pyx":1289
*
+ * def __getitem__(self, name):
+ * if self.var.has_key(name): # <<<<<<<<<<<<<<
+ * return self.var[name].value
+ * elif self.attr.has_key(name):
*/
- __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = PyDict_Contains(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
- * cdef tuple fields
- *
- * for childname in descr.names: # <<<<<<<<<<<<<<
- * fields = descr.fields[childname]
- * child, new_offset = fields
+ /* "adios.pyx":1290
+ * def __getitem__(self, name):
+ * if self.var.has_key(name):
+ * return self.var[name].value # <<<<<<<<<<<<<<
+ * elif self.attr.has_key(name):
+ * return self.attr[name].value
*/
- if (unlikely(__pyx_v_descr->names == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_4;
+ __pyx_t_4 = 0;
+ goto __pyx_L0;
}
- __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
- for (;;) {
- if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
- __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795
- *
- * for childname in descr.names:
- * fields = descr.fields[childname] # <<<<<<<<<<<<<<
- * child, new_offset = fields
- *
+ /* "adios.pyx":1291
+ * if self.var.has_key(name):
+ * return self.var[name].value
+ * elif self.attr.has_key(name): # <<<<<<<<<<<<<<
+ * return self.attr[name].value
+ * else:
*/
- __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- __Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
- __pyx_t_3 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = PyDict_Contains(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
- * for childname in descr.names:
- * fields = descr.fields[childname]
- * child, new_offset = fields # <<<<<<<<<<<<<<
- *
- * if (end - f) - <int>(new_offset - offset[0]) < 15:
+ /* "adios.pyx":1292
+ * return self.var[name].value
+ * elif self.attr.has_key(name):
+ * return self.attr[name].value # <<<<<<<<<<<<<<
+ * else:
+ * raise KeyError(name)
*/
- if (likely(__pyx_v_fields != Py_None)) {
- PyObject* sequence = __pyx_v_fields;
- #if CYTHON_COMPILING_IN_CPYTHON
- Py_ssize_t size = Py_SIZE(sequence);
- #else
- Py_ssize_t size = PySequence_Size(sequence);
- #endif
- if (unlikely(size != 2)) {
- if (size > 2) __Pyx_RaiseTooManyValuesError(2);
- else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
- __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- #else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- #endif
- } else {
- __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
+ __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
- __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
- __pyx_t_4 = 0;
+ goto __pyx_L0;
+ }
+ /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
- * child, new_offset = fields
- *
- * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
- * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ /* "adios.pyx":1294
+ * return self.attr[name].value
+ * else:
+ * raise KeyError(name) # <<<<<<<<<<<<<<
*
+ * def close(self):
*/
- __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_INCREF(__pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name);
+ __Pyx_GIVEREF(__pyx_v_name);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
- if (__pyx_t_6) {
+ __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
- *
- * if (end - f) - <int>(new_offset - offset[0]) < 15:
- * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
+ /* "adios.pyx":1288
+ * self.var[name] = val
*
- * if ((child.byteorder == c'>' and little_endian) or
+ * def __getitem__(self, name): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * return self.var[name].value
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
- * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
- *
- * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
- * (child.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported")
- */
- __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
- if (!__pyx_t_7) {
- goto __pyx_L8_next_or;
- } else {
- }
- __pyx_t_7 = (__pyx_v_little_endian != 0);
- if (!__pyx_t_7) {
- } else {
- __pyx_t_6 = __pyx_t_7;
- goto __pyx_L7_bool_binop_done;
- }
- __pyx_L8_next_or:;
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios.writer.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+/* "adios.pyx":1296
+ * raise KeyError(name)
*
- * if ((child.byteorder == c'>' and little_endian) or
- * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
- * raise ValueError(u"Non-native byte order not supported")
- * # One could encode it in the format string and have Cython
- */
- __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
- if (__pyx_t_7) {
- } else {
- __pyx_t_6 = __pyx_t_7;
- goto __pyx_L7_bool_binop_done;
- }
- __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
- __pyx_t_6 = __pyx_t_7;
- __pyx_L7_bool_binop_done:;
- if (__pyx_t_6) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
- * if ((child.byteorder == c'>' and little_endian) or
- * (child.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
- * # One could encode it in the format string and have Cython
- * # complain instead, BUT: < and > in format strings also imply
+ * def close(self): # <<<<<<<<<<<<<<
+ * """
+ * Write variables and attributes to a file and close the writer.
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
- *
- * # Output padding bytes
- * while offset[0] < new_offset: # <<<<<<<<<<<<<<
- * f[0] = 120 # "x"; pad byte
- * f += 1
- */
- while (1) {
- __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (!__pyx_t_6) break;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_15close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_6writer_14close[] = "writer.close(self)\n\n Write variables and attributes to a file and close the writer.\n ";
+static PyObject *__pyx_pw_5adios_6writer_15close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("close (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_14close(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
- * # Output padding bytes
- * while offset[0] < new_offset:
- * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<
- * f += 1
- * offset[0] += 1
- */
- (__pyx_v_f[0]) = 120;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
- * while offset[0] < new_offset:
- * f[0] = 120 # "x"; pad byte
- * f += 1 # <<<<<<<<<<<<<<
- * offset[0] += 1
- *
- */
- __pyx_v_f = (__pyx_v_f + 1);
+static PyObject *__pyx_pf_5adios_6writer_14close(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ int64_t __pyx_v_fd;
+ PyObject *__pyx_v_extra_var = NULL;
+ PyObject *__pyx_v_extra_attr = NULL;
+ PyObject *__pyx_v_key = NULL;
+ PyObject *__pyx_v_val = NULL;
+ PyObject *__pyx_v_n = NULL;
+ PyObject *__pyx_v_groupsize = NULL;
+ PyObject *__pyx_v_var = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ char *__pyx_t_1;
+ char *__pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ Py_ssize_t __pyx_t_5;
+ int __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_t_9;
+ int __pyx_t_10;
+ int __pyx_t_11;
+ PyObject *__pyx_t_12 = NULL;
+ PyObject *__pyx_t_13 = NULL;
+ PyObject *__pyx_t_14 = NULL;
+ PyObject *(*__pyx_t_15)(PyObject *);
+ uint64_t __pyx_t_16;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("close", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
- * f[0] = 120 # "x"; pad byte
- * f += 1
- * offset[0] += 1 # <<<<<<<<<<<<<<
+ /* "adios.pyx":1300
+ * Write variables and attributes to a file and close the writer.
+ * """
+ * fd = open(self.gname, self.fname, "w") # <<<<<<<<<<<<<<
*
- * offset[0] += child.itemsize
+ * extra_var = dict()
*/
- __pyx_t_8 = 0;
- (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
- }
+ __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_self->gname); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_self->fname); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_fd = __pyx_f_5adios_open(__pyx_t_1, __pyx_t_2, __pyx_k_w, 0, NULL);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
- * offset[0] += 1
+ /* "adios.pyx":1302
+ * fd = open(self.gname, self.fname, "w")
*
- * offset[0] += child.itemsize # <<<<<<<<<<<<<<
+ * extra_var = dict() # <<<<<<<<<<<<<<
+ * extra_attr = dict()
*
- * if not PyDataType_HASFIELDS(child):
*/
- __pyx_t_8 = 0;
- (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_extra_var = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
- * offset[0] += child.itemsize
+ /* "adios.pyx":1303
*
- * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
- * t = child.type_num
- * if end - f < 5:
- */
- __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
- if (__pyx_t_6) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
+ * extra_var = dict()
+ * extra_attr = dict() # <<<<<<<<<<<<<<
*
- * if not PyDataType_HASFIELDS(child):
- * t = child.type_num # <<<<<<<<<<<<<<
- * if end - f < 5:
- * raise RuntimeError(u"Format string allocated too short.")
+ * for key, val in self.var.iteritems():
*/
- __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
- __pyx_t_4 = 0;
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_extra_attr = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
- * if not PyDataType_HASFIELDS(child):
- * t = child.type_num
- * if end - f < 5: # <<<<<<<<<<<<<<
- * raise RuntimeError(u"Format string allocated too short.")
+ /* "adios.pyx":1305
+ * extra_attr = dict()
*
+ * for key, val in self.var.iteritems(): # <<<<<<<<<<<<<<
+ * if not isinstance(val, varinfo):
+ * n = np.array(val)
*/
- __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
- if (__pyx_t_6) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
- * t = child.type_num
- * if end - f < 5:
- * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
- *
- * # Until ticket #99 is fixed, use integers to avoid warnings
- */
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_Raise(__pyx_t_4, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __pyx_t_4 = 0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iteritems");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_self->var, 1, __pyx_n_s_iteritems, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_5, &__pyx_t_4, &__pyx_t_7, &__pyx_t_8, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
- *
- * # Until ticket #99 is fixed, use integers to avoid warnings
- * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<
- * elif t == NPY_UBYTE: f[0] = 66 #"B"
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- */
- __pyx_t_4 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 98;
- goto __pyx_L15;
+ /* "adios.pyx":1306
+ *
+ * for key, val in self.var.iteritems():
+ * if not isinstance(val, varinfo): # <<<<<<<<<<<<<<
+ * n = np.array(val)
+ * extra_var[key] = varinfo(key, n.shape)
+ */
+ __pyx_t_10 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_5adios_varinfo));
+ __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0);
+ if (__pyx_t_11) {
+
+ /* "adios.pyx":1307
+ * for key, val in self.var.iteritems():
+ * if not isinstance(val, varinfo):
+ * n = np.array(val) # <<<<<<<<<<<<<<
+ * extra_var[key] = varinfo(key, n.shape)
+ * extra_var[key].value = val
+ */
+ __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_12, function);
+ }
}
+ if (!__pyx_t_7) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_val); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_n, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
- * # Until ticket #99 is fixed, use integers to avoid warnings
- * if t == NPY_BYTE: f[0] = 98 #"b"
- * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- * elif t == NPY_USHORT: f[0] = 72 #"H"
+ /* "adios.pyx":1308
+ * if not isinstance(val, varinfo):
+ * n = np.array(val)
+ * extra_var[key] = varinfo(key, n.shape) # <<<<<<<<<<<<<<
+ * extra_var[key].value = val
+ * else:
*/
- __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 66;
- goto __pyx_L15;
- }
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_n, __pyx_n_s_shape); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_8);
+ __Pyx_GIVEREF(__pyx_t_8);
+ __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_varinfo)), __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ if (unlikely(PyDict_SetItem(__pyx_v_extra_var, __pyx_v_key, __pyx_t_8) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
- * if t == NPY_BYTE: f[0] = 98 #"b"
- * elif t == NPY_UBYTE: f[0] = 66 #"B"
- * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<
- * elif t == NPY_USHORT: f[0] = 72 #"H"
- * elif t == NPY_INT: f[0] = 105 #"i"
+ /* "adios.pyx":1309
+ * n = np.array(val)
+ * extra_var[key] = varinfo(key, n.shape)
+ * extra_var[key].value = val # <<<<<<<<<<<<<<
+ * else:
+ * if self.is_noxml: val.define(self.gid)
*/
- __pyx_t_4 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 104;
- goto __pyx_L15;
+ __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_extra_var, __pyx_v_key); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_8);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_value, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios.pyx":1311
+ * extra_var[key].value = val
+ * else:
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ *
+ * for key, val in extra_var.iteritems():
+ */
+ __pyx_t_11 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_11) {
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_13 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_12))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_12, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_13);
+ __Pyx_GIVEREF(__pyx_t_13);
+ __pyx_t_13 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L6;
}
+ __pyx_L6:;
+ }
+ __pyx_L5:;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
- * elif t == NPY_UBYTE: f[0] = 66 #"B"
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<
- * elif t == NPY_INT: f[0] = 105 #"i"
- * elif t == NPY_UINT: f[0] = 73 #"I"
+ /* "adios.pyx":1313
+ * if self.is_noxml: val.define(self.gid)
+ *
+ * for key, val in extra_var.iteritems(): # <<<<<<<<<<<<<<
+ * if self.is_noxml: val.define(self.gid)
+ * self.var[key] = val
*/
- __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 72;
- goto __pyx_L15;
- }
+ __pyx_t_5 = 0;
+ __pyx_t_8 = __Pyx_dict_iterator(__pyx_v_extra_var, 1, __pyx_n_s_iteritems, (&__pyx_t_4), (&__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_8;
+ __pyx_t_8 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_4, &__pyx_t_5, &__pyx_t_8, &__pyx_t_12, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_8);
+ __pyx_t_8 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_12);
+ __pyx_t_12 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- * elif t == NPY_USHORT: f[0] = 72 #"H"
- * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<
- * elif t == NPY_UINT: f[0] = 73 #"I"
- * elif t == NPY_LONG: f[0] = 108 #"l"
+ /* "adios.pyx":1314
+ *
+ * for key, val in extra_var.iteritems():
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ * self.var[key] = val
+ *
*/
- __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 105;
- goto __pyx_L15;
+ __pyx_t_11 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_11) {
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_14 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ __pyx_t_13 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_13)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_13);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
+ }
}
+ if (!__pyx_t_13) {
+ __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_14); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ __Pyx_GOTREF(__pyx_t_12);
+ } else {
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_14);
+ __Pyx_GIVEREF(__pyx_t_14);
+ __pyx_t_14 = 0;
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ goto __pyx_L9;
+ }
+ __pyx_L9:;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
- * elif t == NPY_USHORT: f[0] = 72 #"H"
- * elif t == NPY_INT: f[0] = 105 #"i"
- * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<
- * elif t == NPY_LONG: f[0] = 108 #"l"
- * elif t == NPY_ULONG: f[0] = 76 #"L"
+ /* "adios.pyx":1315
+ * for key, val in extra_var.iteritems():
+ * if self.is_noxml: val.define(self.gid)
+ * self.var[key] = val # <<<<<<<<<<<<<<
+ *
+ * for key, val in self.attr.iteritems():
*/
- __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 73;
- goto __pyx_L15;
- }
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_key, __pyx_v_val) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
- * elif t == NPY_INT: f[0] = 105 #"i"
- * elif t == NPY_UINT: f[0] = 73 #"I"
- * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONG: f[0] = 76 #"L"
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ /* "adios.pyx":1317
+ * self.var[key] = val
+ *
+ * for key, val in self.attr.iteritems(): # <<<<<<<<<<<<<<
+ * if not isinstance(val, attrinfo):
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
*/
- __pyx_t_4 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 108;
- goto __pyx_L15;
- }
+ __pyx_t_4 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iteritems");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_12 = __Pyx_dict_iterator(__pyx_v_self->attr, 1, __pyx_n_s_iteritems, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_12;
+ __pyx_t_12 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_5, &__pyx_t_4, &__pyx_t_12, &__pyx_t_8, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_12);
+ __pyx_t_12 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
- * elif t == NPY_UINT: f[0] = 73 #"I"
- * elif t == NPY_LONG: f[0] = 108 #"l"
- * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ /* "adios.pyx":1318
+ *
+ * for key, val in self.attr.iteritems():
+ * if not isinstance(val, attrinfo): # <<<<<<<<<<<<<<
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
+ * else:
*/
- __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 76;
- goto __pyx_L15;
+ __pyx_t_11 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_5adios_attrinfo));
+ __pyx_t_10 = ((!(__pyx_t_11 != 0)) != 0);
+ if (__pyx_t_10) {
+
+ /* "adios.pyx":1319
+ * for key, val in self.attr.iteritems():
+ * if not isinstance(val, attrinfo):
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype) # <<<<<<<<<<<<<<
+ * else:
+ * if self.is_noxml: val.define(self.gid)
+ */
+ __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __pyx_t_12 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_12)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_12);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ }
}
+ if (!__pyx_t_12) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_val); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = NULL;
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_attrinfo)), __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(PyDict_SetItem(__pyx_v_extra_attr, __pyx_v_key, __pyx_t_7) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ goto __pyx_L12;
+ }
+ /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
- * elif t == NPY_LONG: f[0] = 108 #"l"
- * elif t == NPY_ULONG: f[0] = 76 #"L"
- * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- */
- __pyx_t_4 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 113;
- goto __pyx_L15;
+ /* "adios.pyx":1321
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
+ * else:
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ *
+ * for key, val in extra_attr.iteritems():
+ */
+ __pyx_t_10 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_10) {
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_14 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ __pyx_t_12 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_12)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_12);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
+ }
+ }
+ if (!__pyx_t_12) {
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ __Pyx_GOTREF(__pyx_t_7);
+ } else {
+ __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_14);
+ __Pyx_GIVEREF(__pyx_t_14);
+ __pyx_t_14 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ goto __pyx_L13;
}
+ __pyx_L13:;
+ }
+ __pyx_L12:;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
- * elif t == NPY_ULONG: f[0] = 76 #"L"
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ /* "adios.pyx":1323
+ * if self.is_noxml: val.define(self.gid)
+ *
+ * for key, val in extra_attr.iteritems(): # <<<<<<<<<<<<<<
+ * if self.is_noxml: val.define(self.gid)
+ *
*/
- __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 81;
- goto __pyx_L15;
+ __pyx_t_5 = 0;
+ __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_extra_attr, 1, __pyx_n_s_iteritems, (&__pyx_t_4), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_4, &__pyx_t_5, &__pyx_t_7, &__pyx_t_8, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_8);
+ __pyx_t_8 = 0;
+
+ /* "adios.pyx":1324
+ *
+ * for key, val in extra_attr.iteritems():
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ *
+ * groupsize = 0
+ */
+ __pyx_t_10 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_10) {
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_13 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_t_14 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_14)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_14);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ }
+ }
+ if (!__pyx_t_14) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_13); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_13);
+ __Pyx_GIVEREF(__pyx_t_13);
+ __pyx_t_13 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L16;
+ }
+ __pyx_L16:;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ /* "adios.pyx":1326
+ * if self.is_noxml: val.define(self.gid)
+ *
+ * groupsize = 0 # <<<<<<<<<<<<<<
+ * for var in self.var.values():
+ * groupsize = groupsize + var.bytes()
*/
- __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 102;
- goto __pyx_L15;
- }
+ __Pyx_INCREF(__pyx_int_0);
+ __pyx_v_groupsize = __pyx_int_0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ /* "adios.pyx":1327
+ *
+ * groupsize = 0
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * groupsize = groupsize + var.bytes()
+ *
*/
- __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 100;
- goto __pyx_L15;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Values(__pyx_v_self->var); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
+ __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_4 = 0;
+ __pyx_t_15 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_15 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_15)) {
+ if (likely(PyList_CheckExact(__pyx_t_8))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_8)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
}
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- */
- __pyx_t_4 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 103;
- goto __pyx_L15;
+ } else {
+ __pyx_t_3 = __pyx_t_15(__pyx_t_8);
+ if (unlikely(!__pyx_t_3)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
}
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- */
- __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 90;
- (__pyx_v_f[1]) = 102;
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L15;
- }
+ }
+ __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ /* "adios.pyx":1328
+ * groupsize = 0
+ * for var in self.var.values():
+ * groupsize = groupsize + var.bytes() # <<<<<<<<<<<<<<
+ *
+ * set_group_size(fd, groupsize)
*/
- __pyx_t_4 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 90;
- (__pyx_v_f[1]) = 100;
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L15;
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_n_s_bytes_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_12 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_12)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_12);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
}
+ }
+ if (__pyx_t_12) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_12); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ } else {
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = PyNumber_Add(__pyx_v_groupsize, __pyx_t_3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF_SET(__pyx_v_groupsize, __pyx_t_7);
+ __pyx_t_7 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<
- * elif t == NPY_OBJECT: f[0] = 79 #"O"
- * else:
+ /* "adios.pyx":1327
+ *
+ * groupsize = 0
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * groupsize = groupsize + var.bytes()
+ *
*/
- __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 90;
- (__pyx_v_f[1]) = 103;
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L15;
- }
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ /* "adios.pyx":1330
+ * groupsize = groupsize + var.bytes()
+ *
+ * set_group_size(fd, groupsize) # <<<<<<<<<<<<<<
+ *
+ * for var in self.var.values():
*/
- __pyx_t_4 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 79;
- goto __pyx_L15;
- }
- /*else*/ {
+ __pyx_t_16 = __Pyx_PyInt_As_uint64_t(__pyx_v_groupsize); if (unlikely((__pyx_t_16 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_f_5adios_set_group_size(__pyx_v_fd, __pyx_t_16, 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
- * elif t == NPY_OBJECT: f[0] = 79 #"O"
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
- * f += 1
- * else:
+ /* "adios.pyx":1332
+ * set_group_size(fd, groupsize)
+ *
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * var.write(fd)
+ *
*/
- __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_8 = __Pyx_PyDict_Values(__pyx_v_self->var); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+ __pyx_t_7 = __pyx_t_8; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0;
+ __pyx_t_15 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_15 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_15)) {
+ if (likely(PyList_CheckExact(__pyx_t_7))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
}
- __pyx_L15:;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- * f += 1 # <<<<<<<<<<<<<<
- * else:
- * # Cython ignores struct boundary information ("T{...}"),
- */
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L13;
+ } else {
+ __pyx_t_8 = __pyx_t_15(__pyx_t_7);
+ if (unlikely(!__pyx_t_8)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_8);
}
- /*else*/ {
+ __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
- * # Cython ignores struct boundary information ("T{...}"),
- * # so don't output it
- * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<
- * return f
+ /* "adios.pyx":1333
*
+ * for var in self.var.values():
+ * var.write(fd) # <<<<<<<<<<<<<<
+ *
+ * close(fd)
*/
- __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_f = __pyx_t_9;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_12 = __Pyx_PyInt_From_int64_t(__pyx_v_fd); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_13 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_13)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_13);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
}
- __pyx_L13:;
+ if (!__pyx_t_13) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_12);
+ __Pyx_GIVEREF(__pyx_t_12);
+ __pyx_t_12 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
- * cdef tuple fields
+ /* "adios.pyx":1332
+ * set_group_size(fd, groupsize)
+ *
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * var.write(fd)
*
- * for childname in descr.names: # <<<<<<<<<<<<<<
- * fields = descr.fields[childname]
- * child, new_offset = fields
*/
}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
- * # so don't output it
- * f = _util_dtypestring(child, f, end, offset)
- * return f # <<<<<<<<<<<<<<
+ /* "adios.pyx":1335
+ * var.write(fd)
*
+ * close(fd) # <<<<<<<<<<<<<<
*
+ * def __repr__(self):
*/
- __pyx_r = __pyx_v_f;
- goto __pyx_L0;
+ __pyx_f_5adios_close(__pyx_v_fd, 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ /* "adios.pyx":1296
+ * raise KeyError(name)
*
- * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
- * # Recursive utility function used in __getbuffer__ to get format
- * # string. The new location in the format string is returned.
+ * def close(self): # <<<<<<<<<<<<<<
+ * """
+ * Write variables and attributes to a file and close the writer.
*/
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_12);
+ __Pyx_XDECREF(__pyx_t_13);
+ __Pyx_XDECREF(__pyx_t_14);
+ __Pyx_AddTraceback("adios.writer.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
- __Pyx_XDECREF((PyObject *)__pyx_v_child);
- __Pyx_XDECREF(__pyx_v_fields);
- __Pyx_XDECREF(__pyx_v_childname);
- __Pyx_XDECREF(__pyx_v_new_offset);
- __Pyx_XDECREF(__pyx_v_t);
+ __Pyx_XDECREF(__pyx_v_extra_var);
+ __Pyx_XDECREF(__pyx_v_extra_attr);
+ __Pyx_XDECREF(__pyx_v_key);
+ __Pyx_XDECREF(__pyx_v_val);
+ __Pyx_XDECREF(__pyx_v_n);
+ __Pyx_XDECREF(__pyx_v_groupsize);
+ __Pyx_XDECREF(__pyx_v_var);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
- *
+/* "adios.pyx":1337
+ * close(fd)
*
- * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
- * cdef PyObject* baseptr
- * if base is None:
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
*/
-static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
- PyObject *__pyx_v_baseptr;
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_6writer_17__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_6writer_17__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_t_2;
- __Pyx_RefNannySetupContext("set_array_base", 0);
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_6writer_16__repr__(((struct __pyx_obj_5adios_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
- * cdef inline void set_array_base(ndarray arr, object base):
- * cdef PyObject* baseptr
- * if base is None: # <<<<<<<<<<<<<<
- * baseptr = NULL
- * else:
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_6writer_16__repr__(struct __pyx_obj_5adios_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios.pyx":1338
+ *
+ * def __repr__(self):
+ * return ("AdiosWriter (fname=%r, gname=%r, " # <<<<<<<<<<<<<<
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
+ * (self.fname,
*/
- __pyx_t_1 = (__pyx_v_base == Py_None);
- __pyx_t_2 = (__pyx_t_1 != 0);
- if (__pyx_t_2) {
+ __Pyx_XDECREF(__pyx_r);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
- * cdef PyObject* baseptr
- * if base is None:
- * baseptr = NULL # <<<<<<<<<<<<<<
- * else:
- * Py_INCREF(base) # important to do this before decref below!
+ /* "adios.pyx":1344
+ * self.method,
+ * self.method_params,
+ * self.var.keys(), # <<<<<<<<<<<<<<
+ * self.attr.keys())
+ *
*/
- __pyx_v_baseptr = NULL;
- goto __pyx_L3;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- /*else*/ {
+ __pyx_t_1 = __Pyx_PyDict_Keys(__pyx_v_self->var); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
- * baseptr = NULL
- * else:
- * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<<
- * baseptr = <PyObject*>base
- * Py_XDECREF(arr.base)
+ /* "adios.pyx":1345
+ * self.method_params,
+ * self.var.keys(),
+ * self.attr.keys()) # <<<<<<<<<<<<<<
+ *
+ * cdef class attrinfo:
*/
- Py_INCREF(__pyx_v_base);
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = __Pyx_PyDict_Keys(__pyx_v_self->attr); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
- * else:
- * Py_INCREF(base) # important to do this before decref below!
- * baseptr = <PyObject*>base # <<<<<<<<<<<<<<
- * Py_XDECREF(arr.base)
- * arr.base = baseptr
+ /* "adios.pyx":1340
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
+ * (self.fname, # <<<<<<<<<<<<<<
+ * self.gname,
+ * self.method,
*/
- __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
- }
- __pyx_L3:;
+ __pyx_t_3 = PyTuple_New(6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_self->fname);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self->fname);
+ __Pyx_GIVEREF(__pyx_v_self->fname);
+ __Pyx_INCREF(__pyx_v_self->gname);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->gname);
+ __Pyx_GIVEREF(__pyx_v_self->gname);
+ __Pyx_INCREF(__pyx_v_self->method);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self->method);
+ __Pyx_GIVEREF(__pyx_v_self->method);
+ __Pyx_INCREF(__pyx_v_self->method_params);
+ PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_self->method_params);
+ __Pyx_GIVEREF(__pyx_v_self->method_params);
+ PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_1 = 0;
+ __pyx_t_2 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":973
- * Py_INCREF(base) # important to do this before decref below!
- * baseptr = <PyObject*>base
- * Py_XDECREF(arr.base) # <<<<<<<<<<<<<<
- * arr.base = baseptr
- *
+ /* "adios.pyx":1339
+ * def __repr__(self):
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.fname,
+ * self.gname,
*/
- Py_XDECREF(__pyx_v_arr->base);
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_AdiosWriter_fname_r_gname_r_meth, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
- * baseptr = <PyObject*>base
- * Py_XDECREF(arr.base)
- * arr.base = baseptr # <<<<<<<<<<<<<<
+ /* "adios.pyx":1337
+ * close(fd)
*
- * cdef inline object get_array_base(ndarray arr):
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
*/
- __pyx_v_arr->base = __pyx_v_baseptr;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.writer.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1354
*
+ * property name:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
- * cdef PyObject* baseptr
- * if base is None:
*/
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_8attrinfo_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_8attrinfo_4name_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_8attrinfo_4name___get__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self));
+
/* function exit code */
__Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
- * arr.base = baseptr
- *
- * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
- * if arr.base is NULL:
- * return None
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+static PyObject *__pyx_pf_5adios_8attrinfo_4name___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
- __Pyx_RefNannySetupContext("get_array_base", 0);
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+ /* "adios.pyx":1355
+ * property name:
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
*
- * cdef inline object get_array_base(ndarray arr):
- * if arr.base is NULL: # <<<<<<<<<<<<<<
- * return None
- * else:
- */
- __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
- if (__pyx_t_1) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":978
- * cdef inline object get_array_base(ndarray arr):
- * if arr.base is NULL:
- * return None # <<<<<<<<<<<<<<
- * else:
- * return <object>arr.base
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(Py_None);
- __pyx_r = Py_None;
- goto __pyx_L0;
- }
- /*else*/ {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
- * return None
- * else:
- * return <object>arr.base # <<<<<<<<<<<<<<
+ * property is_static:
*/
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
- __pyx_r = ((PyObject *)__pyx_v_arr->base);
- goto __pyx_L0;
- }
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
- * arr.base = baseptr
+ /* "adios.pyx":1354
+ *
+ * property name:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
- * if arr.base is NULL:
- * return None
*/
/* function exit code */
@@ -12970,474 +18238,5830 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static struct __pyx_vtabstruct_5adios_file __pyx_vtable_5adios_file;
-
-static PyObject *__pyx_tp_new_5adios_file(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- struct __pyx_obj_5adios_file *p;
- PyObject *o;
- if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
- o = (*t->tp_alloc)(t, 0);
- } else {
- o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
- }
- if (unlikely(!o)) return 0;
- p = ((struct __pyx_obj_5adios_file *)o);
- p->__pyx_vtab = __pyx_vtabptr_5adios_file;
- p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
- return o;
-}
-static void __pyx_tp_dealloc_5adios_file(PyObject *o) {
- struct __pyx_obj_5adios_file *p = (struct __pyx_obj_5adios_file *)o;
- #if PY_VERSION_HEX >= 0x030400a1
- if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->name);
- Py_CLEAR(p->var);
- Py_CLEAR(p->attr);
- (*Py_TYPE(o)->tp_free)(o);
-}
+/* "adios.pyx":1358
+ *
+ * property is_static:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_static
+ *
+ */
-static int __pyx_tp_traverse_5adios_file(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_5adios_file *p = (struct __pyx_obj_5adios_file *)o;
- if (p->var) {
- e = (*v)(p->var, a); if (e) return e;
- }
- if (p->attr) {
- e = (*v)(p->attr, a); if (e) return e;
- }
- return 0;
-}
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_8attrinfo_9is_static_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_8attrinfo_9is_static_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_8attrinfo_9is_static___get__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self));
-static int __pyx_tp_clear_5adios_file(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_5adios_file *p = (struct __pyx_obj_5adios_file *)o;
- tmp = ((PyObject*)p->var);
- p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->attr);
- p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyObject *__pyx_getprop_5adios_4file_name(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_4name_1__get__(o);
-}
+static PyObject *__pyx_pf_5adios_8attrinfo_9is_static___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
-static int __pyx_setprop_5adios_4file_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_4name_3__set__(o, v);
- }
- else {
- return __pyx_pw_5adios_4file_4name_5__del__(o);
- }
-}
+ /* "adios.pyx":1359
+ * property is_static:
+ * def __get__(self):
+ * return self.is_static # <<<<<<<<<<<<<<
+ *
+ * property dtype:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_static); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
-static PyObject *__pyx_getprop_5adios_4file_nvars(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_5nvars_1__get__(o);
-}
+ /* "adios.pyx":1358
+ *
+ * property is_static:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_static
+ *
+ */
-static int __pyx_setprop_5adios_4file_nvars(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_5nvars_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.attrinfo.is_static.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyObject *__pyx_getprop_5adios_4file_nattrs(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_6nattrs_1__get__(o);
-}
+/* "adios.pyx":1362
+ *
+ * property dtype:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
-static int __pyx_setprop_5adios_4file_nattrs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_6nattrs_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_8attrinfo_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_8attrinfo_5dtype_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_8attrinfo_5dtype___get__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self));
-static PyObject *__pyx_getprop_5adios_4file_current_step(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_12current_step_1__get__(o);
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static int __pyx_setprop_5adios_4file_current_step(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_12current_step_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+static PyObject *__pyx_pf_5adios_8attrinfo_5dtype___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
-static PyObject *__pyx_getprop_5adios_4file_last_step(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_9last_step_1__get__(o);
-}
+ /* "adios.pyx":1363
+ * property dtype:
+ * def __get__(self):
+ * return self.dtype # <<<<<<<<<<<<<<
+ *
+ * property value:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->dtype);
+ __pyx_r = __pyx_v_self->dtype;
+ goto __pyx_L0;
-static int __pyx_setprop_5adios_4file_last_step(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_9last_step_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+ /* "adios.pyx":1362
+ *
+ * property dtype:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
-static PyObject *__pyx_getprop_5adios_4file_endianness(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_10endianness_1__get__(o);
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static int __pyx_setprop_5adios_4file_endianness(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_10endianness_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+/* "adios.pyx":1366
+ *
+ * property value:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
+ *
+ */
-static PyObject *__pyx_getprop_5adios_4file_version(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_7version_1__get__(o);
-}
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_8attrinfo_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_8attrinfo_5value_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_8attrinfo_5value___get__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self));
-static int __pyx_setprop_5adios_4file_version(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_7version_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyObject *__pyx_getprop_5adios_4file_file_size(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_9file_size_1__get__(o);
-}
+static PyObject *__pyx_pf_5adios_8attrinfo_5value___get__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
-static int __pyx_setprop_5adios_4file_file_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_9file_size_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+ /* "adios.pyx":1367
+ * property value:
+ * def __get__(self):
+ * return self.value # <<<<<<<<<<<<<<
+ *
+ * def __set__(self, value):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->value);
+ __pyx_r = __pyx_v_self->value;
+ goto __pyx_L0;
-static PyObject *__pyx_getprop_5adios_4file_var(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_3var_1__get__(o);
+ /* "adios.pyx":1366
+ *
+ * property value:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static int __pyx_setprop_5adios_4file_var(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_3var_3__set__(o, v);
- }
- else {
- return __pyx_pw_5adios_4file_3var_5__del__(o);
- }
+/* "adios.pyx":1369
+ * return self.value
+ *
+ * def __set__(self, value): # <<<<<<<<<<<<<<
+ * self.value = value
+ *
+ */
+
+/* Python wrapper */
+static int __pyx_pw_5adios_8attrinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_5adios_8attrinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_8attrinfo_5value_2__set__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyObject *__pyx_getprop_5adios_4file_attr(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_4attr_1__get__(o);
+static int __pyx_pf_5adios_8attrinfo_5value_2__set__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+
+ /* "adios.pyx":1370
+ *
+ * def __set__(self, value):
+ * self.value = value # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, char * name,
+ */
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = __pyx_v_value;
+
+ /* "adios.pyx":1369
+ * return self.value
+ *
+ * def __set__(self, value): # <<<<<<<<<<<<<<
+ * self.value = value
+ *
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static int __pyx_setprop_5adios_4file_attr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_4attr_3__set__(o, v);
- }
- else {
- return __pyx_pw_5adios_4file_4attr_5__del__(o);
+/* "adios.pyx":1372
+ * self.value = value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * value = None,
+ * dtype = None,
+ */
+
+/* Python wrapper */
+static int __pyx_pw_5adios_8attrinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_5adios_8attrinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_name;
+ PyObject *__pyx_v_value = 0;
+ PyObject *__pyx_v_dtype = 0;
+ int __pyx_v_is_static;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_value,&__pyx_n_s_dtype,&__pyx_n_s_is_static,0};
+ PyObject* values[4] = {0,0,0,0};
+
+ /* "adios.pyx":1373
+ *
+ * def __init__(self, char * name,
+ * value = None, # <<<<<<<<<<<<<<
+ * dtype = None,
+ * bint is_static = True):
+ */
+ values[1] = ((PyObject *)Py_None);
+
+ /* "adios.pyx":1374
+ * def __init__(self, char * name,
+ * value = None,
+ * dtype = None, # <<<<<<<<<<<<<<
+ * bint is_static = True):
+ * self.name = name
+ */
+ values[2] = ((PyObject *)Py_None);
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_static);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_value = values[1];
+ __pyx_v_dtype = values[2];
+ if (values[3]) {
+ __pyx_v_is_static = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_is_static == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+
+ /* "adios.pyx":1375
+ * value = None,
+ * dtype = None,
+ * bint is_static = True): # <<<<<<<<<<<<<<
+ * self.name = name
+ * self.value = value
+ */
+ __pyx_v_is_static = ((int)1);
+ }
}
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.attrinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_8attrinfo___init__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self), __pyx_v_name, __pyx_v_value, __pyx_v_dtype, __pyx_v_is_static);
+
+ /* "adios.pyx":1372
+ * self.value = value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * value = None,
+ * dtype = None,
+ */
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyObject *__pyx_getprop_5adios_4file_is_stream(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_4file_9is_stream_1__get__(o);
+static int __pyx_pf_5adios_8attrinfo___init__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_value, PyObject *__pyx_v_dtype, int __pyx_v_is_static) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "adios.pyx":1376
+ * dtype = None,
+ * bint is_static = True):
+ * self.name = name # <<<<<<<<<<<<<<
+ * self.value = value
+ * self.dtype = dtype
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1377
+ * bint is_static = True):
+ * self.name = name
+ * self.value = value # <<<<<<<<<<<<<<
+ * self.dtype = dtype
+ * self.is_static = is_static
+ */
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = __pyx_v_value;
+
+ /* "adios.pyx":1378
+ * self.name = name
+ * self.value = value
+ * self.dtype = dtype # <<<<<<<<<<<<<<
+ * self.is_static = is_static
+ *
+ */
+ __Pyx_INCREF(__pyx_v_dtype);
+ __Pyx_GIVEREF(__pyx_v_dtype);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(__pyx_v_self->dtype);
+ __pyx_v_self->dtype = __pyx_v_dtype;
+
+ /* "adios.pyx":1379
+ * self.value = value
+ * self.dtype = dtype
+ * self.is_static = is_static # <<<<<<<<<<<<<<
+ *
+ * def define(self, int64_t gid):
+ */
+ __pyx_v_self->is_static = __pyx_v_is_static;
+
+ /* "adios.pyx":1372
+ * self.value = value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * value = None,
+ * dtype = None,
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.attrinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static int __pyx_setprop_5adios_4file_is_stream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_4file_9is_stream_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+/* "adios.pyx":1381
+ * self.is_static = is_static
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.is_static:
+ * if self.value is None:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_8attrinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid); /*proto*/
+static char __pyx_doc_5adios_8attrinfo_2define[] = "attrinfo.define(self, int64_t gid)";
+static PyObject *__pyx_pw_5adios_8attrinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid) {
+ int64_t __pyx_v_gid;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define (wrapper)", 0);
+ assert(__pyx_arg_gid); {
+ __pyx_v_gid = __Pyx_PyInt_As_int64_t(__pyx_arg_gid); if (unlikely((__pyx_v_gid == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.attrinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_8attrinfo_2define(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self), ((int64_t)__pyx_v_gid));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyMethodDef __pyx_methods_5adios_file[] = {
- {"__del__", (PyCFunction)__pyx_pw_5adios_4file_3__del__, METH_NOARGS, 0},
- {"close", (PyCFunction)__pyx_pw_5adios_4file_5close, METH_NOARGS, 0},
- {"printself", (PyCFunction)__pyx_pw_5adios_4file_7printself, METH_NOARGS, 0},
- {"advance", (PyCFunction)__pyx_pw_5adios_4file_9advance, METH_VARARGS|METH_KEYWORDS, 0},
- {0, 0, 0, 0}
-};
+static PyObject *__pyx_pf_5adios_8attrinfo_2define(struct __pyx_obj_5adios_attrinfo *__pyx_v_self, int64_t __pyx_v_gid) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ char *__pyx_t_4;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define", 0);
-static struct PyGetSetDef __pyx_getsets_5adios_file[] = {
- {(char *)"name", __pyx_getprop_5adios_4file_name, __pyx_setprop_5adios_4file_name, 0, 0},
- {(char *)"nvars", __pyx_getprop_5adios_4file_nvars, __pyx_setprop_5adios_4file_nvars, 0, 0},
- {(char *)"nattrs", __pyx_getprop_5adios_4file_nattrs, __pyx_setprop_5adios_4file_nattrs, 0, 0},
- {(char *)"current_step", __pyx_getprop_5adios_4file_current_step, __pyx_setprop_5adios_4file_current_step, 0, 0},
- {(char *)"last_step", __pyx_getprop_5adios_4file_last_step, __pyx_setprop_5adios_4file_last_step, 0, 0},
- {(char *)"endianness", __pyx_getprop_5adios_4file_endianness, __pyx_setprop_5adios_4file_endianness, 0, 0},
- {(char *)"version", __pyx_getprop_5adios_4file_version, __pyx_setprop_5adios_4file_version, 0, 0},
- {(char *)"file_size", __pyx_getprop_5adios_4file_file_size, __pyx_setprop_5adios_4file_file_size, 0, 0},
- {(char *)"var", __pyx_getprop_5adios_4file_var, __pyx_setprop_5adios_4file_var, 0, 0},
- {(char *)"attr", __pyx_getprop_5adios_4file_attr, __pyx_setprop_5adios_4file_attr, 0, 0},
- {(char *)"is_stream", __pyx_getprop_5adios_4file_is_stream, __pyx_setprop_5adios_4file_is_stream, 0, 0},
- {0, 0, 0, 0, 0}
-};
+ /* "adios.pyx":1382
+ *
+ * def define(self, int64_t gid):
+ * if self.is_static: # <<<<<<<<<<<<<<
+ * if self.value is None:
+ * raise TypeError("Value is none")
+ */
+ __pyx_t_1 = (__pyx_v_self->is_static != 0);
+ if (__pyx_t_1) {
-static PyTypeObject __pyx_type_5adios_file = {
- PyVarObject_HEAD_INIT(0, 0)
- "adios.file", /*tp_name*/
- sizeof(struct __pyx_obj_5adios_file), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_5adios_file, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- " Private Memeber ", /*tp_doc*/
- __pyx_tp_traverse_5adios_file, /*tp_traverse*/
- __pyx_tp_clear_5adios_file, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- __pyx_methods_5adios_file, /*tp_methods*/
- 0, /*tp_members*/
- __pyx_getsets_5adios_file, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- __pyx_pw_5adios_4file_1__init__, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_5adios_file, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- 0, /*tp_version_tag*/
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
-};
-static struct __pyx_vtabstruct_5adios_var __pyx_vtable_5adios_var;
+ /* "adios.pyx":1383
+ * def define(self, int64_t gid):
+ * if self.is_static:
+ * if self.value is None: # <<<<<<<<<<<<<<
+ * raise TypeError("Value is none")
+ *
+ */
+ __pyx_t_1 = (__pyx_v_self->value == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
-static PyObject *__pyx_tp_new_5adios_var(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- struct __pyx_obj_5adios_var *p;
- PyObject *o;
- if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
- o = (*t->tp_alloc)(t, 0);
- } else {
- o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
- }
- if (unlikely(!o)) return 0;
- p = ((struct __pyx_obj_5adios_var *)o);
- p->__pyx_vtab = __pyx_vtabptr_5adios_var;
- p->file = ((struct __pyx_obj_5adios_file *)Py_None); Py_INCREF(Py_None);
- p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->type = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
- return o;
-}
+ /* "adios.pyx":1384
+ * if self.is_static:
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * define_attribute_byvalue(gid, self.name, "", self.value)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
-static void __pyx_tp_dealloc_5adios_var(PyObject *o) {
- struct __pyx_obj_5adios_var *p = (struct __pyx_obj_5adios_var *)o;
- #if PY_VERSION_HEX >= 0x030400a1
- if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
+ /* "adios.pyx":1386
+ * raise TypeError("Value is none")
+ *
+ * define_attribute_byvalue(gid, self.name, "", self.value) # <<<<<<<<<<<<<<
+ * else:
+ * ##atype = np2adiostype(np.dtype(self.dtype))
+ */
+ __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_f_5adios_define_attribute_byvalue(__pyx_v_gid, __pyx_t_4, __pyx_k__7, __pyx_t_3, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ goto __pyx_L3;
}
- #endif
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->file);
- Py_CLEAR(p->name);
- Py_CLEAR(p->type);
- Py_CLEAR(p->dims);
- (*Py_TYPE(o)->tp_free)(o);
-}
+ /*else*/ {
-static int __pyx_tp_traverse_5adios_var(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_5adios_var *p = (struct __pyx_obj_5adios_var *)o;
- if (p->file) {
- e = (*v)(((PyObject*)p->file), a); if (e) return e;
- }
- if (p->type) {
- e = (*v)(p->type, a); if (e) return e;
- }
- if (p->dims) {
- e = (*v)(p->dims, a); if (e) return e;
+ /* "adios.pyx":1391
+ * ##define_attribute(gid, self.name, "",
+ * ## atype, "", str(self.value))
+ * raise NotImplementedError # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __Pyx_Raise(__pyx_builtin_NotImplementedError, 0, 0, 0);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- return 0;
-}
-
-static int __pyx_tp_clear_5adios_var(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_5adios_var *p = (struct __pyx_obj_5adios_var *)o;
- tmp = ((PyObject*)p->file);
- p->file = ((struct __pyx_obj_5adios_file *)Py_None); Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->type);
- p->type = ((PyObject*)Py_None); Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->dims);
- p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
-}
+ __pyx_L3:;
-static PyObject *__pyx_getprop_5adios_3var_name(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_3var_4name_1__get__(o);
-}
+ /* "adios.pyx":1381
+ * self.is_static = is_static
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.is_static:
+ * if self.value is None:
+ */
-static int __pyx_setprop_5adios_3var_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_3var_4name_3__set__(o, v);
- }
- else {
- return __pyx_pw_5adios_3var_4name_5__del__(o);
- }
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.attrinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyObject *__pyx_getprop_5adios_3var_varid(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_3var_5varid_1__get__(o);
-}
+/* "adios.pyx":1393
+ * raise NotImplementedError
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name,
+ */
-static int __pyx_setprop_5adios_3var_varid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_3var_5varid_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_8attrinfo_5__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_8attrinfo_5__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_8attrinfo_4__repr__(((struct __pyx_obj_5adios_attrinfo *)__pyx_v_self));
-static PyObject *__pyx_getprop_5adios_3var_type(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_3var_4type_1__get__(o);
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static int __pyx_setprop_5adios_3var_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_3var_4type_3__set__(o, v);
- }
- else {
- return __pyx_pw_5adios_3var_4type_5__del__(o);
- }
-}
+static PyObject *__pyx_pf_5adios_8attrinfo_4__repr__(struct __pyx_obj_5adios_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
-static PyObject *__pyx_getprop_5adios_3var_ndim(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_3var_4ndim_1__get__(o);
-}
+ /* "adios.pyx":1394
+ *
+ * def __repr__(self):
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name,
+ * self.is_static,
+ */
+ __Pyx_XDECREF(__pyx_r);
-static int __pyx_setprop_5adios_3var_ndim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_3var_4ndim_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+ /* "adios.pyx":1396
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name,
+ * self.is_static, # <<<<<<<<<<<<<<
+ * self.value,
+ * self.dtype)
+ */
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_static); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
-static PyObject *__pyx_getprop_5adios_3var_dims(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_3var_4dims_1__get__(o);
-}
+ /* "adios.pyx":1395
+ * def __repr__(self):
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name, # <<<<<<<<<<<<<<
+ * self.is_static,
+ * self.value,
+ */
+ __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __Pyx_INCREF(__pyx_v_self->dtype);
+ PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_self->dtype);
+ __Pyx_GIVEREF(__pyx_v_self->dtype);
+ __pyx_t_1 = 0;
-static int __pyx_setprop_5adios_3var_dims(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_3var_4dims_3__set__(o, v);
- }
- else {
- return __pyx_pw_5adios_3var_4dims_5__del__(o);
- }
-}
+ /* "adios.pyx":1394
+ *
+ * def __repr__(self):
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name,
+ * self.is_static,
+ */
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_AdiosAttrinfo_name_r_is_static_r, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
-static PyObject *__pyx_getprop_5adios_3var_nsteps(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_5adios_3var_6nsteps_1__get__(o);
-}
+ /* "adios.pyx":1393
+ * raise NotImplementedError
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name,
+ */
-static int __pyx_setprop_5adios_3var_nsteps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_5adios_3var_6nsteps_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios.attrinfo.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-static PyMethodDef __pyx_methods_5adios_var[] = {
- {"__del__", (PyCFunction)__pyx_pw_5adios_3var_3__del__, METH_NOARGS, 0},
- {"close", (PyCFunction)__pyx_pw_5adios_3var_5close, METH_NOARGS, 0},
- {"read", (PyCFunction)__pyx_pw_5adios_3var_7read, METH_VARARGS|METH_KEYWORDS, 0},
- {"printself", (PyCFunction)__pyx_pw_5adios_3var_9printself, METH_NOARGS, 0},
- {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_5adios_var[] = {
- {(char *)"name", __pyx_getprop_5adios_3var_name, __pyx_setprop_5adios_3var_name, 0, 0},
- {(char *)"varid", __pyx_getprop_5adios_3var_varid, __pyx_setprop_5adios_3var_varid, 0, 0},
- {(char *)"type", __pyx_getprop_5adios_3var_type, __pyx_setprop_5adios_3var_type, 0, 0},
- {(char *)"ndim", __pyx_getprop_5adios_3var_ndim, __pyx_setprop_5adios_3var_ndim, 0, 0},
- {(char *)"dims", __pyx_getprop_5adios_3var_dims, __pyx_setprop_5adios_3var_dims, 0, 0},
- {(char *)"nsteps", __pyx_getprop_5adios_3var_nsteps, __pyx_setprop_5adios_3var_nsteps, 0, 0},
- {0, 0, 0, 0, 0}
-};
+/* "adios.pyx":1407
+ * cdef public value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
+ */
-static PyTypeObject __pyx_type_5adios_var = {
- PyVarObject_HEAD_INIT(0, 0)
- "adios.var", /*tp_name*/
- sizeof(struct __pyx_obj_5adios_var), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_5adios_var, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_5adios_7varinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_name;
+ PyObject *__pyx_v_ldim = 0;
+ PyObject *__pyx_v_gdim = 0;
+ PyObject *__pyx_v_offset = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_ldim,&__pyx_n_s_gdim,&__pyx_n_s_offset,0};
+ PyObject* values[4] = {0,0,0,0};
+ values[1] = __pyx_k__27;
+ values[2] = __pyx_k__28;
+ values[3] = __pyx_k__29;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ldim);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gdim);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_ldim = values[1];
+ __pyx_v_gdim = values[2];
+ __pyx_v_offset = values[3];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.varinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_7varinfo___init__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), __pyx_v_name, __pyx_v_ldim, __pyx_v_gdim, __pyx_v_offset);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo___init__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "adios.pyx":1411
+ * gdim = tuple(),
+ * offset = tuple()):
+ * self.name = name # <<<<<<<<<<<<<<
+ * self.ldim = ldim
+ * self.gdim = gdim
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1412
+ * offset = tuple()):
+ * self.name = name
+ * self.ldim = ldim # <<<<<<<<<<<<<<
+ * self.gdim = gdim
+ * self.offset = offset
+ */
+ __Pyx_INCREF(__pyx_v_ldim);
+ __Pyx_GIVEREF(__pyx_v_ldim);
+ __Pyx_GOTREF(__pyx_v_self->ldim);
+ __Pyx_DECREF(__pyx_v_self->ldim);
+ __pyx_v_self->ldim = __pyx_v_ldim;
+
+ /* "adios.pyx":1413
+ * self.name = name
+ * self.ldim = ldim
+ * self.gdim = gdim # <<<<<<<<<<<<<<
+ * self.offset = offset
+ *
+ */
+ __Pyx_INCREF(__pyx_v_gdim);
+ __Pyx_GIVEREF(__pyx_v_gdim);
+ __Pyx_GOTREF(__pyx_v_self->gdim);
+ __Pyx_DECREF(__pyx_v_self->gdim);
+ __pyx_v_self->gdim = __pyx_v_gdim;
+
+ /* "adios.pyx":1414
+ * self.ldim = ldim
+ * self.gdim = gdim
+ * self.offset = offset # <<<<<<<<<<<<<<
+ *
+ * def define(self, int64_t gid):
+ */
+ __Pyx_INCREF(__pyx_v_offset);
+ __Pyx_GIVEREF(__pyx_v_offset);
+ __Pyx_GOTREF(__pyx_v_self->offset);
+ __Pyx_DECREF(__pyx_v_self->offset);
+ __pyx_v_self->offset = __pyx_v_offset;
+
+ /* "adios.pyx":1407
+ * cdef public value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios.varinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1416
+ * self.offset = offset
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.value is None:
+ * raise TypeError("Value is none")
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid); /*proto*/
+static char __pyx_doc_5adios_7varinfo_2define[] = "varinfo.define(self, int64_t gid)";
+static PyObject *__pyx_pw_5adios_7varinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid) {
+ int64_t __pyx_v_gid;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define (wrapper)", 0);
+ assert(__pyx_arg_gid); {
+ __pyx_v_gid = __Pyx_PyInt_As_int64_t(__pyx_arg_gid); if (unlikely((__pyx_v_gid == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.varinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_7varinfo_2define(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), ((int64_t)__pyx_v_gid));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_2define(struct __pyx_obj_5adios_varinfo *__pyx_v_self, int64_t __pyx_v_gid) {
+ PyObject *__pyx_v_ldim_ = NULL;
+ PyObject *__pyx_v_gdim_ = NULL;
+ PyObject *__pyx_v_offset_ = NULL;
+ PyObject *__pyx_v_val_ = NULL;
+ PyObject *__pyx_v_atype = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ char *__pyx_t_8;
+ int __pyx_t_9;
+ char *__pyx_t_10;
+ char *__pyx_t_11;
+ char *__pyx_t_12;
+ struct __pyx_opt_args_5adios_define_var __pyx_t_13;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define", 0);
+
+ /* "adios.pyx":1417
+ *
+ * def define(self, int64_t gid):
+ * if self.value is None: # <<<<<<<<<<<<<<
+ * raise TypeError("Value is none")
+ *
+ */
+ __pyx_t_1 = (__pyx_v_self->value == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":1418
+ * def define(self, int64_t gid):
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * ldim_ = self.ldim
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios.pyx":1420
+ * raise TypeError("Value is none")
+ *
+ * ldim_ = self.ldim # <<<<<<<<<<<<<<
+ * if isinstance(self.ldim, (tuple, list)):
+ * ldim_ = tuple(self.ldim)
+ */
+ __pyx_t_3 = __pyx_v_self->ldim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_ldim_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1421
+ *
+ * ldim_ = self.ldim
+ * if isinstance(self.ldim, (tuple, list)): # <<<<<<<<<<<<<<
+ * ldim_ = tuple(self.ldim)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->ldim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_1 = PyTuple_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = (__pyx_t_1 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_2 = __pyx_t_4;
+ goto __pyx_L5_bool_binop_done;
+ }
+ __pyx_t_3 = __pyx_v_self->ldim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_4 = PyList_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_1 = (__pyx_t_4 != 0);
+ __pyx_t_2 = __pyx_t_1;
+ __pyx_L5_bool_binop_done:;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios.pyx":1422
+ * ldim_ = self.ldim
+ * if isinstance(self.ldim, (tuple, list)):
+ * ldim_ = tuple(self.ldim) # <<<<<<<<<<<<<<
+ *
+ * gdim_ = self.gdim
+ */
+ __pyx_t_3 = PySequence_Tuple(__pyx_v_self->ldim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_ldim_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "adios.pyx":1424
+ * ldim_ = tuple(self.ldim)
+ *
+ * gdim_ = self.gdim # <<<<<<<<<<<<<<
+ * if isinstance(self.gdim, (tuple, list)):
+ * gdim_ = tuple(self.gdim)
+ */
+ __pyx_t_3 = __pyx_v_self->gdim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_gdim_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1425
+ *
+ * gdim_ = self.gdim
+ * if isinstance(self.gdim, (tuple, list)): # <<<<<<<<<<<<<<
+ * gdim_ = tuple(self.gdim)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->gdim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_2 = PyTuple_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = (__pyx_t_2 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_1 = __pyx_t_4;
+ goto __pyx_L8_bool_binop_done;
+ }
+ __pyx_t_3 = __pyx_v_self->gdim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_4 = PyList_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = (__pyx_t_4 != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L8_bool_binop_done:;
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":1426
+ * gdim_ = self.gdim
+ * if isinstance(self.gdim, (tuple, list)):
+ * gdim_ = tuple(self.gdim) # <<<<<<<<<<<<<<
+ *
+ * offset_ = self.offset
+ */
+ __pyx_t_3 = PySequence_Tuple(__pyx_v_self->gdim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_gdim_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L7;
+ }
+ __pyx_L7:;
+
+ /* "adios.pyx":1428
+ * gdim_ = tuple(self.gdim)
+ *
+ * offset_ = self.offset # <<<<<<<<<<<<<<
+ * if isinstance(self.offset, (tuple, list)):
+ * offset_ = tuple(self.offset)
+ */
+ __pyx_t_3 = __pyx_v_self->offset;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_offset_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1429
+ *
+ * offset_ = self.offset
+ * if isinstance(self.offset, (tuple, list)): # <<<<<<<<<<<<<<
+ * offset_ = tuple(self.offset)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->offset;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_1 = PyTuple_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = (__pyx_t_1 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_2 = __pyx_t_4;
+ goto __pyx_L11_bool_binop_done;
+ }
+ __pyx_t_3 = __pyx_v_self->offset;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_4 = PyList_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_1 = (__pyx_t_4 != 0);
+ __pyx_t_2 = __pyx_t_1;
+ __pyx_L11_bool_binop_done:;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios.pyx":1430
+ * offset_ = self.offset
+ * if isinstance(self.offset, (tuple, list)):
+ * offset_ = tuple(self.offset) # <<<<<<<<<<<<<<
+ *
+ * val_ = self.value
+ */
+ __pyx_t_3 = PySequence_Tuple(__pyx_v_self->offset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_offset_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L10;
+ }
+ __pyx_L10:;
+
+ /* "adios.pyx":1432
+ * offset_ = tuple(self.offset)
+ *
+ * val_ = self.value # <<<<<<<<<<<<<<
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value)
+ */
+ __pyx_t_3 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_val_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1433
+ *
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)): # <<<<<<<<<<<<<<
+ * val_ = np.array(self.value)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_t_3, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_2) {
+
+ /* "adios.pyx":1434
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value) # <<<<<<<<<<<<<<
+ *
+ * atype = np2adiostype(val_.dtype)
+ */
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ if (!__pyx_t_5) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self->value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ } else {
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL;
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF_SET(__pyx_v_val_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L13;
+ }
+ __pyx_L13:;
+
+ /* "adios.pyx":1436
+ * val_ = np.array(self.value)
+ *
+ * atype = np2adiostype(val_.dtype) # <<<<<<<<<<<<<<
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype,
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_val_, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __pyx_f_5adios_np2adiostype(((PyArray_Descr *)__pyx_t_3), 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_atype = __pyx_t_6;
+ __pyx_t_6 = 0;
+
+ /* "adios.pyx":1438
+ * atype = np2adiostype(val_.dtype)
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype, # <<<<<<<<<<<<<<
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ */
+ __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_atype); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":1439
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)'))
+ */
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_ldim_);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_ldim_);
+ __Pyx_GIVEREF(__pyx_v_ldim_);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_replace); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_3); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":1440
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ */
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_gdim_);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_gdim_);
+ __Pyx_GIVEREF(__pyx_v_gdim_);
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_replace); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":1441
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)')) # <<<<<<<<<<<<<<
+ *
+ * def bytes(self):
+ */
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_offset_);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_offset_);
+ __Pyx_GIVEREF(__pyx_v_offset_);
+ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_replace); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_12 = __Pyx_PyObject_AsString(__pyx_t_5); if (unlikely((!__pyx_t_12) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":1438
+ * atype = np2adiostype(val_.dtype)
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype, # <<<<<<<<<<<<<<
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ */
+ __pyx_t_13.__pyx_n = 3;
+ __pyx_t_13.dimensions = __pyx_t_10;
+ __pyx_t_13.global_dimensions = __pyx_t_11;
+ __pyx_t_13.local_offsets = __pyx_t_12;
+ __pyx_f_5adios_define_var(__pyx_v_gid, __pyx_t_8, __pyx_k__7, __pyx_t_9, 0, &__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios.pyx":1416
+ * self.offset = offset
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.value is None:
+ * raise TypeError("Value is none")
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios.varinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_ldim_);
+ __Pyx_XDECREF(__pyx_v_gdim_);
+ __Pyx_XDECREF(__pyx_v_offset_);
+ __Pyx_XDECREF(__pyx_v_val_);
+ __Pyx_XDECREF(__pyx_v_atype);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1443
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ * def bytes(self): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_5bytes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_5adios_7varinfo_4bytes[] = "varinfo.bytes(self)";
+static PyObject *__pyx_pw_5adios_7varinfo_5bytes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("bytes (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4bytes(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_4bytes(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ PyObject *__pyx_v_val_ = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("bytes", 0);
+
+ /* "adios.pyx":1444
+ *
+ * def bytes(self):
+ * val_ = self.value # <<<<<<<<<<<<<<
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value)
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_v_val_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1445
+ * def bytes(self):
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)): # <<<<<<<<<<<<<<
+ * val_ = np.array(self.value)
+ *
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
+ if (__pyx_t_3) {
+
+ /* "adios.pyx":1446
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value) # <<<<<<<<<<<<<<
+ *
+ * return val_.size * val_.itemsize
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ if (!__pyx_t_4) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self->value); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ } else {
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_val_, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":1448
+ * val_ = np.array(self.value)
+ *
+ * return val_.size * val_.itemsize # <<<<<<<<<<<<<<
+ *
+ * def write(self, int64_t fd):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_val_, __pyx_n_s_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_val_, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_r = __pyx_t_6;
+ __pyx_t_6 = 0;
+ goto __pyx_L0;
+
+ /* "adios.pyx":1443
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ * def bytes(self): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("adios.varinfo.bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_val_);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1450
+ * return val_.size * val_.itemsize
+ *
+ * def write(self, int64_t fd): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_7write(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
+static char __pyx_doc_5adios_7varinfo_6write[] = "varinfo.write(self, int64_t fd)";
+static PyObject *__pyx_pw_5adios_7varinfo_7write(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd) {
+ int64_t __pyx_v_fd;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("write (wrapper)", 0);
+ assert(__pyx_arg_fd); {
+ __pyx_v_fd = __Pyx_PyInt_As_int64_t(__pyx_arg_fd); if (unlikely((__pyx_v_fd == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.varinfo.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_7varinfo_6write(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), ((int64_t)__pyx_v_fd));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_6write(struct __pyx_obj_5adios_varinfo *__pyx_v_self, int64_t __pyx_v_fd) {
+ PyObject *__pyx_v_val_ = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ char *__pyx_t_7;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("write", 0);
+
+ /* "adios.pyx":1451
+ *
+ * def write(self, int64_t fd):
+ * val_ = self.value # <<<<<<<<<<<<<<
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value)
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_v_val_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1452
+ * def write(self, int64_t fd):
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)): # <<<<<<<<<<<<<<
+ * val_ = np.array(self.value)
+ *
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
+ if (__pyx_t_3) {
+
+ /* "adios.pyx":1453
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value) # <<<<<<<<<<<<<<
+ *
+ * write(fd, self.name, val_)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ if (!__pyx_t_4) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self->value); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ } else {
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_val_, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios.pyx":1455
+ * val_ = np.array(self.value)
+ *
+ * write(fd, self.name, val_) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_f_5adios_write(__pyx_v_fd, __pyx_t_7, __pyx_v_val_, 0, NULL);
+
+ /* "adios.pyx":1450
+ * return val_.size * val_.itemsize
+ *
+ * def write(self, int64_t fd): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("adios.varinfo.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_val_);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1457
+ * write(fd, self.name, val_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_9__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_7varinfo_9__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_8__repr__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_8__repr__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios.pyx":1458
+ *
+ * def __repr__(self):
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ *
+ */
+ __Pyx_XDECREF(__pyx_r);
+
+ /* "adios.pyx":1459
+ * def __repr__(self):
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ * (self.name, self.ldim, self.gdim, self.offset, self.value) # <<<<<<<<<<<<<<
+ *
+ * ## ====================
+ */
+ __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ __Pyx_INCREF(__pyx_v_self->ldim);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->ldim);
+ __Pyx_GIVEREF(__pyx_v_self->ldim);
+ __Pyx_INCREF(__pyx_v_self->gdim);
+ PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->gdim);
+ __Pyx_GIVEREF(__pyx_v_self->gdim);
+ __Pyx_INCREF(__pyx_v_self->offset);
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->offset);
+ __Pyx_GIVEREF(__pyx_v_self->offset);
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+
+ /* "adios.pyx":1458
+ *
+ * def __repr__(self):
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ *
+ */
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_AdiosVarinfo_name_r_ldim_r_gdim, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ goto __pyx_L0;
+
+ /* "adios.pyx":1457
+ * write(fd, self.name, val_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios.varinfo.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1402
+ * cdef class varinfo:
+ * cdef bytes name
+ * cdef public ldim # <<<<<<<<<<<<<<
+ * cdef public gdim
+ * cdef public offset
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_4ldim_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_7varinfo_4ldim_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4ldim___get__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_4ldim___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->ldim);
+ __pyx_r = __pyx_v_self->ldim;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_4ldim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_5adios_7varinfo_4ldim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4ldim_2__set__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_4ldim_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->ldim);
+ __Pyx_DECREF(__pyx_v_self->ldim);
+ __pyx_v_self->ldim = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_4ldim_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_5adios_7varinfo_4ldim_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4ldim_4__del__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_4ldim_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->ldim);
+ __Pyx_DECREF(__pyx_v_self->ldim);
+ __pyx_v_self->ldim = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1403
+ * cdef bytes name
+ * cdef public ldim
+ * cdef public gdim # <<<<<<<<<<<<<<
+ * cdef public offset
+ * cdef public value
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_4gdim_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_7varinfo_4gdim_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4gdim___get__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_4gdim___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->gdim);
+ __pyx_r = __pyx_v_self->gdim;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_4gdim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_5adios_7varinfo_4gdim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4gdim_2__set__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_4gdim_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->gdim);
+ __Pyx_DECREF(__pyx_v_self->gdim);
+ __pyx_v_self->gdim = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_4gdim_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_5adios_7varinfo_4gdim_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_4gdim_4__del__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_4gdim_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->gdim);
+ __Pyx_DECREF(__pyx_v_self->gdim);
+ __pyx_v_self->gdim = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1404
+ * cdef public ldim
+ * cdef public gdim
+ * cdef public offset # <<<<<<<<<<<<<<
+ * cdef public value
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_7varinfo_6offset_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_6offset___get__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_6offset___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->offset);
+ __pyx_r = __pyx_v_self->offset;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_5adios_7varinfo_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_6offset_2__set__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_6offset_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->offset);
+ __Pyx_DECREF(__pyx_v_self->offset);
+ __pyx_v_self->offset = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_6offset_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_5adios_7varinfo_6offset_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_6offset_4__del__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_6offset_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->offset);
+ __Pyx_DECREF(__pyx_v_self->offset);
+ __pyx_v_self->offset = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1405
+ * cdef public gdim
+ * cdef public offset
+ * cdef public value # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, char * name,
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_7varinfo_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_5adios_7varinfo_5value_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_5value___get__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_7varinfo_5value___get__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->value);
+ __pyx_r = __pyx_v_self->value;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_5adios_7varinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_5value_2__set__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_5value_2__set__(struct __pyx_obj_5adios_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5adios_7varinfo_5value_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_5adios_7varinfo_5value_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_7varinfo_5value_4__del__(((struct __pyx_obj_5adios_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5adios_7varinfo_5value_4__del__(struct __pyx_obj_5adios_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1465
+ * ## ====================
+ *
+ * def readvar(fname, varname): # <<<<<<<<<<<<<<
+ * """ Retrieve a variable value from an Adios file.
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_49readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_5adios_48readvar[] = "readvar(fname, varname)\n Retrieve a variable value from an Adios file.\n\n Args:\n fname (str): Adios file name\n varname (str): Variable name to retrieve\n\n Returns:\n NumPy ndarray: variable value\n ";
+static PyMethodDef __pyx_mdef_5adios_49readvar = {"readvar", (PyCFunction)__pyx_pw_5adios_49readvar, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_48readvar};
+static PyObject *__pyx_pw_5adios_49readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_fname = 0;
+ PyObject *__pyx_v_varname = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("readvar (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_varname,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readvar") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ }
+ __pyx_v_fname = values[0];
+ __pyx_v_varname = values[1];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_5adios_48readvar(__pyx_self, __pyx_v_fname, __pyx_v_varname);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_48readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname) {
+ struct __pyx_obj_5adios_file *__pyx_v_f = NULL;
+ PyObject *__pyx_v_v = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ int __pyx_t_5;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("readvar", 0);
+
+ /* "adios.pyx":1475
+ * NumPy ndarray: variable value
+ * """
+ * f = file(fname, comm=MPI_COMM_SELF) # <<<<<<<<<<<<<<
+ * if not f.var.has_key(varname):
+ * print "No valid variable"
+ */
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_fname);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
+ __Pyx_GIVEREF(__pyx_v_fname);
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMM_SELF); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_f = ((struct __pyx_obj_5adios_file *)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1476
+ * """
+ * f = file(fname, comm=MPI_COMM_SELF)
+ * if not f.var.has_key(varname): # <<<<<<<<<<<<<<
+ * print "No valid variable"
+ * return
+ */
+ if (unlikely(__pyx_v_f->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_4 = PyDict_Contains(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0);
+ if (__pyx_t_5) {
+
+ /* "adios.pyx":1477
+ * f = file(fname, comm=MPI_COMM_SELF)
+ * if not f.var.has_key(varname):
+ * print "No valid variable" # <<<<<<<<<<<<<<
+ * return
+ *
+ */
+ if (__Pyx_PrintOne(0, __pyx_kp_s_No_valid_variable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":1478
+ * if not f.var.has_key(varname):
+ * print "No valid variable"
+ * return # <<<<<<<<<<<<<<
+ *
+ * v = f.var[varname]
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ }
+
+ /* "adios.pyx":1480
+ * return
+ *
+ * v = f.var[varname] # <<<<<<<<<<<<<<
+ * return v.read(from_steps=0, nsteps=v.nsteps)
+ *
+ */
+ if (unlikely(__pyx_v_f->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_v = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1481
+ *
+ * v = f.var[varname]
+ * return v.read(from_steps=0, nsteps=v.nsteps) # <<<<<<<<<<<<<<
+ *
+ * def bpls(fname):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from_steps, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nsteps, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios.pyx":1465
+ * ## ====================
+ *
+ * def readvar(fname, varname): # <<<<<<<<<<<<<<
+ * """ Retrieve a variable value from an Adios file.
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_f);
+ __Pyx_XDECREF(__pyx_v_v);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios.pyx":1483
+ * return v.read(from_steps=0, nsteps=v.nsteps)
+ *
+ * def bpls(fname): # <<<<<<<<<<<<<<
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_5adios_51bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname); /*proto*/
+static char __pyx_doc_5adios_50bpls[] = "bpls(fname)\n Return meta data of an Adios file as a Python dictionary object.\n\n Args:\n fname (str): Adios file name\n\n Returns:\n dict: Adios file meta data\n ";
+static PyMethodDef __pyx_mdef_5adios_51bpls = {"bpls", (PyCFunction)__pyx_pw_5adios_51bpls, METH_O, __pyx_doc_5adios_50bpls};
+static PyObject *__pyx_pw_5adios_51bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("bpls (wrapper)", 0);
+ __pyx_r = __pyx_pf_5adios_50bpls(__pyx_self, ((PyObject *)__pyx_v_fname));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_5adios_50bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname) {
+ struct __pyx_obj_5adios_file *__pyx_v_f = NULL;
+ PyObject *__pyx_v_k = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ Py_ssize_t __pyx_t_5;
+ int __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ int __pyx_t_8;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("bpls", 0);
+
+ /* "adios.pyx":1492
+ * dict: Adios file meta data
+ * """
+ * f = file(fname, comm=MPI_COMM_SELF) # <<<<<<<<<<<<<<
+ * return {'nvars': f.nvars,
+ * 'nattrs': f.nattrs,
+ */
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_fname);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
+ __Pyx_GIVEREF(__pyx_v_fname);
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMM_SELF); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5adios_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_f = ((struct __pyx_obj_5adios_file *)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios.pyx":1493
+ * """
+ * f = file(fname, comm=MPI_COMM_SELF)
+ * return {'nvars': f.nvars, # <<<<<<<<<<<<<<
+ * 'nattrs': f.nattrs,
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nvars, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios.pyx":1494
+ * f = file(fname, comm=MPI_COMM_SELF)
+ * return {'nvars': f.nvars,
+ * 'nattrs': f.nattrs, # <<<<<<<<<<<<<<
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nattrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios.pyx":1495
+ * return {'nvars': f.nvars,
+ * 'nattrs': f.nattrs,
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]), # <<<<<<<<<<<<<<
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ * 'time_steps': (f.current_step, f.last_step),
+ */
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = 0;
+ if (unlikely(__pyx_v_f->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_f->var, 1, __pyx_n_s_iterkeys, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_1);
+ __pyx_t_1 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ while (1) {
+ __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_5, &__pyx_t_4, &__pyx_t_7, NULL, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_8 == 0)) break;
+ if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7);
+ __pyx_t_7 = 0;
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_vars, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":1496
+ * 'nattrs': f.nattrs,
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]), # <<<<<<<<<<<<<<
+ * 'time_steps': (f.current_step, f.last_step),
+ * 'file_size': f.file_size}
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = 0;
+ if (unlikely(__pyx_v_f->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_f->attr, 1, __pyx_n_s_iterkeys, (&__pyx_t_4), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_2);
+ __pyx_t_2 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ while (1) {
+ __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_5, &__pyx_t_7, NULL, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_8 == 0)) break;
+ if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7);
+ __pyx_t_7 = 0;
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios.pyx":1497
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ * 'time_steps': (f.current_step, f.last_step), # <<<<<<<<<<<<<<
+ * 'file_size': f.file_size}
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_2 = 0;
+ __pyx_t_1 = 0;
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_time_steps, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "adios.pyx":1498
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ * 'time_steps': (f.current_step, f.last_step),
+ * 'file_size': f.file_size} # <<<<<<<<<<<<<<
+ */
+ __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_f->file_size); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_file_size, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ goto __pyx_L0;
+
+ /* "adios.pyx":1483
+ * return v.read(from_steps=0, nsteps=v.nsteps)
+ *
+ * def bpls(fname): # <<<<<<<<<<<<<<
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios.bpls", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_f);
+ __Pyx_XDECREF(__pyx_v_k);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+ * # experimental exception made for __getbuffer__ and __releasebuffer__
+ * # -- the details of this may change.
+ * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
+ * # This implementation of getbuffer is geared towards Cython
+ * # requirements, and does not yet fullfill the PEP.
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+ int __pyx_v_copy_shape;
+ int __pyx_v_i;
+ int __pyx_v_ndim;
+ int __pyx_v_endian_detector;
+ int __pyx_v_little_endian;
+ int __pyx_v_t;
+ char *__pyx_v_f;
+ PyArray_Descr *__pyx_v_descr = 0;
+ int __pyx_v_offset;
+ int __pyx_v_hasfields;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ int __pyx_t_5;
+ PyObject *__pyx_t_6 = NULL;
+ char *__pyx_t_7;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__getbuffer__", 0);
+ if (__pyx_v_info != NULL) {
+ __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(__pyx_v_info->obj);
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
+ * # of flags
+ *
+ * if info == NULL: return # <<<<<<<<<<<<<<
+ *
+ * cdef int copy_shape, i, ndim
+ */
+ __pyx_t_1 = ((__pyx_v_info == NULL) != 0);
+ if (__pyx_t_1) {
+ __pyx_r = 0;
+ goto __pyx_L0;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
+ *
+ * cdef int copy_shape, i, ndim
+ * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *
+ */
+ __pyx_v_endian_detector = 1;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":207
+ * cdef int copy_shape, i, ndim
+ * cdef int endian_detector = 1
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
+ *
+ * ndim = PyArray_NDIM(self)
+ */
+ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *
+ * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<
+ *
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
+ * ndim = PyArray_NDIM(self)
+ *
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
+ * copy_shape = 1
+ * else:
+ */
+ __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":212
+ *
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * copy_shape = 1 # <<<<<<<<<<<<<<
+ * else:
+ * copy_shape = 0
+ */
+ __pyx_v_copy_shape = 1;
+ goto __pyx_L4;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
+ * copy_shape = 1
+ * else:
+ * copy_shape = 0 # <<<<<<<<<<<<<<
+ *
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ */
+ __pyx_v_copy_shape = 0;
+ }
+ __pyx_L4:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+ * copy_shape = 0
+ *
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
+ * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not C contiguous")
+ */
+ __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L6_bool_binop_done;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
+ *
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"ndarray is not C contiguous")
+ *
+ */
+ __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L6_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
+ *
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+ * raise ValueError(u"ndarray is not C contiguous")
+ *
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
+ * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+ __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L9_bool_binop_done;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
+ *
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"ndarray is not Fortran contiguous")
+ *
+ */
+ __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L9_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
+ *
+ * info.buf = PyArray_DATA(self)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":224
+ * raise ValueError(u"ndarray is not Fortran contiguous")
+ *
+ * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<
+ * info.ndim = ndim
+ * if copy_shape:
+ */
+ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
+ *
+ * info.buf = PyArray_DATA(self)
+ * info.ndim = ndim # <<<<<<<<<<<<<<
+ * if copy_shape:
+ * # Allocate new buffer for strides and shape info.
+ */
+ __pyx_v_info->ndim = __pyx_v_ndim;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
+ * info.buf = PyArray_DATA(self)
+ * info.ndim = ndim
+ * if copy_shape: # <<<<<<<<<<<<<<
+ * # Allocate new buffer for strides and shape info.
+ * # This is allocated as one block, strides first.
+ */
+ __pyx_t_1 = (__pyx_v_copy_shape != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
+ * # Allocate new buffer for strides and shape info.
+ * # This is allocated as one block, strides first.
+ * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2) # <<<<<<<<<<<<<<
+ * info.shape = info.strides + ndim
+ * for i in range(ndim):
+ */
+ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
+ * # This is allocated as one block, strides first.
+ * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
+ * info.shape = info.strides + ndim # <<<<<<<<<<<<<<
+ * for i in range(ndim):
+ * info.strides[i] = PyArray_STRIDES(self)[i]
+ */
+ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+ * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
+ * info.shape = info.strides + ndim
+ * for i in range(ndim): # <<<<<<<<<<<<<<
+ * info.strides[i] = PyArray_STRIDES(self)[i]
+ * info.shape[i] = PyArray_DIMS(self)[i]
+ */
+ __pyx_t_4 = __pyx_v_ndim;
+ for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
+ __pyx_v_i = __pyx_t_5;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
+ * info.shape = info.strides + ndim
+ * for i in range(ndim):
+ * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<
+ * info.shape[i] = PyArray_DIMS(self)[i]
+ * else:
+ */
+ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
+ * for i in range(ndim):
+ * info.strides[i] = PyArray_STRIDES(self)[i]
+ * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<
+ * else:
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ */
+ (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
+ }
+ goto __pyx_L11;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
+ * info.shape[i] = PyArray_DIMS(self)[i]
+ * else:
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ * info.suboffsets = NULL
+ */
+ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
+ * else:
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<
+ * info.suboffsets = NULL
+ * info.itemsize = PyArray_ITEMSIZE(self)
+ */
+ __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
+ }
+ __pyx_L11:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ * info.suboffsets = NULL # <<<<<<<<<<<<<<
+ * info.itemsize = PyArray_ITEMSIZE(self)
+ * info.readonly = not PyArray_ISWRITEABLE(self)
+ */
+ __pyx_v_info->suboffsets = NULL;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":238
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ * info.suboffsets = NULL
+ * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<
+ * info.readonly = not PyArray_ISWRITEABLE(self)
+ *
+ */
+ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
+ * info.suboffsets = NULL
+ * info.itemsize = PyArray_ITEMSIZE(self)
+ * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<
+ *
+ * cdef int t
+ */
+ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
+ *
+ * cdef int t
+ * cdef char* f = NULL # <<<<<<<<<<<<<<
+ * cdef dtype descr = self.descr
+ * cdef list stack
+ */
+ __pyx_v_f = NULL;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
+ * cdef int t
+ * cdef char* f = NULL
+ * cdef dtype descr = self.descr # <<<<<<<<<<<<<<
+ * cdef list stack
+ * cdef int offset
+ */
+ __pyx_t_3 = ((PyObject *)__pyx_v_self->descr);
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":247
+ * cdef int offset
+ *
+ * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<<
+ *
+ * if not hasfields and not copy_shape:
+ */
+ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":249
+ * cdef bint hasfields = PyDataType_HASFIELDS(descr)
+ *
+ * if not hasfields and not copy_shape: # <<<<<<<<<<<<<<
+ * # do not call releasebuffer
+ * info.obj = None
+ */
+ __pyx_t_2 = ((!(__pyx_v_hasfields != 0)) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L15_bool_binop_done;
+ }
+ __pyx_t_2 = ((!(__pyx_v_copy_shape != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L15_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":251
+ * if not hasfields and not copy_shape:
+ * # do not call releasebuffer
+ * info.obj = None # <<<<<<<<<<<<<<
+ * else:
+ * # need to call releasebuffer
+ */
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_info->obj);
+ __Pyx_DECREF(__pyx_v_info->obj);
+ __pyx_v_info->obj = Py_None;
+ goto __pyx_L14;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":254
+ * else:
+ * # need to call releasebuffer
+ * info.obj = self # <<<<<<<<<<<<<<
+ *
+ * if not hasfields:
+ */
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_GOTREF(__pyx_v_info->obj);
+ __Pyx_DECREF(__pyx_v_info->obj);
+ __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
+ }
+ __pyx_L14:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
+ * info.obj = self
+ *
+ * if not hasfields: # <<<<<<<<<<<<<<
+ * t = descr.type_num
+ * if ((descr.byteorder == c'>' and little_endian) or
+ */
+ __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+ *
+ * if not hasfields:
+ * t = descr.type_num # <<<<<<<<<<<<<<
+ * if ((descr.byteorder == c'>' and little_endian) or
+ * (descr.byteorder == c'<' and not little_endian)):
+ */
+ __pyx_t_4 = __pyx_v_descr->type_num;
+ __pyx_v_t = __pyx_t_4;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
+ * if not hasfields:
+ * t = descr.type_num
+ * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
+ * (descr.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported")
+ */
+ __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
+ if (!__pyx_t_2) {
+ goto __pyx_L20_next_or;
+ } else {
+ }
+ __pyx_t_2 = (__pyx_v_little_endian != 0);
+ if (!__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L19_bool_binop_done;
+ }
+ __pyx_L20_next_or:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+ * t = descr.type_num
+ * if ((descr.byteorder == c'>' and little_endian) or
+ * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"Non-native byte order not supported")
+ * if t == NPY_BYTE: f = "b"
+ */
+ __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L19_bool_binop_done;
+ }
+ __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L19_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
+ * if ((descr.byteorder == c'>' and little_endian) or
+ * (descr.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
+ * if t == NPY_BYTE: f = "b"
+ * elif t == NPY_UBYTE: f = "B"
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+ switch (__pyx_v_t) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+ * (descr.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported")
+ * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<
+ * elif t == NPY_UBYTE: f = "B"
+ * elif t == NPY_SHORT: f = "h"
+ */
+ case NPY_BYTE:
+ __pyx_v_f = __pyx_k_b;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
+ * raise ValueError(u"Non-native byte order not supported")
+ * if t == NPY_BYTE: f = "b"
+ * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<
+ * elif t == NPY_SHORT: f = "h"
+ * elif t == NPY_USHORT: f = "H"
+ */
+ case NPY_UBYTE:
+ __pyx_v_f = __pyx_k_B;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
+ * if t == NPY_BYTE: f = "b"
+ * elif t == NPY_UBYTE: f = "B"
+ * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<
+ * elif t == NPY_USHORT: f = "H"
+ * elif t == NPY_INT: f = "i"
+ */
+ case NPY_SHORT:
+ __pyx_v_f = __pyx_k_h;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
+ * elif t == NPY_UBYTE: f = "B"
+ * elif t == NPY_SHORT: f = "h"
+ * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<
+ * elif t == NPY_INT: f = "i"
+ * elif t == NPY_UINT: f = "I"
+ */
+ case NPY_USHORT:
+ __pyx_v_f = __pyx_k_H;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
+ * elif t == NPY_SHORT: f = "h"
+ * elif t == NPY_USHORT: f = "H"
+ * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<
+ * elif t == NPY_UINT: f = "I"
+ * elif t == NPY_LONG: f = "l"
+ */
+ case NPY_INT:
+ __pyx_v_f = __pyx_k_i;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
+ * elif t == NPY_USHORT: f = "H"
+ * elif t == NPY_INT: f = "i"
+ * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONG: f = "l"
+ * elif t == NPY_ULONG: f = "L"
+ */
+ case NPY_UINT:
+ __pyx_v_f = __pyx_k_I;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
+ * elif t == NPY_INT: f = "i"
+ * elif t == NPY_UINT: f = "I"
+ * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONG: f = "L"
+ * elif t == NPY_LONGLONG: f = "q"
+ */
+ case NPY_LONG:
+ __pyx_v_f = __pyx_k_l;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
+ * elif t == NPY_UINT: f = "I"
+ * elif t == NPY_LONG: f = "l"
+ * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGLONG: f = "q"
+ * elif t == NPY_ULONGLONG: f = "Q"
+ */
+ case NPY_ULONG:
+ __pyx_v_f = __pyx_k_L;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
+ * elif t == NPY_LONG: f = "l"
+ * elif t == NPY_ULONG: f = "L"
+ * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONGLONG: f = "Q"
+ * elif t == NPY_FLOAT: f = "f"
+ */
+ case NPY_LONGLONG:
+ __pyx_v_f = __pyx_k_q;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
+ * elif t == NPY_ULONG: f = "L"
+ * elif t == NPY_LONGLONG: f = "q"
+ * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<
+ * elif t == NPY_FLOAT: f = "f"
+ * elif t == NPY_DOUBLE: f = "d"
+ */
+ case NPY_ULONGLONG:
+ __pyx_v_f = __pyx_k_Q;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
+ * elif t == NPY_LONGLONG: f = "q"
+ * elif t == NPY_ULONGLONG: f = "Q"
+ * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<
+ * elif t == NPY_DOUBLE: f = "d"
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ */
+ case NPY_FLOAT:
+ __pyx_v_f = __pyx_k_f;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
+ * elif t == NPY_ULONGLONG: f = "Q"
+ * elif t == NPY_FLOAT: f = "f"
+ * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ * elif t == NPY_CFLOAT: f = "Zf"
+ */
+ case NPY_DOUBLE:
+ __pyx_v_f = __pyx_k_d;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
+ * elif t == NPY_FLOAT: f = "f"
+ * elif t == NPY_DOUBLE: f = "d"
+ * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<
+ * elif t == NPY_CFLOAT: f = "Zf"
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ */
+ case NPY_LONGDOUBLE:
+ __pyx_v_f = __pyx_k_g;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
+ * elif t == NPY_DOUBLE: f = "d"
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ */
+ case NPY_CFLOAT:
+ __pyx_v_f = __pyx_k_Zf;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ * elif t == NPY_CFLOAT: f = "Zf"
+ * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ * elif t == NPY_OBJECT: f = "O"
+ */
+ case NPY_CDOUBLE:
+ __pyx_v_f = __pyx_k_Zd;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
+ * elif t == NPY_CFLOAT: f = "Zf"
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<
+ * elif t == NPY_OBJECT: f = "O"
+ * else:
+ */
+ case NPY_CLONGDOUBLE:
+ __pyx_v_f = __pyx_k_Zg;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+ case NPY_OBJECT:
+ __pyx_v_f = __pyx_k_O;
+ break;
+ default:
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
+ * elif t == NPY_OBJECT: f = "O"
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
+ * info.format = f
+ * return
+ */
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6);
+ __Pyx_GIVEREF(__pyx_t_6);
+ __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_6, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ break;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ * info.format = f # <<<<<<<<<<<<<<
+ * return
+ * else:
+ */
+ __pyx_v_info->format = __pyx_v_f;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":281
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ * info.format = f
+ * return # <<<<<<<<<<<<<<
+ * else:
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
+ * return
+ * else:
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<
+ * info.format[0] = c'^' # Native data types, manual alignment
+ * offset = 0
+ */
+ __pyx_v_info->format = ((char *)malloc(255));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
+ * else:
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<
+ * offset = 0
+ * f = _util_dtypestring(descr, info.format + 1,
+ */
+ (__pyx_v_info->format[0]) = '^';
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ * info.format[0] = c'^' # Native data types, manual alignment
+ * offset = 0 # <<<<<<<<<<<<<<
+ * f = _util_dtypestring(descr, info.format + 1,
+ * info.format + _buffer_format_string_len,
+ */
+ __pyx_v_offset = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
+ * info.format[0] = c'^' # Native data types, manual alignment
+ * offset = 0
+ * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<
+ * info.format + _buffer_format_string_len,
+ * &offset)
+ */
+ __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_f = __pyx_t_7;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
+ * info.format + _buffer_format_string_len,
+ * &offset)
+ * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info):
+ */
+ (__pyx_v_f[0]) = '\x00';
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+ * # experimental exception made for __getbuffer__ and __releasebuffer__
+ * # -- the details of this may change.
+ * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
+ * # This implementation of getbuffer is geared towards Cython
+ * # requirements, and does not yet fullfill the PEP.
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
+ __Pyx_GOTREF(__pyx_v_info->obj);
+ __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
+ }
+ goto __pyx_L2;
+ __pyx_L0:;
+ if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
+ __Pyx_GOTREF(Py_None);
+ __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
+ }
+ __pyx_L2:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+ * f[0] = c'\0' # Terminate format string
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format)
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
+ __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+}
+
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ __Pyx_RefNannySetupContext("__releasebuffer__", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info):
+ * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
+ * stdlib.free(info.format)
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+ __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
+ * def __releasebuffer__(ndarray self, Py_buffer* info):
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format) # <<<<<<<<<<<<<<
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * stdlib.free(info.strides)
+ */
+ free(__pyx_v_info->format);
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format)
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
+ * stdlib.free(info.strides)
+ * # info.shape was stored after info.strides in the same block
+ */
+ __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":295
+ * stdlib.free(info.format)
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * stdlib.free(info.strides) # <<<<<<<<<<<<<<
+ * # info.shape was stored after info.strides in the same block
+ *
+ */
+ free(__pyx_v_info->strides);
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+ * f[0] = c'\0' # Terminate format string
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format)
+ */
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+ * ctypedef npy_cdouble complex_t
+ *
+ * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":772
+ *
+ * cdef inline object PyArray_MultiIterNew1(a):
+ * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+ * ctypedef npy_cdouble complex_t
+ *
+ * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":775
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":781
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":784
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
+ *
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":786
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
+ * # Recursive utility function used in __getbuffer__ to get format
+ * # string. The new location in the format string is returned.
+ */
+
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
+ PyArray_Descr *__pyx_v_child = 0;
+ int __pyx_v_endian_detector;
+ int __pyx_v_little_endian;
+ PyObject *__pyx_v_fields = 0;
+ PyObject *__pyx_v_childname = NULL;
+ PyObject *__pyx_v_new_offset = NULL;
+ PyObject *__pyx_v_t = NULL;
+ char *__pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ Py_ssize_t __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_t_5;
+ int __pyx_t_6;
+ int __pyx_t_7;
+ long __pyx_t_8;
+ char *__pyx_t_9;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":793
+ * cdef int delta_offset
+ * cdef tuple i
+ * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * cdef tuple fields
+ */
+ __pyx_v_endian_detector = 1;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+ * cdef tuple i
+ * cdef int endian_detector = 1
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
+ * cdef tuple fields
+ *
+ */
+ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":797
+ * cdef tuple fields
+ *
+ * for childname in descr.names: # <<<<<<<<<<<<<<
+ * fields = descr.fields[childname]
+ * child, new_offset = fields
+ */
+ if (unlikely(__pyx_v_descr->names == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ for (;;) {
+ if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
+ *
+ * for childname in descr.names:
+ * fields = descr.fields[childname] # <<<<<<<<<<<<<<
+ * child, new_offset = fields
+ *
+ */
+ if (unlikely(__pyx_v_descr->fields == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
+ __pyx_t_3 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+ * for childname in descr.names:
+ * fields = descr.fields[childname]
+ * child, new_offset = fields # <<<<<<<<<<<<<<
+ *
+ * if (end - f) - <int>(new_offset - offset[0]) < 15:
+ */
+ if (likely(__pyx_v_fields != Py_None)) {
+ PyObject* sequence = __pyx_v_fields;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ Py_ssize_t size = Py_SIZE(sequence);
+ #else
+ Py_ssize_t size = PySequence_Size(sequence);
+ #endif
+ if (unlikely(size != 2)) {
+ if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+ else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
+ __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ #else
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ #endif
+ } else {
+ __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
+ __pyx_t_3 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+ * child, new_offset = fields
+ *
+ * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
+ * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ *
+ */
+ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+ *
+ * if (end - f) - <int>(new_offset - offset[0]) < 15:
+ * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
+ *
+ * if ((child.byteorder == c'>' and little_endian) or
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":804
+ * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ *
+ * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
+ * (child.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported")
+ */
+ __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
+ if (!__pyx_t_7) {
+ goto __pyx_L8_next_or;
+ } else {
+ }
+ __pyx_t_7 = (__pyx_v_little_endian != 0);
+ if (!__pyx_t_7) {
+ } else {
+ __pyx_t_6 = __pyx_t_7;
+ goto __pyx_L7_bool_binop_done;
+ }
+ __pyx_L8_next_or:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":805
+ *
+ * if ((child.byteorder == c'>' and little_endian) or
+ * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"Non-native byte order not supported")
+ * # One could encode it in the format string and have Cython
+ */
+ __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
+ if (__pyx_t_7) {
+ } else {
+ __pyx_t_6 = __pyx_t_7;
+ goto __pyx_L7_bool_binop_done;
+ }
+ __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
+ __pyx_t_6 = __pyx_t_7;
+ __pyx_L7_bool_binop_done:;
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
+ * if ((child.byteorder == c'>' and little_endian) or
+ * (child.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
+ * # One could encode it in the format string and have Cython
+ * # complain instead, BUT: < and > in format strings also imply
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
+ *
+ * # Output padding bytes
+ * while offset[0] < new_offset: # <<<<<<<<<<<<<<
+ * f[0] = 120 # "x"; pad byte
+ * f += 1
+ */
+ while (1) {
+ __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!__pyx_t_6) break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":817
+ * # Output padding bytes
+ * while offset[0] < new_offset:
+ * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<
+ * f += 1
+ * offset[0] += 1
+ */
+ (__pyx_v_f[0]) = 120;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
+ * while offset[0] < new_offset:
+ * f[0] = 120 # "x"; pad byte
+ * f += 1 # <<<<<<<<<<<<<<
+ * offset[0] += 1
+ *
+ */
+ __pyx_v_f = (__pyx_v_f + 1);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":819
+ * f[0] = 120 # "x"; pad byte
+ * f += 1
+ * offset[0] += 1 # <<<<<<<<<<<<<<
+ *
+ * offset[0] += child.itemsize
+ */
+ __pyx_t_8 = 0;
+ (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
+ * offset[0] += 1
+ *
+ * offset[0] += child.itemsize # <<<<<<<<<<<<<<
+ *
+ * if not PyDataType_HASFIELDS(child):
+ */
+ __pyx_t_8 = 0;
+ (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+ * offset[0] += child.itemsize
+ *
+ * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
+ * t = child.type_num
+ * if end - f < 5:
+ */
+ __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
+ *
+ * if not PyDataType_HASFIELDS(child):
+ * t = child.type_num # <<<<<<<<<<<<<<
+ * if end - f < 5:
+ * raise RuntimeError(u"Format string allocated too short.")
+ */
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":825
+ * if not PyDataType_HASFIELDS(child):
+ * t = child.type_num
+ * if end - f < 5: # <<<<<<<<<<<<<<
+ * raise RuntimeError(u"Format string allocated too short.")
+ *
+ */
+ __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
+ * t = child.type_num
+ * if end - f < 5:
+ * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
+ *
+ * # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
+ *
+ * # Until ticket #99 is fixed, use integers to avoid warnings
+ * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<
+ * elif t == NPY_UBYTE: f[0] = 66 #"B"
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 98;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
+ * # Until ticket #99 is fixed, use integers to avoid warnings
+ * if t == NPY_BYTE: f[0] = 98 #"b"
+ * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 66;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
+ * if t == NPY_BYTE: f[0] = 98 #"b"
+ * elif t == NPY_UBYTE: f[0] = 66 #"B"
+ * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 104;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
+ * elif t == NPY_UBYTE: f[0] = 66 #"B"
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 72;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 105;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 73;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 108;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 76;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 113;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 81;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 102;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 100;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 103;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 90;
+ (__pyx_v_f[1]) = 102;
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":843
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 90;
+ (__pyx_v_f[1]) = 100;
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<
+ * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ * else:
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 90;
+ (__pyx_v_f[1]) = 103;
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 79;
+ goto __pyx_L15;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":847
+ * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
+ * f += 1
+ * else:
+ */
+ __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L15:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":848
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ * f += 1 # <<<<<<<<<<<<<<
+ * else:
+ * # Cython ignores struct boundary information ("T{...}"),
+ */
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L13;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":852
+ * # Cython ignores struct boundary information ("T{...}"),
+ * # so don't output it
+ * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<
+ * return f
+ *
+ */
+ __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_f = __pyx_t_9;
+ }
+ __pyx_L13:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":797
+ * cdef tuple fields
+ *
+ * for childname in descr.names: # <<<<<<<<<<<<<<
+ * fields = descr.fields[childname]
+ * child, new_offset = fields
+ */
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":853
+ * # so don't output it
+ * f = _util_dtypestring(child, f, end, offset)
+ * return f # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_r = __pyx_v_f;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":786
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
+ * # Recursive utility function used in __getbuffer__ to get format
+ * # string. The new location in the format string is returned.
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_child);
+ __Pyx_XDECREF(__pyx_v_fields);
+ __Pyx_XDECREF(__pyx_v_childname);
+ __Pyx_XDECREF(__pyx_v_new_offset);
+ __Pyx_XDECREF(__pyx_v_t);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
+ *
+ *
+ * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
+ * cdef PyObject* baseptr
+ * if base is None:
+ */
+
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
+ PyObject *__pyx_v_baseptr;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ __Pyx_RefNannySetupContext("set_array_base", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
+ * cdef inline void set_array_base(ndarray arr, object base):
+ * cdef PyObject* baseptr
+ * if base is None: # <<<<<<<<<<<<<<
+ * baseptr = NULL
+ * else:
+ */
+ __pyx_t_1 = (__pyx_v_base == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
+ * cdef PyObject* baseptr
+ * if base is None:
+ * baseptr = NULL # <<<<<<<<<<<<<<
+ * else:
+ * Py_INCREF(base) # important to do this before decref below!
+ */
+ __pyx_v_baseptr = NULL;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
+ * baseptr = NULL
+ * else:
+ * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<<
+ * baseptr = <PyObject*>base
+ * Py_XDECREF(arr.base)
+ */
+ Py_INCREF(__pyx_v_base);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":975
+ * else:
+ * Py_INCREF(base) # important to do this before decref below!
+ * baseptr = <PyObject*>base # <<<<<<<<<<<<<<
+ * Py_XDECREF(arr.base)
+ * arr.base = baseptr
+ */
+ __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
+ }
+ __pyx_L3:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+ * Py_INCREF(base) # important to do this before decref below!
+ * baseptr = <PyObject*>base
+ * Py_XDECREF(arr.base) # <<<<<<<<<<<<<<
+ * arr.base = baseptr
+ *
+ */
+ Py_XDECREF(__pyx_v_arr->base);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+ * baseptr = <PyObject*>base
+ * Py_XDECREF(arr.base)
+ * arr.base = baseptr # <<<<<<<<<<<<<<
+ *
+ * cdef inline object get_array_base(ndarray arr):
+ */
+ __pyx_v_arr->base = __pyx_v_baseptr;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
+ *
+ *
+ * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
+ * cdef PyObject* baseptr
+ * if base is None:
+ */
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
+ * arr.base = baseptr
+ *
+ * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
+ * if arr.base is NULL:
+ * return None
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ __Pyx_RefNannySetupContext("get_array_base", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
+ *
+ * cdef inline object get_array_base(ndarray arr):
+ * if arr.base is NULL: # <<<<<<<<<<<<<<
+ * return None
+ * else:
+ */
+ __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":981
+ * cdef inline object get_array_base(ndarray arr):
+ * if arr.base is NULL:
+ * return None # <<<<<<<<<<<<<<
+ * else:
+ * return <object>arr.base
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(Py_None);
+ __pyx_r = Py_None;
+ goto __pyx_L0;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":983
+ * return None
+ * else:
+ * return <object>arr.base # <<<<<<<<<<<<<<
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
+ __pyx_r = ((PyObject *)__pyx_v_arr->base);
+ goto __pyx_L0;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
+ * arr.base = baseptr
+ *
+ * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
+ * if arr.base is NULL:
+ * return None
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+static struct __pyx_vtabstruct_5adios_file __pyx_vtable_5adios_file;
+
+static PyObject *__pyx_tp_new_5adios_file(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_5adios_file *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_file *)o);
+ p->__pyx_vtab = __pyx_vtabptr_5adios_file;
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_file(PyObject *o) {
+ struct __pyx_obj_5adios_file *p = (struct __pyx_obj_5adios_file *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->var);
+ Py_CLEAR(p->attr);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5adios_file(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_file *p = (struct __pyx_obj_5adios_file *)o;
+ if (p->var) {
+ e = (*v)(p->var, a); if (e) return e;
+ }
+ if (p->attr) {
+ e = (*v)(p->attr, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_file(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_file *p = (struct __pyx_obj_5adios_file *)o;
+ tmp = ((PyObject*)p->var);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->attr);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *__pyx_sq_item_5adios_file(PyObject *o, Py_ssize_t i) {
+ PyObject *r;
+ PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
+ r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
+ Py_DECREF(x);
+ return r;
+}
+
+static PyObject *__pyx_getprop_5adios_4file_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_nvars(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_5nvars_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_nattrs(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_6nattrs_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_current_step(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_12current_step_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_last_step(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_9last_step_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_endianness(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_10endianness_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_version(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_7version_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_file_sizec(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_10file_sizec_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_is_stream(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_9is_stream_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4file_var(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_3var_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_4file_var(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_4file_3var_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_5adios_4file_3var_5__del__(o);
+ }
+}
+
+static PyObject *__pyx_getprop_5adios_4file_attr(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4file_4attr_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_4file_attr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_4file_4attr_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_5adios_4file_4attr_5__del__(o);
+ }
+}
+
+static PyMethodDef __pyx_methods_5adios_file[] = {
+ {"__del__", (PyCFunction)__pyx_pw_5adios_4file_3__del__, METH_NOARGS, __pyx_doc_5adios_4file_2__del__},
+ {"close", (PyCFunction)__pyx_pw_5adios_4file_5close, METH_NOARGS, __pyx_doc_5adios_4file_4close},
+ {"printself", (PyCFunction)__pyx_pw_5adios_4file_7printself, METH_NOARGS, __pyx_doc_5adios_4file_6printself},
+ {"advance", (PyCFunction)__pyx_pw_5adios_4file_9advance, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_4file_8advance},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_5adios_file[] = {
+ {(char *)"name", __pyx_getprop_5adios_4file_name, 0, __pyx_k_The_filename_or_stream_name_ass, 0},
+ {(char *)"nvars", __pyx_getprop_5adios_4file_nvars, 0, __pyx_k_The_number_of_variables, 0},
+ {(char *)"nattrs", __pyx_getprop_5adios_4file_nattrs, 0, __pyx_k_The_number_of_attributes, 0},
+ {(char *)"current_step", __pyx_getprop_5adios_4file_current_step, 0, __pyx_k_The_current_timestep_index, 0},
+ {(char *)"last_step", __pyx_getprop_5adios_4file_last_step, 0, __pyx_k_The_last_timestep_index, 0},
+ {(char *)"endianness", __pyx_getprop_5adios_4file_endianness, 0, __pyx_k_The_endianness_of_the_stored_da, 0},
+ {(char *)"version", __pyx_getprop_5adios_4file_version, 0, __pyx_k_The_version_of_Adios, 0},
+ {(char *)"file_sizec", __pyx_getprop_5adios_4file_file_sizec, 0, __pyx_k_The_size_of_Adios_file, 0},
+ {(char *)"is_stream", __pyx_getprop_5adios_4file_is_stream, 0, __pyx_k_Indicating_reader_type_file_rea, 0},
+ {(char *)"var", __pyx_getprop_5adios_4file_var, __pyx_setprop_5adios_4file_var, __pyx_k_var_dict, 0},
+ {(char *)"attr", __pyx_getprop_5adios_4file_attr, __pyx_setprop_5adios_4file_attr, __pyx_k_attr_dict, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_file = {
+ 0, /*sq_length*/
+ 0, /*sq_concat*/
+ 0, /*sq_repeat*/
+ __pyx_sq_item_5adios_file, /*sq_item*/
+ 0, /*sq_slice*/
+ 0, /*sq_ass_item*/
+ 0, /*sq_ass_slice*/
+ 0, /*sq_contains*/
+ 0, /*sq_inplace_concat*/
+ 0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_file = {
+ 0, /*mp_length*/
+ __pyx_pw_5adios_4file_11__getitem__, /*mp_subscript*/
+ 0, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_5adios_file = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.file", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_file), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_file, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_5adios_4file_13__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ &__pyx_tp_as_sequence_file, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_file, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "file(char *fname, char *method_name='BP', MPI_Comm comm=MPI_COMM_WORLD, is_stream=False, ADIOS_LOCKMODE lock_mode=ADIOS_LOCKMODE_ALL, float timeout_sec=0.0)\n\n file class for Adios file read and write.\n\n Args:\n fname (str): filename.\n method_name (str, optional): Adios read method (default: 'BP').\n comm (MPI_Comm, optional): MPI_comm for parallel read/write (default: MPI_COMM_WORLD).\n is_stream (bool, optional): Set True if use stream reader (d [...]
+ __pyx_tp_traverse_5adios_file, /*tp_traverse*/
+ __pyx_tp_clear_5adios_file, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_file, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_5adios_file, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_4file_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_file, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+static struct __pyx_vtabstruct_5adios_var __pyx_vtable_5adios_var;
+
+static PyObject *__pyx_tp_new_5adios_var(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_5adios_var *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_var *)o);
+ p->__pyx_vtab = __pyx_vtabptr_5adios_var;
+ p->file = ((struct __pyx_obj_5adios_file *)Py_None); Py_INCREF(Py_None);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_var(PyObject *o) {
+ struct __pyx_obj_5adios_var *p = (struct __pyx_obj_5adios_var *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->file);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->dtype);
+ Py_CLEAR(p->dims);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5adios_var(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_var *p = (struct __pyx_obj_5adios_var *)o;
+ if (p->file) {
+ e = (*v)(((PyObject*)p->file), a); if (e) return e;
+ }
+ if (p->dtype) {
+ e = (*v)(((PyObject*)p->dtype), a); if (e) return e;
+ }
+ if (p->dims) {
+ e = (*v)(p->dims, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_var(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_var *p = (struct __pyx_obj_5adios_var *)o;
+ tmp = ((PyObject*)p->file);
+ p->file = ((struct __pyx_obj_5adios_file *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->dtype);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->dims);
+ p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *__pyx_sq_item_5adios_var(PyObject *o, Py_ssize_t i) {
+ PyObject *r;
+ PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
+ r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
+ Py_DECREF(x);
+ return r;
+}
+
+static PyObject *__pyx_getprop_5adios_3var_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_3var_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_3var_varid(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_3var_5varid_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_3var_dtype(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_3var_5dtype_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_3var_ndim(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_3var_4ndim_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_3var_dims(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_3var_4dims_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_3var_nsteps(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_3var_6nsteps_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_5adios_var[] = {
+ {"__del__", (PyCFunction)__pyx_pw_5adios_3var_3__del__, METH_NOARGS, __pyx_doc_5adios_3var_2__del__},
+ {"close", (PyCFunction)__pyx_pw_5adios_3var_5close, METH_NOARGS, __pyx_doc_5adios_3var_4close},
+ {"advance", (PyCFunction)__pyx_pw_5adios_3var_7advance, METH_NOARGS, __pyx_doc_5adios_3var_6advance},
+ {"read", (PyCFunction)__pyx_pw_5adios_3var_9read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_3var_8read},
+ {"printself", (PyCFunction)__pyx_pw_5adios_3var_11printself, METH_NOARGS, __pyx_doc_5adios_3var_10printself},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_5adios_var[] = {
+ {(char *)"name", __pyx_getprop_5adios_3var_name, 0, __pyx_k_The_variable_name, 0},
+ {(char *)"varid", __pyx_getprop_5adios_3var_varid, 0, __pyx_k_Internal_variable_id, 0},
+ {(char *)"dtype", __pyx_getprop_5adios_3var_dtype, 0, __pyx_k_Variable_type_as_in_numpy_dtype, 0},
+ {(char *)"ndim", __pyx_getprop_5adios_3var_ndim, 0, __pyx_k_The_number_of_dimensions_of_the, 0},
+ {(char *)"dims", __pyx_getprop_5adios_3var_dims, 0, __pyx_k_The_shape_of_the_variable, 0},
+ {(char *)"nsteps", __pyx_getprop_5adios_3var_nsteps, 0, __pyx_k_The_number_of_time_steps_of_the, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_var = {
+ 0, /*sq_length*/
+ 0, /*sq_concat*/
+ 0, /*sq_repeat*/
+ __pyx_sq_item_5adios_var, /*sq_item*/
+ 0, /*sq_slice*/
+ 0, /*sq_ass_item*/
+ 0, /*sq_ass_slice*/
+ 0, /*sq_contains*/
+ 0, /*sq_inplace_concat*/
+ 0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_var = {
+ 0, /*mp_length*/
+ __pyx_pw_5adios_3var_15__getitem__, /*mp_subscript*/
+ 0, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_5adios_var = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.var", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_var), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_var, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_5adios_3var_13__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ &__pyx_tp_as_sequence_var, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_var, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "var(file file, char *name)\n\n Adios variable class.\n\n Unlike attributes whose values are populated on initialization,\n variable's values will be returned by explicitly calling read() or\n array access interface ([]). \n\n Args:\n file (file): Associated file class\n name (str): variable name\n\n Note:\n Users do not need to create this class manually.\n ", /*tp_doc*/
+ __pyx_tp_traverse_5adios_var, /*tp_traverse*/
+ __pyx_tp_clear_5adios_var, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_var, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_5adios_var, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_3var_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_var, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_5adios_attr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_5adios_attr *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_attr *)o);
+ p->file = ((struct __pyx_obj_5adios_file *)Py_None); Py_INCREF(Py_None);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ p->value = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_attr(PyObject *o) {
+ struct __pyx_obj_5adios_attr *p = (struct __pyx_obj_5adios_attr *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->file);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->dtype);
+ Py_CLEAR(p->value);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5adios_attr(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_attr *p = (struct __pyx_obj_5adios_attr *)o;
+ if (p->file) {
+ e = (*v)(((PyObject*)p->file), a); if (e) return e;
+ }
+ if (p->dtype) {
+ e = (*v)(((PyObject*)p->dtype), a); if (e) return e;
+ }
+ if (p->value) {
+ e = (*v)(((PyObject*)p->value), a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_attr(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_attr *p = (struct __pyx_obj_5adios_attr *)o;
+ tmp = ((PyObject*)p->file);
+ p->file = ((struct __pyx_obj_5adios_file *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->dtype);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->value);
+ p->value = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyObject *__pyx_getprop_5adios_4attr_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4attr_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4attr_dtype(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4attr_5dtype_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_4attr_value(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_4attr_5value_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_5adios_attr[] = {
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_5adios_attr[] = {
+ {(char *)"name", __pyx_getprop_5adios_4attr_name, 0, __pyx_k_The_attribute_name, 0},
+ {(char *)"dtype", __pyx_getprop_5adios_4attr_dtype, 0, __pyx_k_The_attribute_type_as_in_numpy, 0},
+ {(char *)"value", __pyx_getprop_5adios_4attr_value, 0, __pyx_k_The_attribute_s_value, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_5adios_attr = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.attr", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_attr), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_attr, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_5adios_4attr_3__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "attr(file file, char *name)\n\n Adios attribute class.\n \n Attribute values are loaded on initialization.\n\n Args:\n attr_name (str): attribute name\n\n Raises:\n KeyError: If no attribute name exists.\n\n Note:\n Users do not need to create this class manually. \n ", /*tp_doc*/
+ __pyx_tp_traverse_5adios_attr, /*tp_traverse*/
+ __pyx_tp_clear_5adios_attr, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_attr, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_5adios_attr, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_4attr_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_attr, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_5adios_smartdict(PyTypeObject *t, PyObject *a, PyObject *k) {
+ struct __pyx_obj_5adios_smartdict *p;
+ PyObject *o = (&PyDict_Type)->tp_new(t, a, k);
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_smartdict *)o);
+ p->factory = Py_None; Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_smartdict(PyObject *o) {
+ struct __pyx_obj_5adios_smartdict *p = (struct __pyx_obj_5adios_smartdict *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->factory);
+ PyObject_GC_Track(o);
+ (&PyDict_Type)->tp_dealloc(o);
+}
+
+static int __pyx_tp_traverse_5adios_smartdict(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_smartdict *p = (struct __pyx_obj_5adios_smartdict *)o;
+ if (!(&PyDict_Type)->tp_traverse); else { e = (&PyDict_Type)->tp_traverse(o,v,a); if (e) return e; }
+ if (p->factory) {
+ e = (*v)(p->factory, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_smartdict(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_smartdict *p = (struct __pyx_obj_5adios_smartdict *)o;
+ if (!(&PyDict_Type)->tp_clear); else (&PyDict_Type)->tp_clear(o);
+ tmp = ((PyObject*)p->factory);
+ p->factory = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static int __pyx_mp_ass_subscript_5adios_smartdict(PyObject *o, PyObject *i, PyObject *v) {
+ if (v) {
+ return __pyx_pw_5adios_9smartdict_3__setitem__(o, i, v);
+ }
+ else {
+ if ((&PyDict_Type)->tp_as_mapping && (&PyDict_Type)->tp_as_mapping->mp_ass_subscript)
+ return (&PyDict_Type)->tp_as_mapping->mp_ass_subscript(o, i, v);
+ PyErr_Format(PyExc_NotImplementedError,
+ "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
+ return -1;
+ }
+}
+
+static PyMethodDef __pyx_methods_5adios_smartdict[] = {
+ {0, 0, 0, 0}
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_smartdict = {
+ 0, /*mp_length*/
+ 0, /*mp_subscript*/
+ __pyx_mp_ass_subscript_5adios_smartdict, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_5adios_smartdict = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.smartdict", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_smartdict), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_smartdict, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_smartdict, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "smartdict(factory)", /*tp_doc*/
+ __pyx_tp_traverse_5adios_smartdict, /*tp_traverse*/
+ __pyx_tp_clear_5adios_smartdict, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_smartdict, /*tp_methods*/
+ 0, /*tp_members*/
+ 0, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_9smartdict_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_smartdict, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_5adios_writer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_5adios_writer *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_writer *)o);
+ p->fname = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->gname = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->method = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->method_params = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_writer(PyObject *o) {
+ struct __pyx_obj_5adios_writer *p = (struct __pyx_obj_5adios_writer *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->fname);
+ Py_CLEAR(p->gname);
+ Py_CLEAR(p->method);
+ Py_CLEAR(p->method_params);
+ Py_CLEAR(p->var);
+ Py_CLEAR(p->attr);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5adios_writer(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_writer *p = (struct __pyx_obj_5adios_writer *)o;
+ if (p->var) {
+ e = (*v)(p->var, a); if (e) return e;
+ }
+ if (p->attr) {
+ e = (*v)(p->attr, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_writer(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_writer *p = (struct __pyx_obj_5adios_writer *)o;
+ tmp = ((PyObject*)p->var);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->attr);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *__pyx_sq_item_5adios_writer(PyObject *o, Py_ssize_t i) {
+ PyObject *r;
+ PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
+ r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
+ Py_DECREF(x);
+ return r;
+}
+
+static int __pyx_mp_ass_subscript_5adios_writer(PyObject *o, PyObject *i, PyObject *v) {
+ if (v) {
+ return __pyx_pw_5adios_6writer_11__setitem__(o, i, v);
+ }
+ else {
+ PyErr_Format(PyExc_NotImplementedError,
+ "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
+ return -1;
+ }
+}
+
+static PyObject *__pyx_getprop_5adios_6writer_fname(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_6writer_5fname_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_6writer_gname(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_6writer_5gname_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_6writer_is_noxml(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_6writer_8is_noxml_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_6writer_var(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_6writer_3var_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_6writer_attr(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_6writer_4attr_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_5adios_writer[] = {
+ {"declare_group", (PyCFunction)__pyx_pw_5adios_6writer_3declare_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_6writer_2declare_group},
+ {"define_var", (PyCFunction)__pyx_pw_5adios_6writer_5define_var, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_6writer_4define_var},
+ {"define_attr", (PyCFunction)__pyx_pw_5adios_6writer_7define_attr, METH_O, __pyx_doc_5adios_6writer_6define_attr},
+ {"define_dynamic_attr", (PyCFunction)__pyx_pw_5adios_6writer_9define_dynamic_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_6writer_8define_dynamic_attr},
+ {"close", (PyCFunction)__pyx_pw_5adios_6writer_15close, METH_NOARGS, __pyx_doc_5adios_6writer_14close},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_5adios_writer[] = {
+ {(char *)"fname", __pyx_getprop_5adios_6writer_fname, 0, __pyx_k_The_filename_to_write, 0},
+ {(char *)"gname", __pyx_getprop_5adios_6writer_gname, 0, __pyx_k_The_groupname_associated_with_t, 0},
+ {(char *)"is_noxml", __pyx_getprop_5adios_6writer_is_noxml, 0, __pyx_k_Boolean_to_indicate_using_No_XM, 0},
+ {(char *)"var", __pyx_getprop_5adios_6writer_var, 0, __pyx_k_Dictionary_of_variables_to_writ, 0},
+ {(char *)"attr", __pyx_getprop_5adios_6writer_attr, 0, __pyx_k_Dictionary_of_attributes_to_wri, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_writer = {
+ 0, /*sq_length*/
+ 0, /*sq_concat*/
+ 0, /*sq_repeat*/
+ __pyx_sq_item_5adios_writer, /*sq_item*/
+ 0, /*sq_slice*/
+ 0, /*sq_ass_item*/
+ 0, /*sq_ass_slice*/
+ 0, /*sq_contains*/
+ 0, /*sq_inplace_concat*/
+ 0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_writer = {
+ 0, /*mp_length*/
+ __pyx_pw_5adios_6writer_13__getitem__, /*mp_subscript*/
+ __pyx_mp_ass_subscript_5adios_writer, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_5adios_writer = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.writer", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_writer), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_writer, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_5adios_6writer_17__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ &__pyx_tp_as_sequence_writer, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_writer, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "writer(char *fname, bool is_noxml=True, MPI_Comm comm=MPI_COMM_WORLD)\n\n writer class for Adios write.\n\n Args:\n fname (str): filename.\n is_noxml (bool, optional): Set True if use noxml APIs (default: True).\n comm (MPI_Comm, optional): MPI_comm for parallel read/write (default: MPI_COMM_WORLD).\n\n Example:\n \n >>> import adios as ad\n >>> f = ad.writer('adiosfile.bp')\n \n ", /*tp_doc*/
+ __pyx_tp_traverse_5adios_writer, /*tp_traverse*/
+ __pyx_tp_clear_5adios_writer, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_writer, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_5adios_writer, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_6writer_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_writer, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_5adios_attrinfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_5adios_attrinfo *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_attrinfo *)o);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->dtype = Py_None; Py_INCREF(Py_None);
+ p->value = Py_None; Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_attrinfo(PyObject *o) {
+ struct __pyx_obj_5adios_attrinfo *p = (struct __pyx_obj_5adios_attrinfo *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->dtype);
+ Py_CLEAR(p->value);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5adios_attrinfo(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_attrinfo *p = (struct __pyx_obj_5adios_attrinfo *)o;
+ if (p->dtype) {
+ e = (*v)(p->dtype, a); if (e) return e;
+ }
+ if (p->value) {
+ e = (*v)(p->value, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_attrinfo(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_attrinfo *p = (struct __pyx_obj_5adios_attrinfo *)o;
+ tmp = ((PyObject*)p->dtype);
+ p->dtype = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->value);
+ p->value = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyObject *__pyx_getprop_5adios_8attrinfo_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_8attrinfo_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_8attrinfo_is_static(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_8attrinfo_9is_static_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_8attrinfo_dtype(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_8attrinfo_5dtype_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_5adios_8attrinfo_value(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_8attrinfo_5value_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_8attrinfo_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_8attrinfo_5value_3__set__(o, v);
+ }
+ else {
+ PyErr_SetString(PyExc_NotImplementedError, "__del__");
+ return -1;
+ }
+}
+
+static PyMethodDef __pyx_methods_5adios_attrinfo[] = {
+ {"define", (PyCFunction)__pyx_pw_5adios_8attrinfo_3define, METH_O, __pyx_doc_5adios_8attrinfo_2define},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_5adios_attrinfo[] = {
+ {(char *)"name", __pyx_getprop_5adios_8attrinfo_name, 0, 0, 0},
+ {(char *)"is_static", __pyx_getprop_5adios_8attrinfo_is_static, 0, 0, 0},
+ {(char *)"dtype", __pyx_getprop_5adios_8attrinfo_dtype, 0, 0, 0},
+ {(char *)"value", __pyx_getprop_5adios_8attrinfo_value, __pyx_setprop_5adios_8attrinfo_value, 0, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_5adios_attrinfo = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.attrinfo", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_attrinfo), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_attrinfo, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_5adios_8attrinfo_5__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "attrinfo(char *name, value=None, dtype=None, bool is_static=True)", /*tp_doc*/
+ __pyx_tp_traverse_5adios_attrinfo, /*tp_traverse*/
+ __pyx_tp_clear_5adios_attrinfo, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_attrinfo, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_5adios_attrinfo, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_8attrinfo_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_attrinfo, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_5adios_varinfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_5adios_varinfo *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_5adios_varinfo *)o);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->ldim = Py_None; Py_INCREF(Py_None);
+ p->gdim = Py_None; Py_INCREF(Py_None);
+ p->offset = Py_None; Py_INCREF(Py_None);
+ p->value = Py_None; Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios_varinfo(PyObject *o) {
+ struct __pyx_obj_5adios_varinfo *p = (struct __pyx_obj_5adios_varinfo *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->ldim);
+ Py_CLEAR(p->gdim);
+ Py_CLEAR(p->offset);
+ Py_CLEAR(p->value);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5adios_varinfo(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios_varinfo *p = (struct __pyx_obj_5adios_varinfo *)o;
+ if (p->ldim) {
+ e = (*v)(p->ldim, a); if (e) return e;
+ }
+ if (p->gdim) {
+ e = (*v)(p->gdim, a); if (e) return e;
+ }
+ if (p->offset) {
+ e = (*v)(p->offset, a); if (e) return e;
+ }
+ if (p->value) {
+ e = (*v)(p->value, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios_varinfo(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios_varinfo *p = (struct __pyx_obj_5adios_varinfo *)o;
+ tmp = ((PyObject*)p->ldim);
+ p->ldim = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->gdim);
+ p->gdim = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->offset);
+ p->offset = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->value);
+ p->value = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyObject *__pyx_getprop_5adios_7varinfo_ldim(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_7varinfo_4ldim_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_7varinfo_ldim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_7varinfo_4ldim_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_5adios_7varinfo_4ldim_5__del__(o);
+ }
+}
+
+static PyObject *__pyx_getprop_5adios_7varinfo_gdim(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_7varinfo_4gdim_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_7varinfo_gdim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_7varinfo_4gdim_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_5adios_7varinfo_4gdim_5__del__(o);
+ }
+}
+
+static PyObject *__pyx_getprop_5adios_7varinfo_offset(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_7varinfo_6offset_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_7varinfo_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_7varinfo_6offset_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_5adios_7varinfo_6offset_5__del__(o);
+ }
+}
+
+static PyObject *__pyx_getprop_5adios_7varinfo_value(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_5adios_7varinfo_5value_1__get__(o);
+}
+
+static int __pyx_setprop_5adios_7varinfo_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_5adios_7varinfo_5value_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_5adios_7varinfo_5value_5__del__(o);
+ }
+}
+
+static PyMethodDef __pyx_methods_5adios_varinfo[] = {
+ {"define", (PyCFunction)__pyx_pw_5adios_7varinfo_3define, METH_O, __pyx_doc_5adios_7varinfo_2define},
+ {"bytes", (PyCFunction)__pyx_pw_5adios_7varinfo_5bytes, METH_NOARGS, __pyx_doc_5adios_7varinfo_4bytes},
+ {"write", (PyCFunction)__pyx_pw_5adios_7varinfo_7write, METH_O, __pyx_doc_5adios_7varinfo_6write},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_5adios_varinfo[] = {
+ {(char *)"ldim", __pyx_getprop_5adios_7varinfo_ldim, __pyx_setprop_5adios_7varinfo_ldim, __pyx_k_ldim_object, 0},
+ {(char *)"gdim", __pyx_getprop_5adios_7varinfo_gdim, __pyx_setprop_5adios_7varinfo_gdim, __pyx_k_gdim_object, 0},
+ {(char *)"offset", __pyx_getprop_5adios_7varinfo_offset, __pyx_setprop_5adios_7varinfo_offset, __pyx_k_offset_object, 0},
+ {(char *)"value", __pyx_getprop_5adios_7varinfo_value, __pyx_setprop_5adios_7varinfo_value, __pyx_k_value_object, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_5adios_varinfo = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.varinfo", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios_varinfo), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios_varinfo, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_5adios_7varinfo_9__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "varinfo(char *name, ldim=<\077\077?>, gdim=<\077\077?>, offset=<\077\077?>)", /*tp_doc*/
+ __pyx_tp_traverse_5adios_varinfo, /*tp_traverse*/
+ __pyx_tp_clear_5adios_varinfo, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_5adios_varinfo, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_5adios_varinfo, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_5adios_7varinfo_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios_varinfo, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *__pyx_freelist_5adios___pyx_scope_struct____getitem__[8];
+static int __pyx_freecount_5adios___pyx_scope_struct____getitem__ = 0;
+
+static PyObject *__pyx_tp_new_5adios___pyx_scope_struct____getitem__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ PyObject *o;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_5adios___pyx_scope_struct____getitem__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_5adios___pyx_scope_struct____getitem__)))) {
+ o = (PyObject*)__pyx_freelist_5adios___pyx_scope_struct____getitem__[--__pyx_freecount_5adios___pyx_scope_struct____getitem__];
+ memset(o, 0, sizeof(struct __pyx_obj_5adios___pyx_scope_struct____getitem__));
+ (void) PyObject_INIT(o, t);
+ PyObject_GC_Track(o);
+ } else {
+ o = (*t->tp_alloc)(t, 0);
+ if (unlikely(!o)) return 0;
+ }
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios___pyx_scope_struct____getitem__(PyObject *o) {
+ struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *p = (struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)o;
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->__pyx_v_dims_);
+ Py_CLEAR(p->__pyx_v_index_);
+ Py_CLEAR(p->__pyx_v_self);
+ if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_5adios___pyx_scope_struct____getitem__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_5adios___pyx_scope_struct____getitem__)))) {
+ __pyx_freelist_5adios___pyx_scope_struct____getitem__[__pyx_freecount_5adios___pyx_scope_struct____getitem__++] = ((struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)o);
+ } else {
+ (*Py_TYPE(o)->tp_free)(o);
+ }
+}
+
+static int __pyx_tp_traverse_5adios___pyx_scope_struct____getitem__(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *p = (struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)o;
+ if (p->__pyx_v_dims_) {
+ e = (*v)(p->__pyx_v_dims_, a); if (e) return e;
+ }
+ if (p->__pyx_v_index_) {
+ e = (*v)(p->__pyx_v_index_, a); if (e) return e;
+ }
+ if (p->__pyx_v_self) {
+ e = (*v)(((PyObject*)p->__pyx_v_self), a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios___pyx_scope_struct____getitem__(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *p = (struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)o;
+ tmp = ((PyObject*)p->__pyx_v_dims_);
+ p->__pyx_v_dims_ = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_index_);
+ p->__pyx_v_index_ = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_self);
+ p->__pyx_v_self = ((struct __pyx_obj_5adios_var *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyTypeObject __pyx_type_5adios___pyx_scope_struct____getitem__ = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.__pyx_scope_struct____getitem__", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios___pyx_scope_struct____getitem__), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios___pyx_scope_struct____getitem__, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash*/
0, /*tp_call*/
@@ -13445,25 +24069,259 @@ static PyTypeObject __pyx_type_5adios_var = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- " Private Memeber ", /*tp_doc*/
- __pyx_tp_traverse_5adios_var, /*tp_traverse*/
- __pyx_tp_clear_5adios_var, /*tp_clear*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ 0, /*tp_doc*/
+ __pyx_tp_traverse_5adios___pyx_scope_struct____getitem__, /*tp_traverse*/
+ __pyx_tp_clear_5adios___pyx_scope_struct____getitem__, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
- __pyx_methods_5adios_var, /*tp_methods*/
+ 0, /*tp_methods*/
0, /*tp_members*/
- __pyx_getsets_5adios_var, /*tp_getset*/
+ 0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
- __pyx_pw_5adios_3var_1__init__, /*tp_init*/
+ 0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_5adios_var, /*tp_new*/
+ __pyx_tp_new_5adios___pyx_scope_struct____getitem__, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *__pyx_freelist_5adios___pyx_scope_struct_1_genexpr[8];
+static int __pyx_freecount_5adios___pyx_scope_struct_1_genexpr = 0;
+
+static PyObject *__pyx_tp_new_5adios___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ PyObject *o;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_5adios___pyx_scope_struct_1_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr)))) {
+ o = (PyObject*)__pyx_freelist_5adios___pyx_scope_struct_1_genexpr[--__pyx_freecount_5adios___pyx_scope_struct_1_genexpr];
+ memset(o, 0, sizeof(struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr));
+ (void) PyObject_INIT(o, t);
+ PyObject_GC_Track(o);
+ } else {
+ o = (*t->tp_alloc)(t, 0);
+ if (unlikely(!o)) return 0;
+ }
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios___pyx_scope_struct_1_genexpr(PyObject *o) {
+ struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *)o;
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->__pyx_outer_scope);
+ Py_CLEAR(p->__pyx_v_x);
+ Py_CLEAR(p->__pyx_t_0);
+ if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_5adios___pyx_scope_struct_1_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr)))) {
+ __pyx_freelist_5adios___pyx_scope_struct_1_genexpr[__pyx_freecount_5adios___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *)o);
+ } else {
+ (*Py_TYPE(o)->tp_free)(o);
+ }
+}
+
+static int __pyx_tp_traverse_5adios___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *)o;
+ if (p->__pyx_outer_scope) {
+ e = (*v)(((PyObject*)p->__pyx_outer_scope), a); if (e) return e;
+ }
+ if (p->__pyx_v_x) {
+ e = (*v)(p->__pyx_v_x, a); if (e) return e;
+ }
+ if (p->__pyx_t_0) {
+ e = (*v)(p->__pyx_t_0, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios___pyx_scope_struct_1_genexpr(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr *)o;
+ tmp = ((PyObject*)p->__pyx_outer_scope);
+ p->__pyx_outer_scope = ((struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_x);
+ p->__pyx_v_x = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_t_0);
+ p->__pyx_t_0 = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyTypeObject __pyx_type_5adios___pyx_scope_struct_1_genexpr = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.__pyx_scope_struct_1_genexpr", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios___pyx_scope_struct_1_genexpr, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ 0, /*tp_doc*/
+ __pyx_tp_traverse_5adios___pyx_scope_struct_1_genexpr, /*tp_traverse*/
+ __pyx_tp_clear_5adios___pyx_scope_struct_1_genexpr, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ 0, /*tp_methods*/
+ 0, /*tp_members*/
+ 0, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ 0, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios___pyx_scope_struct_1_genexpr, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *__pyx_freelist_5adios___pyx_scope_struct_2_genexpr[8];
+static int __pyx_freecount_5adios___pyx_scope_struct_2_genexpr = 0;
+
+static PyObject *__pyx_tp_new_5adios___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ PyObject *o;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_5adios___pyx_scope_struct_2_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr)))) {
+ o = (PyObject*)__pyx_freelist_5adios___pyx_scope_struct_2_genexpr[--__pyx_freecount_5adios___pyx_scope_struct_2_genexpr];
+ memset(o, 0, sizeof(struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr));
+ (void) PyObject_INIT(o, t);
+ PyObject_GC_Track(o);
+ } else {
+ o = (*t->tp_alloc)(t, 0);
+ if (unlikely(!o)) return 0;
+ }
+ return o;
+}
+
+static void __pyx_tp_dealloc_5adios___pyx_scope_struct_2_genexpr(PyObject *o) {
+ struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *)o;
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->__pyx_outer_scope);
+ Py_CLEAR(p->__pyx_v_x);
+ Py_CLEAR(p->__pyx_t_0);
+ if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_5adios___pyx_scope_struct_2_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr)))) {
+ __pyx_freelist_5adios___pyx_scope_struct_2_genexpr[__pyx_freecount_5adios___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *)o);
+ } else {
+ (*Py_TYPE(o)->tp_free)(o);
+ }
+}
+
+static int __pyx_tp_traverse_5adios___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *)o;
+ if (p->__pyx_outer_scope) {
+ e = (*v)(((PyObject*)p->__pyx_outer_scope), a); if (e) return e;
+ }
+ if (p->__pyx_v_x) {
+ e = (*v)(p->__pyx_v_x, a); if (e) return e;
+ }
+ if (p->__pyx_t_0) {
+ e = (*v)(p->__pyx_t_0, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_5adios___pyx_scope_struct_2_genexpr(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr *)o;
+ tmp = ((PyObject*)p->__pyx_outer_scope);
+ p->__pyx_outer_scope = ((struct __pyx_obj_5adios___pyx_scope_struct____getitem__ *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_x);
+ p->__pyx_v_x = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_t_0);
+ p->__pyx_t_0 = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyTypeObject __pyx_type_5adios___pyx_scope_struct_2_genexpr = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios.__pyx_scope_struct_2_genexpr", /*tp_name*/
+ sizeof(struct __pyx_obj_5adios___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_5adios___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ 0, /*tp_doc*/
+ __pyx_tp_traverse_5adios___pyx_scope_struct_2_genexpr, /*tp_traverse*/
+ __pyx_tp_clear_5adios___pyx_scope_struct_2_genexpr, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ 0, /*tp_methods*/
+ 0, /*tp_members*/
+ 0, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ 0, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_5adios___pyx_scope_struct_2_genexpr, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -13479,25 +24337,30 @@ static PyTypeObject __pyx_type_5adios_var = {
};
static PyMethodDef __pyx_methods[] = {
- {"init", (PyCFunction)__pyx_pw_5adios_1init, METH_VARARGS|METH_KEYWORDS, 0},
- {"open", (PyCFunction)__pyx_pw_5adios_3open, METH_VARARGS|METH_KEYWORDS, 0},
- {"set_group_size", (PyCFunction)__pyx_pw_5adios_5set_group_size, METH_VARARGS|METH_KEYWORDS, 0},
- {"write", (PyCFunction)__pyx_pw_5adios_7write, METH_VARARGS|METH_KEYWORDS, 0},
- {"write_int", (PyCFunction)__pyx_pw_5adios_9write_int, METH_VARARGS|METH_KEYWORDS, 0},
- {"write_long", (PyCFunction)__pyx_pw_5adios_11write_long, METH_VARARGS|METH_KEYWORDS, 0},
- {"write_float", (PyCFunction)__pyx_pw_5adios_13write_float, METH_VARARGS|METH_KEYWORDS, 0},
- {"read", (PyCFunction)__pyx_pw_5adios_15read, METH_VARARGS|METH_KEYWORDS, 0},
- {"close", (PyCFunction)__pyx_pw_5adios_17close, METH_O, 0},
- {"finalize", (PyCFunction)__pyx_pw_5adios_19finalize, METH_VARARGS|METH_KEYWORDS, 0},
- {"init_noxml", (PyCFunction)__pyx_pw_5adios_21init_noxml, METH_VARARGS|METH_KEYWORDS, 0},
- {"allocate_buffer", (PyCFunction)__pyx_pw_5adios_23allocate_buffer, METH_VARARGS|METH_KEYWORDS, 0},
- {"declare_group", (PyCFunction)__pyx_pw_5adios_25declare_group, METH_VARARGS|METH_KEYWORDS, 0},
- {"define_var", (PyCFunction)__pyx_pw_5adios_27define_var, METH_VARARGS|METH_KEYWORDS, 0},
- {"define_attribute", (PyCFunction)__pyx_pw_5adios_29define_attribute, METH_VARARGS|METH_KEYWORDS, 0},
- {"select_method", (PyCFunction)__pyx_pw_5adios_31select_method, METH_VARARGS|METH_KEYWORDS, 0},
- {"np2adiostype", (PyCFunction)__pyx_pw_5adios_33np2adiostype, METH_O, __pyx_doc_5adios_32np2adiostype},
- {"read_init", (PyCFunction)__pyx_pw_5adios_35read_init, METH_VARARGS|METH_KEYWORDS, 0},
- {"read_finalize", (PyCFunction)__pyx_pw_5adios_37read_finalize, METH_VARARGS|METH_KEYWORDS, 0},
+ {"__parse_index", (PyCFunction)__pyx_pw_5adios_1__parse_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios___parse_index},
+ {"init", (PyCFunction)__pyx_pw_5adios_3init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_2init},
+ {"open", (PyCFunction)__pyx_pw_5adios_5open, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_4open},
+ {"set_group_size", (PyCFunction)__pyx_pw_5adios_7set_group_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_6set_group_size},
+ {"write", (PyCFunction)__pyx_pw_5adios_9write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_8write},
+ {"write_int", (PyCFunction)__pyx_pw_5adios_11write_int, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_10write_int},
+ {"write_long", (PyCFunction)__pyx_pw_5adios_13write_long, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_12write_long},
+ {"write_float", (PyCFunction)__pyx_pw_5adios_15write_float, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_14write_float},
+ {"write_double", (PyCFunction)__pyx_pw_5adios_17write_double, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_16write_double},
+ {"read", (PyCFunction)__pyx_pw_5adios_19read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_18read},
+ {"close", (PyCFunction)__pyx_pw_5adios_21close, METH_O, __pyx_doc_5adios_20close},
+ {"finalize", (PyCFunction)__pyx_pw_5adios_23finalize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_22finalize},
+ {"init_noxml", (PyCFunction)__pyx_pw_5adios_25init_noxml, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_24init_noxml},
+ {"allocate_buffer", (PyCFunction)__pyx_pw_5adios_27allocate_buffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_26allocate_buffer},
+ {"declare_group", (PyCFunction)__pyx_pw_5adios_29declare_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_28declare_group},
+ {"define_var", (PyCFunction)__pyx_pw_5adios_31define_var, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_30define_var},
+ {"define_attribute", (PyCFunction)__pyx_pw_5adios_33define_attribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_32define_attribute},
+ {"define_attribute_byvalue", (PyCFunction)__pyx_pw_5adios_35define_attribute_byvalue, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_34define_attribute_byvalue},
+ {"select_method", (PyCFunction)__pyx_pw_5adios_37select_method, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_36select_method},
+ {"adios2npdtype", (PyCFunction)__pyx_pw_5adios_39adios2npdtype, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_38adios2npdtype},
+ {"np2adiostype", (PyCFunction)__pyx_pw_5adios_41np2adiostype, METH_O, __pyx_doc_5adios_40np2adiostype},
+ {"adiostype2string", (PyCFunction)__pyx_pw_5adios_43adiostype2string, METH_O, __pyx_doc_5adios_42adiostype2string},
+ {"read_init", (PyCFunction)__pyx_pw_5adios_45read_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_44read_init},
+ {"read_finalize", (PyCFunction)__pyx_pw_5adios_47read_finalize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5adios_46read_finalize},
{0, 0, 0, 0}
};
@@ -13509,7 +24372,7 @@ static struct PyModuleDef __pyx_moduledef = {
PyModuleDef_HEAD_INIT,
#endif
"adios",
- __pyx_k_ADIOS_is_freely_available_under, /* m_doc */
+ __pyx_k_ADIOS_ADIOS_python_module_module, /* m_doc */
-1, /* m_size */
__pyx_methods /* m_methods */,
NULL, /* m_reload */
@@ -13523,55 +24386,85 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_kp_s_15s_d, __pyx_k_15s_d, sizeof(__pyx_k_15s_d), 0, 0, 1, 0},
{&__pyx_kp_s_15s_lu, __pyx_k_15s_lu, sizeof(__pyx_k_15s_lu), 0, 0, 1, 0},
{&__pyx_kp_s_15s_s, __pyx_k_15s_s, sizeof(__pyx_k_15s_s), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosAttr_name_r_dtype_r_value_r, __pyx_k_AdiosAttr_name_r_dtype_r_value_r, sizeof(__pyx_k_AdiosAttr_name_r_dtype_r_value_r), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosAttrinfo_name_r_is_static_r, __pyx_k_AdiosAttrinfo_name_r_is_static_r, sizeof(__pyx_k_AdiosAttrinfo_name_r_is_static_r), 0, 0, 1, 0},
{&__pyx_kp_s_AdiosFile, __pyx_k_AdiosFile, sizeof(__pyx_k_AdiosFile), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosFile_path_r_nvars_r_var_r_n, __pyx_k_AdiosFile_path_r_nvars_r_var_r_n, sizeof(__pyx_k_AdiosFile_path_r_nvars_r_var_r_n), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosVar_varid_r_dtype_r_ndim_r, __pyx_k_AdiosVar_varid_r_dtype_r_ndim_r, sizeof(__pyx_k_AdiosVar_varid_r_dtype_r_ndim_r), 0, 0, 1, 0},
{&__pyx_kp_s_AdiosVariable, __pyx_k_AdiosVariable, sizeof(__pyx_k_AdiosVariable), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosVarinfo_name_r_ldim_r_gdim, __pyx_k_AdiosVarinfo_name_r_ldim_r_gdim, sizeof(__pyx_k_AdiosVarinfo_name_r_ldim_r_gdim), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosWriter_fname_r_gname_r_meth, __pyx_k_AdiosWriter_fname_r_gname_r_meth, sizeof(__pyx_k_AdiosWriter_fname_r_gname_r_meth), 0, 0, 1, 0},
{&__pyx_n_s_BP, __pyx_k_BP, sizeof(__pyx_k_BP), 0, 0, 1, 1},
{&__pyx_n_s_BP_AGGREGATE, __pyx_k_BP_AGGREGATE, sizeof(__pyx_k_BP_AGGREGATE), 0, 0, 1, 1},
{&__pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_k_BUFFER_ALLOC_WHEN, sizeof(__pyx_k_BUFFER_ALLOC_WHEN), 0, 0, 1, 1},
- {&__pyx_kp_s_Count_dimension_mismatch, __pyx_k_Count_dimension_mismatch, sizeof(__pyx_k_Count_dimension_mismatch), 0, 0, 1, 0},
- {&__pyx_kp_s_Count_is_larger_than_shape, __pyx_k_Count_is_larger_than_shape, sizeof(__pyx_k_Count_is_larger_than_shape), 0, 0, 1, 0},
+ {&__pyx_kp_s_Count_dimension_mismatch_count_d, __pyx_k_Count_dimension_mismatch_count_d, sizeof(__pyx_k_Count_dimension_mismatch_count_d), 0, 0, 1, 0},
{&__pyx_n_s_DATASPACES, __pyx_k_DATASPACES, sizeof(__pyx_k_DATASPACES), 0, 0, 1, 1},
{&__pyx_n_s_DATATYPE, __pyx_k_DATATYPE, sizeof(__pyx_k_DATATYPE), 0, 0, 1, 1},
{&__pyx_n_s_DIMES, __pyx_k_DIMES, sizeof(__pyx_k_DIMES), 0, 0, 1, 1},
{&__pyx_kp_s_Data_type_is_not_supported_yet, __pyx_k_Data_type_is_not_supported_yet, sizeof(__pyx_k_Data_type_is_not_supported_yet), 0, 0, 1, 0},
+ {&__pyx_kp_u_Define_a_group_associated_with, __pyx_k_Define_a_group_associated_with, sizeof(__pyx_k_Define_a_group_associated_with), 0, 1, 0, 0},
+ {&__pyx_kp_u_Define_a_variable_associated_wi, __pyx_k_Define_a_variable_associated_wi, sizeof(__pyx_k_Define_a_variable_associated_wi), 0, 1, 0, 0},
+ {&__pyx_n_s_Ellipsis, __pyx_k_Ellipsis, sizeof(__pyx_k_Ellipsis), 0, 0, 1, 1},
{&__pyx_n_s_FLAG, __pyx_k_FLAG, sizeof(__pyx_k_FLAG), 0, 0, 1, 1},
{&__pyx_n_s_FLEXPATH, __pyx_k_FLEXPATH, sizeof(__pyx_k_FLEXPATH), 0, 0, 1, 1},
{&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},
{&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},
{&__pyx_n_s_ICEE, __pyx_k_ICEE, sizeof(__pyx_k_ICEE), 0, 0, 1, 1},
+ {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
+ {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
{&__pyx_n_s_LATER, __pyx_k_LATER, sizeof(__pyx_k_LATER), 0, 0, 1, 1},
{&__pyx_n_s_NO, __pyx_k_NO, sizeof(__pyx_k_NO), 0, 0, 1, 1},
{&__pyx_n_s_NOW, __pyx_k_NOW, sizeof(__pyx_k_NOW), 0, 0, 1, 1},
+ {&__pyx_kp_s_Name_index_r_is_not_supported, __pyx_k_Name_index_r_is_not_supported, sizeof(__pyx_k_Name_index_r_is_not_supported), 0, 0, 1, 0},
{&__pyx_kp_s_No_valid_variable, __pyx_k_No_valid_variable, sizeof(__pyx_k_No_valid_variable), 0, 0, 1, 0},
{&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},
+ {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1},
{&__pyx_kp_s_Not_a_valid_var, __pyx_k_Not_a_valid_var, sizeof(__pyx_k_Not_a_valid_var), 0, 0, 1, 0},
{&__pyx_kp_s_Not_an_open_file, __pyx_k_Not_an_open_file, sizeof(__pyx_k_Not_an_open_file), 0, 0, 1, 0},
{&__pyx_kp_s_Not_an_open_var, __pyx_k_Not_an_open_var, sizeof(__pyx_k_Not_an_open_var), 0, 0, 1, 0},
{&__pyx_kp_s_Not_an_open_variable, __pyx_k_Not_an_open_variable, sizeof(__pyx_k_Not_an_open_variable), 0, 0, 1, 0},
- {&__pyx_kp_s_Offset_dimension_mismatch, __pyx_k_Offset_dimension_mismatch, sizeof(__pyx_k_Offset_dimension_mismatch), 0, 0, 1, 0},
+ {&__pyx_kp_s_Offset_dimension_mismatch_offset, __pyx_k_Offset_dimension_mismatch_offset, sizeof(__pyx_k_Offset_dimension_mismatch_offset), 0, 0, 1, 0},
{&__pyx_kp_s_Only_contiguous_arrays_are_suppo, __pyx_k_Only_contiguous_arrays_are_suppo, sizeof(__pyx_k_Only_contiguous_arrays_are_suppo), 0, 0, 1, 0},
+ {&__pyx_kp_u_Perform_read_Read_data_from_an, __pyx_k_Perform_read_Read_data_from_an, sizeof(__pyx_k_Perform_read_Read_data_from_an), 0, 1, 0, 0},
+ {&__pyx_n_s_READ_METHOD, __pyx_k_READ_METHOD, sizeof(__pyx_k_READ_METHOD), 0, 0, 1, 1},
{&__pyx_kp_s_Reading, __pyx_k_Reading, sizeof(__pyx_k_Reading), 0, 0, 1, 0},
+ {&__pyx_kp_s_Requested_is_larger_than_the_sha, __pyx_k_Requested_is_larger_than_the_sha, sizeof(__pyx_k_Requested_is_larger_than_the_sha), 0, 0, 1, 0},
{&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
- {&__pyx_kp_s_Step_index_is_out_of_range, __pyx_k_Step_index_is_out_of_range, sizeof(__pyx_k_Step_index_is_out_of_range), 0, 0, 1, 0},
+ {&__pyx_n_s_S, __pyx_k_S, sizeof(__pyx_k_S), 0, 0, 1, 1},
+ {&__pyx_kp_s_Step_index_is_out_of_range_from, __pyx_k_Step_index_is_out_of_range_from, sizeof(__pyx_k_Step_index_is_out_of_range_from), 0, 0, 1, 0},
+ {&__pyx_kp_s_Step_size_d_is_not_supported, __pyx_k_Step_size_d_is_not_supported, sizeof(__pyx_k_Step_size_d_is_not_supported), 0, 0, 1, 0},
+ {&__pyx_kp_s_Too_many_indices_for_data, __pyx_k_Too_many_indices_for_data, sizeof(__pyx_k_Too_many_indices_for_data), 0, 0, 1, 0},
+ {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
{&__pyx_n_s_UNKNOWN, __pyx_k_UNKNOWN, sizeof(__pyx_k_UNKNOWN), 0, 0, 1, 1},
+ {&__pyx_kp_s_Unhashable_type, __pyx_k_Unhashable_type, sizeof(__pyx_k_Unhashable_type), 0, 0, 1, 0},
{&__pyx_kp_s_Use_default_BP_method, __pyx_k_Use_default_BP_method, sizeof(__pyx_k_Use_default_BP_method), 0, 0, 1, 0},
{&__pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_k_Users_jyc_project_adios_devel_w, sizeof(__pyx_k_Users_jyc_project_adios_devel_w), 0, 0, 1, 0},
{&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
+ {&__pyx_kp_s_Value_is_none, __pyx_k_Value_is_none, sizeof(__pyx_k_Value_is_none), 0, 0, 1, 0},
{&__pyx_kp_s_WARN_Invalid_read_method_name, __pyx_k_WARN_Invalid_read_method_name, sizeof(__pyx_k_WARN_Invalid_read_method_name), 0, 0, 1, 0},
+ {&__pyx_kp_s_Warning_No_support_yet_s_type_d, __pyx_k_Warning_No_support_yet_s_type_d, sizeof(__pyx_k_Warning_No_support_yet_s_type_d), 0, 0, 1, 0},
{&__pyx_n_s_YES, __pyx_k_YES, sizeof(__pyx_k_YES), 0, 0, 1, 1},
- {&__pyx_kp_s__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 0, 1, 0},
+ {&__pyx_kp_s__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 0, 1, 0},
+ {&__pyx_kp_s__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 0, 1, 0},
+ {&__pyx_kp_s__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 0, 1, 0},
+ {&__pyx_kp_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 0},
{&__pyx_n_s_adios, __pyx_k_adios, sizeof(__pyx_k_adios), 0, 0, 1, 1},
{&__pyx_n_s_advance, __pyx_k_advance, sizeof(__pyx_k_advance), 0, 0, 1, 1},
- {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1},
+ {&__pyx_n_s_any, __pyx_k_any, sizeof(__pyx_k_any), 0, 0, 1, 1},
+ {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
{&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
{&__pyx_n_s_attr_namelist, __pyx_k_attr_namelist, sizeof(__pyx_k_attr_namelist), 0, 0, 1, 1},
+ {&__pyx_n_s_attrname, __pyx_k_attrname, sizeof(__pyx_k_attrname), 0, 0, 1, 1},
{&__pyx_n_s_attrs, __pyx_k_attrs, sizeof(__pyx_k_attrs), 0, 0, 1, 1},
+ {&__pyx_n_s_atype, __pyx_k_atype, sizeof(__pyx_k_atype), 0, 0, 1, 1},
{&__pyx_n_s_base_path, __pyx_k_base_path, sizeof(__pyx_k_base_path), 0, 0, 1, 1},
{&__pyx_n_s_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1},
{&__pyx_n_s_bpls, __pyx_k_bpls, sizeof(__pyx_k_bpls), 0, 0, 1, 1},
{&__pyx_n_s_buffer_size, __pyx_k_buffer_size, sizeof(__pyx_k_buffer_size), 0, 0, 1, 1},
{&__pyx_n_s_byte, __pyx_k_byte, sizeof(__pyx_k_byte), 0, 0, 1, 1},
{&__pyx_kp_s_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 0, 1, 0},
+ {&__pyx_n_s_bytes_2, __pyx_k_bytes_2, sizeof(__pyx_k_bytes_2), 0, 0, 1, 1},
+ {&__pyx_n_s_char, __pyx_k_char, sizeof(__pyx_k_char), 0, 0, 1, 1},
{&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
{&__pyx_n_s_comm, __pyx_k_comm, sizeof(__pyx_k_comm), 0, 0, 1, 1},
{&__pyx_n_s_complex, __pyx_k_complex, sizeof(__pyx_k_complex), 0, 0, 1, 1},
@@ -13584,6 +24477,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1},
{&__pyx_n_s_current_step, __pyx_k_current_step, sizeof(__pyx_k_current_step), 0, 0, 1, 1},
{&__pyx_n_s_data_size, __pyx_k_data_size, sizeof(__pyx_k_data_size), 0, 0, 1, 1},
+ {&__pyx_n_s_define, __pyx_k_define, sizeof(__pyx_k_define), 0, 0, 1, 1},
{&__pyx_n_s_dimensions, __pyx_k_dimensions, sizeof(__pyx_k_dimensions), 0, 0, 1, 1},
{&__pyx_n_s_dims, __pyx_k_dims, sizeof(__pyx_k_dims), 0, 0, 1, 1},
{&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
@@ -13593,6 +24487,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
{&__pyx_n_s_endianness, __pyx_k_endianness, sizeof(__pyx_k_endianness), 0, 0, 1, 1},
{&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
+ {&__pyx_n_s_factory, __pyx_k_factory, sizeof(__pyx_k_factory), 0, 0, 1, 1},
{&__pyx_n_s_fd_p, __pyx_k_fd_p, sizeof(__pyx_k_fd_p), 0, 0, 1, 1},
{&__pyx_n_s_fh, __pyx_k_fh, sizeof(__pyx_k_fh), 0, 0, 1, 1},
{&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
@@ -13607,22 +24502,35 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_fname, __pyx_k_fname, sizeof(__pyx_k_fname), 0, 0, 1, 1},
{&__pyx_n_s_fp, __pyx_k_fp, sizeof(__pyx_k_fp), 0, 0, 1, 1},
{&__pyx_n_s_from_steps, __pyx_k_from_steps, sizeof(__pyx_k_from_steps), 0, 0, 1, 1},
+ {&__pyx_n_s_gdim, __pyx_k_gdim, sizeof(__pyx_k_gdim), 0, 0, 1, 1},
+ {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
+ {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
+ {&__pyx_n_s_getitem___locals_genexpr, __pyx_k_getitem___locals_genexpr, sizeof(__pyx_k_getitem___locals_genexpr), 0, 0, 1, 1},
{&__pyx_n_s_global_dimensions, __pyx_k_global_dimensions, sizeof(__pyx_k_global_dimensions), 0, 0, 1, 1},
+ {&__pyx_n_s_gname, __pyx_k_gname, sizeof(__pyx_k_gname), 0, 0, 1, 1},
{&__pyx_n_s_group, __pyx_k_group, sizeof(__pyx_k_group), 0, 0, 1, 1},
{&__pyx_n_s_group_id, __pyx_k_group_id, sizeof(__pyx_k_group_id), 0, 0, 1, 1},
{&__pyx_n_s_group_name, __pyx_k_group_name, sizeof(__pyx_k_group_name), 0, 0, 1, 1},
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+ {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
+ {&__pyx_n_s_indices, __pyx_k_indices, sizeof(__pyx_k_indices), 0, 0, 1, 1},
+ {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
{&__pyx_n_s_int16, __pyx_k_int16, sizeof(__pyx_k_int16), 0, 0, 1, 1},
{&__pyx_n_s_int32, __pyx_k_int32, sizeof(__pyx_k_int32), 0, 0, 1, 1},
{&__pyx_n_s_int64, __pyx_k_int64, sizeof(__pyx_k_int64), 0, 0, 1, 1},
{&__pyx_n_s_int8, __pyx_k_int8, sizeof(__pyx_k_int8), 0, 0, 1, 1},
{&__pyx_n_s_integer, __pyx_k_integer, sizeof(__pyx_k_integer), 0, 0, 1, 1},
+ {&__pyx_n_s_is_noxml, __pyx_k_is_noxml, sizeof(__pyx_k_is_noxml), 0, 0, 1, 1},
+ {&__pyx_n_s_is_static, __pyx_k_is_static, sizeof(__pyx_k_is_static), 0, 0, 1, 1},
{&__pyx_n_s_is_stream, __pyx_k_is_stream, sizeof(__pyx_k_is_stream), 0, 0, 1, 1},
{&__pyx_n_s_itemsize, __pyx_k_itemsize, sizeof(__pyx_k_itemsize), 0, 0, 1, 1},
+ {&__pyx_n_s_iteritems, __pyx_k_iteritems, sizeof(__pyx_k_iteritems), 0, 0, 1, 1},
{&__pyx_n_s_iterkeys, __pyx_k_iterkeys, sizeof(__pyx_k_iterkeys), 0, 0, 1, 1},
{&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
+ {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
{&__pyx_n_s_last, __pyx_k_last, sizeof(__pyx_k_last), 0, 0, 1, 1},
{&__pyx_n_s_last_step, __pyx_k_last_step, sizeof(__pyx_k_last_step), 0, 0, 1, 1},
+ {&__pyx_n_s_ldim, __pyx_k_ldim, sizeof(__pyx_k_ldim), 0, 0, 1, 1},
{&__pyx_n_s_local_offsets, __pyx_k_local_offsets, sizeof(__pyx_k_local_offsets), 0, 0, 1, 1},
{&__pyx_n_s_lock_mode, __pyx_k_lock_mode, sizeof(__pyx_k_lock_mode), 0, 0, 1, 1},
{&__pyx_n_s_long, __pyx_k_long, sizeof(__pyx_k_long), 0, 0, 1, 1},
@@ -13631,6 +24539,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
{&__pyx_n_s_method, __pyx_k_method, sizeof(__pyx_k_method), 0, 0, 1, 1},
{&__pyx_n_s_method_name, __pyx_k_method_name, sizeof(__pyx_k_method_name), 0, 0, 1, 1},
+ {&__pyx_n_s_method_params, __pyx_k_method_params, sizeof(__pyx_k_method_params), 0, 0, 1, 1},
{&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1},
{&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
{&__pyx_n_s_mype, __pyx_k_mype, sizeof(__pyx_k_mype), 0, 0, 1, 1},
@@ -13655,13 +24564,25 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1},
{&__pyx_n_s_readvar, __pyx_k_readvar, sizeof(__pyx_k_readvar), 0, 0, 1, 1},
{&__pyx_n_s_real, __pyx_k_real, sizeof(__pyx_k_real), 0, 0, 1, 1},
+ {&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
+ {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
+ {&__pyx_n_s_setitem, __pyx_k_setitem, sizeof(__pyx_k_setitem), 0, 0, 1, 1},
+ {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1},
{&__pyx_n_s_short, __pyx_k_short, sizeof(__pyx_k_short), 0, 0, 1, 1},
{&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
{&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
+ {&__pyx_n_s_squeeze, __pyx_k_squeeze, sizeof(__pyx_k_squeeze), 0, 0, 1, 1},
{&__pyx_n_s_stats, __pyx_k_stats, sizeof(__pyx_k_stats), 0, 0, 1, 1},
+ {&__pyx_n_s_step, __pyx_k_step, sizeof(__pyx_k_step), 0, 0, 1, 1},
{&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
{&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1},
+ {&__pyx_n_s_string_array, __pyx_k_string_array, sizeof(__pyx_k_string_array), 0, 0, 1, 1},
+ {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
+ {&__pyx_n_s_strlen, __pyx_k_strlen, sizeof(__pyx_k_strlen), 0, 0, 1, 1},
+ {&__pyx_n_s_subtract, __pyx_k_subtract, sizeof(__pyx_k_subtract), 0, 0, 1, 1},
+ {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1},
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
+ {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
{&__pyx_n_s_time_index, __pyx_k_time_index, sizeof(__pyx_k_time_index), 0, 0, 1, 1},
{&__pyx_n_s_time_steps, __pyx_k_time_steps, sizeof(__pyx_k_time_steps), 0, 0, 1, 1},
{&__pyx_n_s_timeout_sec, __pyx_k_timeout_sec, sizeof(__pyx_k_timeout_sec), 0, 0, 1, 1},
@@ -13679,21 +24600,39 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
{&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1},
{&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
+ {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
{&__pyx_n_s_var, __pyx_k_var, sizeof(__pyx_k_var), 0, 0, 1, 1},
{&__pyx_n_s_var_namelist, __pyx_k_var_namelist, sizeof(__pyx_k_var_namelist), 0, 0, 1, 1},
+ {&__pyx_kp_u_var_read_line_888, __pyx_k_var_read_line_888, sizeof(__pyx_k_var_read_line_888), 0, 1, 0, 0},
{&__pyx_n_s_varid, __pyx_k_varid, sizeof(__pyx_k_varid), 0, 0, 1, 1},
{&__pyx_n_s_varname, __pyx_k_varname, sizeof(__pyx_k_varname), 0, 0, 1, 1},
{&__pyx_n_s_vars, __pyx_k_vars, sizeof(__pyx_k_vars), 0, 0, 1, 1},
{&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1},
{&__pyx_n_s_vp, __pyx_k_vp, sizeof(__pyx_k_vp), 0, 0, 1, 1},
{&__pyx_n_s_when, __pyx_k_when, sizeof(__pyx_k_when), 0, 0, 1, 1},
+ {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1},
+ {&__pyx_kp_u_writer_declare_group_line_1222, __pyx_k_writer_declare_group_line_1222, sizeof(__pyx_k_writer_declare_group_line_1222), 0, 1, 0, 0},
+ {&__pyx_kp_u_writer_define_var_line_1244, __pyx_k_writer_define_var_line_1244, sizeof(__pyx_k_writer_define_var_line_1244), 0, 1, 0, 0},
+ {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
{&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1},
+ {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #if PY_MAJOR_VERSION >= 3
+ __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_n_s_Ellipsis); if (!__pyx_builtin_Ellipsis) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
return 0;
__pyx_L1_error:;
return -1;
@@ -13703,117 +24642,289 @@ static int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "adios.pyx":540
+ /* "adios.pyx":288
+ * for slice_ in index:
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1)) # <<<<<<<<<<<<<<
+ * elif isinstance(slice_, (int, long)):
+ * fixed.append(slice(slice_, slice_+1, None))
+ */
+ __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice_);
+ __Pyx_GIVEREF(__pyx_slice_);
+
+ /* "adios.pyx":297
+ * index = tuple(fixed)
+ * if len(index) < ndim:
+ * index += (slice(None),) * (ndim-len(index)) # <<<<<<<<<<<<<<
+ *
+ * return index
+ */
+ __pyx_slice__2 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__2);
+ __Pyx_GIVEREF(__pyx_slice__2);
+ __pyx_tuple__3 = PyTuple_New(1); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__3);
+ __Pyx_INCREF(__pyx_slice__2);
+ PyTuple_SET_ITEM(__pyx_tuple__3, 0, __pyx_slice__2);
+ __Pyx_GIVEREF(__pyx_slice__2);
+ __Pyx_GIVEREF(__pyx_tuple__3);
+
+ /* "adios.pyx":704
* assert self.fp != NULL, 'Not an open file'
*
* self.name = fname.split('/')[-1] ## basename # <<<<<<<<<<<<<<
* self.nvars = self.fp.nvars
* self.nattrs = self.fp.nattrs
*/
- __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__9);
- __Pyx_GIVEREF(__pyx_tuple__9);
+ __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s__11); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__12);
+ __Pyx_GIVEREF(__pyx_tuple__12);
+
+ /* "adios.pyx":776
+ * for key_ in varname:
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type") # <<<<<<<<<<<<<<
+ *
+ * if key_ in self.var.keys():
+ */
+ __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_Unhashable_type); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__13);
+ __Pyx_GIVEREF(__pyx_tuple__13);
- /* "adios.pyx":622
+ /* "adios.pyx":951
* if len(offset) == 0:
* npoffset = npshape.copy()
* npoffset.fill(0) # <<<<<<<<<<<<<<
* else:
* npoffset = np.array(offset, dtype=np.int64)
*/
- __pyx_tuple__10 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__10);
- __Pyx_GIVEREF(__pyx_tuple__10);
+ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__14);
+ __Pyx_GIVEREF(__pyx_tuple__14);
+
+ /* "adios.pyx":968
+ *
+ * if (npshape < npcount + npoffset).any():
+ * raise IndexError('Requested is larger than the shape.') # <<<<<<<<<<<<<<
+ *
+ * shape = list(npcount)
+ */
+ __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_Requested_is_larger_than_the_sha); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__15);
+ __Pyx_GIVEREF(__pyx_tuple__15);
+
+ /* "adios.pyx":976
+ *
+ * if len(shape) > 0:
+ * var[:] = fill # <<<<<<<<<<<<<<
+ *
+ * cdef ADIOS_SELECTION * sel
+ */
+ __pyx_slice__16 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__16);
+ __Pyx_GIVEREF(__pyx_slice__16);
+
+ /* "adios.pyx":1017
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ */
+ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_Too_many_indices_for_data); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__17);
+ __Pyx_GIVEREF(__pyx_tuple__17);
+
+ /* "adios.pyx":1020
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * for slice_ in index_:
+ */
+ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_Too_many_indices_for_data); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__18);
+ __Pyx_GIVEREF(__pyx_tuple__18);
+
+ /* "adios.pyx":1036
+ * from_steps_ = z[0][0]
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:] # <<<<<<<<<<<<<<
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ */
+ __pyx_slice__19 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__19);
+ __Pyx_GIVEREF(__pyx_slice__19);
+
+ /* "adios.pyx":1037
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:]
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1) # <<<<<<<<<<<<<<
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ */
+ __pyx_slice__20 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__20);
+ __Pyx_GIVEREF(__pyx_slice__20);
+ __pyx_slice__21 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__21);
+ __Pyx_GIVEREF(__pyx_slice__21);
+
+ /* "adios.pyx":1384
+ * if self.is_static:
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * define_attribute_byvalue(gid, self.name, "", self.value)
+ */
+ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_Value_is_none); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__26);
+ __Pyx_GIVEREF(__pyx_tuple__26);
+
+ /* "adios.pyx":1418
+ * def define(self, int64_t gid):
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * ldim_ = self.ldim
+ */
+ __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_Value_is_none); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__30);
+ __Pyx_GIVEREF(__pyx_tuple__30);
+
+ /* "adios.pyx":1439
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)'))
+ */
+ __pyx_tuple__32 = PyTuple_Pack(2, __pyx_kp_s__31, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__32);
+ __Pyx_GIVEREF(__pyx_tuple__32);
+ __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__34);
+ __Pyx_GIVEREF(__pyx_tuple__34);
+
+ /* "adios.pyx":1440
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ */
+ __pyx_tuple__35 = PyTuple_Pack(2, __pyx_kp_s__31, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__35);
+ __Pyx_GIVEREF(__pyx_tuple__35);
+ __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__36);
+ __Pyx_GIVEREF(__pyx_tuple__36);
+
+ /* "adios.pyx":1441
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)')) # <<<<<<<<<<<<<<
+ *
+ * def bytes(self):
+ */
+ __pyx_tuple__37 = PyTuple_Pack(2, __pyx_kp_s__31, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__37);
+ __Pyx_GIVEREF(__pyx_tuple__37);
+ __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__38);
+ __Pyx_GIVEREF(__pyx_tuple__38);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
* and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
* raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
*
* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
*/
- __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__11);
- __Pyx_GIVEREF(__pyx_tuple__11);
+ __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__39);
+ __Pyx_GIVEREF(__pyx_tuple__39);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
* and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
* raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
*
* info.buf = PyArray_DATA(self)
*/
- __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__12);
- __Pyx_GIVEREF(__pyx_tuple__12);
+ __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__40);
+ __Pyx_GIVEREF(__pyx_tuple__40);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
* if ((descr.byteorder == c'>' and little_endian) or
* (descr.byteorder == c'<' and not little_endian)):
* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
* if t == NPY_BYTE: f = "b"
* elif t == NPY_UBYTE: f = "B"
*/
- __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__13);
- __Pyx_GIVEREF(__pyx_tuple__13);
+ __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__41);
+ __Pyx_GIVEREF(__pyx_tuple__41);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
*
* if (end - f) - <int>(new_offset - offset[0]) < 15:
* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
*
* if ((child.byteorder == c'>' and little_endian) or
*/
- __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__14);
- __Pyx_GIVEREF(__pyx_tuple__14);
+ __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__42);
+ __Pyx_GIVEREF(__pyx_tuple__42);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
* if ((child.byteorder == c'>' and little_endian) or
* (child.byteorder == c'<' and not little_endian)):
* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
* # One could encode it in the format string and have Cython
* # complain instead, BUT: < and > in format strings also imply
*/
- __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__15);
- __Pyx_GIVEREF(__pyx_tuple__15);
+ __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__43);
+ __Pyx_GIVEREF(__pyx_tuple__43);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
* t = child.type_num
* if end - f < 5:
* raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
*
* # Until ticket #99 is fixed, use integers to avoid warnings
*/
- __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__16);
- __Pyx_GIVEREF(__pyx_tuple__16);
+ __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__44);
+ __Pyx_GIVEREF(__pyx_tuple__44);
- /* "adios.pyx":661
+ /* "adios.pyx":1465
* ## ====================
*
* def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * if not f.var.has_key(varname):
+ * """ Retrieve a variable value from an Adios file.
+ *
*/
- __pyx_tuple__17 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_varname, __pyx_n_s_f, __pyx_n_s_v); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__17);
- __Pyx_GIVEREF(__pyx_tuple__17);
- __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_readvar, 661, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__45 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_varname, __pyx_n_s_f, __pyx_n_s_v); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__45);
+ __Pyx_GIVEREF(__pyx_tuple__45);
+ __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_readvar, 1465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":670
+ /* "adios.pyx":1483
* return v.read(from_steps=0, nsteps=v.nsteps)
*
* def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * return {'nvars': f.nvars,
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
*/
- __pyx_tuple__19 = PyTuple_Pack(3, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_k); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__19);
- __Pyx_GIVEREF(__pyx_tuple__19);
- __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_bpls, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__47 = PyTuple_Pack(3, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_k); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__47);
+ __Pyx_GIVEREF(__pyx_tuple__47);
+ __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_bpls, 1483, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -13826,6 +24937,7 @@ static int __Pyx_InitGlobals(void) {
__pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -13833,6 +24945,7 @@ static int __Pyx_InitGlobals(void) {
__pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_int_12 = PyInt_FromLong(12); if (unlikely(!__pyx_int_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_50 = PyInt_FromLong(50); if (unlikely(!__pyx_int_50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_51 = PyInt_FromLong(51); if (unlikely(!__pyx_int_51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_52 = PyInt_FromLong(52); if (unlikely(!__pyx_int_52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -13888,7 +25001,7 @@ PyMODINIT_FUNC PyInit_adios(void)
#endif
/*--- Module creation code ---*/
#if PY_MAJOR_VERSION < 3
- __pyx_m = Py_InitModule4("adios", __pyx_methods, __pyx_k_ADIOS_is_freely_available_under, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
+ __pyx_m = Py_InitModule4("adios", __pyx_methods, __pyx_k_ADIOS_ADIOS_python_module_module, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
#else
__pyx_m = PyModule_Create(&__pyx_moduledef);
#endif
@@ -13928,20 +25041,71 @@ PyMODINIT_FUNC PyInit_adios(void)
__pyx_vtable_5adios_file.close = (PyObject *(*)(struct __pyx_obj_5adios_file *, int __pyx_skip_dispatch))__pyx_f_5adios_4file_close;
__pyx_vtable_5adios_file.printself = (PyObject *(*)(struct __pyx_obj_5adios_file *, int __pyx_skip_dispatch))__pyx_f_5adios_4file_printself;
__pyx_vtable_5adios_file.advance = (PyObject *(*)(struct __pyx_obj_5adios_file *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_4file_advance *__pyx_optional_args))__pyx_f_5adios_4file_advance;
- if (PyType_Ready(&__pyx_type_5adios_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_5adios_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_5adios_file.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_5adios_file.tp_dict, __pyx_vtabptr_5adios_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "file", (PyObject *)&__pyx_type_5adios_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #if CYTHON_COMPILING_IN_CPYTHON
+ {
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_5adios_file, "__getitem__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
+ __pyx_wrapperbase_5adios_4file_10__getitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
+ __pyx_wrapperbase_5adios_4file_10__getitem__.doc = __pyx_doc_5adios_4file_10__getitem__;
+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5adios_4file_10__getitem__;
+ }
+ }
+ #endif
+ #if CYTHON_COMPILING_IN_CPYTHON
+ {
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_5adios_file, "__repr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
+ __pyx_wrapperbase_5adios_4file_12__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
+ __pyx_wrapperbase_5adios_4file_12__repr__.doc = __pyx_doc_5adios_4file_12__repr__;
+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5adios_4file_12__repr__;
+ }
+ }
+ #endif
+ if (__Pyx_SetVtable(__pyx_type_5adios_file.tp_dict, __pyx_vtabptr_5adios_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "file", (PyObject *)&__pyx_type_5adios_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_5adios_file = &__pyx_type_5adios_file;
__pyx_vtabptr_5adios_var = &__pyx_vtable_5adios_var;
__pyx_vtable_5adios_var.close = (PyObject *(*)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch))__pyx_f_5adios_3var_close;
+ __pyx_vtable_5adios_var.advance = (PyObject *(*)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch))__pyx_f_5adios_3var_advance;
__pyx_vtable_5adios_var.read = (PyObject *(*)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch, struct __pyx_opt_args_5adios_3var_read *__pyx_optional_args))__pyx_f_5adios_3var_read;
__pyx_vtable_5adios_var.printself = (PyObject *(*)(struct __pyx_obj_5adios_var *, int __pyx_skip_dispatch))__pyx_f_5adios_3var_printself;
- if (PyType_Ready(&__pyx_type_5adios_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_5adios_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_5adios_var.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_5adios_var.tp_dict, __pyx_vtabptr_5adios_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "var", (PyObject *)&__pyx_type_5adios_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_5adios_var.tp_dict, __pyx_vtabptr_5adios_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "var", (PyObject *)&__pyx_type_5adios_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_5adios_var = &__pyx_type_5adios_var;
+ if (PyType_Ready(&__pyx_type_5adios_attr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios_attr.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "attr", (PyObject *)&__pyx_type_5adios_attr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5adios_attr = &__pyx_type_5adios_attr;
+ __pyx_type_5adios_smartdict.tp_base = (&PyDict_Type);
+ if (PyType_Ready(&__pyx_type_5adios_smartdict) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios_smartdict.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "smartdict", (PyObject *)&__pyx_type_5adios_smartdict) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5adios_smartdict = &__pyx_type_5adios_smartdict;
+ if (PyType_Ready(&__pyx_type_5adios_writer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios_writer.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "writer", (PyObject *)&__pyx_type_5adios_writer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5adios_writer = &__pyx_type_5adios_writer;
+ if (PyType_Ready(&__pyx_type_5adios_attrinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios_attrinfo.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "attrinfo", (PyObject *)&__pyx_type_5adios_attrinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5adios_attrinfo = &__pyx_type_5adios_attrinfo;
+ if (PyType_Ready(&__pyx_type_5adios_varinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios_varinfo.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "varinfo", (PyObject *)&__pyx_type_5adios_varinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5adios_varinfo = &__pyx_type_5adios_varinfo;
+ if (PyType_Ready(&__pyx_type_5adios___pyx_scope_struct____getitem__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios___pyx_scope_struct____getitem__.tp_print = 0;
+ __pyx_ptype_5adios___pyx_scope_struct____getitem__ = &__pyx_type_5adios___pyx_scope_struct____getitem__;
+ if (PyType_Ready(&__pyx_type_5adios___pyx_scope_struct_1_genexpr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios___pyx_scope_struct_1_genexpr.tp_print = 0;
+ __pyx_ptype_5adios___pyx_scope_struct_1_genexpr = &__pyx_type_5adios___pyx_scope_struct_1_genexpr;
+ if (PyType_Ready(&__pyx_type_5adios___pyx_scope_struct_2_genexpr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_5adios___pyx_scope_struct_2_genexpr.tp_print = 0;
+ __pyx_ptype_5adios___pyx_scope_struct_2_genexpr = &__pyx_type_5adios___pyx_scope_struct_2_genexpr;
/*--- Type import code ---*/
__pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type",
#if CYTHON_COMPILING_IN_PYPY
@@ -13951,393 +25115,569 @@ PyMODINIT_FUNC PyInit_adios(void)
#endif
0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/*--- Variable import code ---*/
/*--- Function import code ---*/
/*--- Execution code ---*/
- /* "adios.pyx":12
+ /* "adios.pyx":7
* """
*
* import numpy as np # <<<<<<<<<<<<<<
* cimport numpy as np
*
*/
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":228
+ /* "adios.pyx":241
* ## ====================
*
* class DATATYPE: # <<<<<<<<<<<<<<
* unknown = -1
* byte = 0
*/
- __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_DATATYPE, __pyx_n_s_DATATYPE, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_DATATYPE, __pyx_n_s_DATATYPE, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "adios.pyx":229
+ /* "adios.pyx":242
*
* class DATATYPE:
* unknown = -1 # <<<<<<<<<<<<<<
* byte = 0
* short = 1
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unknown, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unknown, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":230
+ /* "adios.pyx":243
* class DATATYPE:
* unknown = -1
* byte = 0 # <<<<<<<<<<<<<<
* short = 1
* integer = 2
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_byte, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_byte, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":231
+ /* "adios.pyx":244
* unknown = -1
* byte = 0
* short = 1 # <<<<<<<<<<<<<<
* integer = 2
* long = 4
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_short, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_short, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":232
+ /* "adios.pyx":245
* byte = 0
* short = 1
* integer = 2 # <<<<<<<<<<<<<<
* long = 4
* unsigned_byte = 50
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_integer, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_integer, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":233
+ /* "adios.pyx":246
* short = 1
* integer = 2
* long = 4 # <<<<<<<<<<<<<<
* unsigned_byte = 50
* unsigned_short = 51
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_long, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_long, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":234
+ /* "adios.pyx":247
* integer = 2
* long = 4
* unsigned_byte = 50 # <<<<<<<<<<<<<<
* unsigned_short = 51
* unsigned_integer = 52
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_byte, __pyx_int_50) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_byte, __pyx_int_50) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":235
+ /* "adios.pyx":248
* long = 4
* unsigned_byte = 50
* unsigned_short = 51 # <<<<<<<<<<<<<<
* unsigned_integer = 52
* unsigned_long = 54
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_short, __pyx_int_51) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_short, __pyx_int_51) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":236
+ /* "adios.pyx":249
* unsigned_byte = 50
* unsigned_short = 51
* unsigned_integer = 52 # <<<<<<<<<<<<<<
* unsigned_long = 54
* real = 5
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_integer, __pyx_int_52) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_integer, __pyx_int_52) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":237
+ /* "adios.pyx":250
* unsigned_short = 51
* unsigned_integer = 52
* unsigned_long = 54 # <<<<<<<<<<<<<<
* real = 5
* double = 6
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_long, __pyx_int_54) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_unsigned_long, __pyx_int_54) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":238
+ /* "adios.pyx":251
* unsigned_integer = 52
* unsigned_long = 54
* real = 5 # <<<<<<<<<<<<<<
* double = 6
* long_double = 7
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_real, __pyx_int_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_real, __pyx_int_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":239
+ /* "adios.pyx":252
* unsigned_long = 54
* real = 5
* double = 6 # <<<<<<<<<<<<<<
* long_double = 7
* string = 9
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_double, __pyx_int_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_double, __pyx_int_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":240
+ /* "adios.pyx":253
* real = 5
* double = 6
* long_double = 7 # <<<<<<<<<<<<<<
* string = 9
* complex = 10
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_long_double, __pyx_int_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_long_double, __pyx_int_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":241
+ /* "adios.pyx":254
* double = 6
* long_double = 7
* string = 9 # <<<<<<<<<<<<<<
* complex = 10
* double_complex = 11
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_string, __pyx_int_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_string, __pyx_int_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":242
+ /* "adios.pyx":255
* long_double = 7
* string = 9
* complex = 10 # <<<<<<<<<<<<<<
* double_complex = 11
- *
+ * string_array = 12
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_complex_2, __pyx_int_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_complex_2, __pyx_int_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":243
+ /* "adios.pyx":256
* string = 9
* complex = 10
* double_complex = 11 # <<<<<<<<<<<<<<
+ * string_array = 12
+ *
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_double_complex, __pyx_int_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":257
+ * complex = 10
+ * double_complex = 11
+ * string_array = 12 # <<<<<<<<<<<<<<
*
* class FLAG:
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_double_complex, __pyx_int_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_string_array, __pyx_int_12) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":228
+ /* "adios.pyx":241
* ## ====================
*
* class DATATYPE: # <<<<<<<<<<<<<<
* unknown = -1
* byte = 0
*/
- __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_DATATYPE, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_DATATYPE, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATATYPE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATATYPE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":245
- * double_complex = 11
+ /* "adios.pyx":259
+ * string_array = 12
*
* class FLAG: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* YES = 1
*/
- __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_FLAG, __pyx_n_s_FLAG, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_FLAG, __pyx_n_s_FLAG, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "adios.pyx":246
+ /* "adios.pyx":260
*
* class FLAG:
* UNKNOWN = 0 # <<<<<<<<<<<<<<
* YES = 1
* NO = 2
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":247
+ /* "adios.pyx":261
* class FLAG:
* UNKNOWN = 0
* YES = 1 # <<<<<<<<<<<<<<
* NO = 2
*
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_YES, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_YES, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":248
+ /* "adios.pyx":262
* UNKNOWN = 0
* YES = 1
* NO = 2 # <<<<<<<<<<<<<<
*
* class BUFFER_ALLOC_WHEN:
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_NO, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_NO, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":245
- * double_complex = 11
+ /* "adios.pyx":259
+ * string_array = 12
*
* class FLAG: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* YES = 1
*/
- __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_FLAG, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_FLAG, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_FLAG, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_FLAG, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":250
+ /* "adios.pyx":264
* NO = 2
*
* class BUFFER_ALLOC_WHEN: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* NOW = 1
*/
- __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_n_s_BUFFER_ALLOC_WHEN, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_n_s_BUFFER_ALLOC_WHEN, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "adios.pyx":251
+ /* "adios.pyx":265
*
* class BUFFER_ALLOC_WHEN:
* UNKNOWN = 0 # <<<<<<<<<<<<<<
* NOW = 1
* LATER = 2
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":252
+ /* "adios.pyx":266
* class BUFFER_ALLOC_WHEN:
* UNKNOWN = 0
* NOW = 1 # <<<<<<<<<<<<<<
* LATER = 2
*
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_NOW, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_NOW, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":253
+ /* "adios.pyx":267
* UNKNOWN = 0
* NOW = 1
* LATER = 2 # <<<<<<<<<<<<<<
*
- * ## ====================
+ * class READ_METHOD:
*/
- if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_LATER, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_LATER, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios.pyx":250
+ /* "adios.pyx":264
* NO = 2
*
* class BUFFER_ALLOC_WHEN: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* NOW = 1
*/
- __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":259
+ /* "adios.pyx":269
+ * LATER = 2
+ *
+ * class READ_METHOD: # <<<<<<<<<<<<<<
+ * BP = 0
+ * BP_AGGREGATE = 1
+ */
+ __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_READ_METHOD, __pyx_n_s_READ_METHOD, (PyObject *) NULL, __pyx_n_s_adios, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+
+ /* "adios.pyx":270
+ *
+ * class READ_METHOD:
+ * BP = 0 # <<<<<<<<<<<<<<
+ * BP_AGGREGATE = 1
+ * DATASPACES = 3
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_BP, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":271
+ * class READ_METHOD:
+ * BP = 0
+ * BP_AGGREGATE = 1 # <<<<<<<<<<<<<<
+ * DATASPACES = 3
+ * DIMES = 4
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_BP_AGGREGATE, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":272
+ * BP = 0
+ * BP_AGGREGATE = 1
+ * DATASPACES = 3 # <<<<<<<<<<<<<<
+ * DIMES = 4
+ * FLEXPATH = 5
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_DATASPACES, __pyx_int_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":273
+ * BP_AGGREGATE = 1
+ * DATASPACES = 3
+ * DIMES = 4 # <<<<<<<<<<<<<<
+ * FLEXPATH = 5
+ * ICEE = 6
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_DIMES, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":274
+ * DATASPACES = 3
+ * DIMES = 4
+ * FLEXPATH = 5 # <<<<<<<<<<<<<<
+ * ICEE = 6
+ *
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_FLEXPATH, __pyx_int_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":275
+ * DIMES = 4
+ * FLEXPATH = 5
+ * ICEE = 6 # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_ICEE, __pyx_int_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios.pyx":269
+ * LATER = 2
+ *
+ * class READ_METHOD: # <<<<<<<<<<<<<<
+ * BP = 0
+ * BP_AGGREGATE = 1
+ */
+ __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_READ_METHOD, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_READ_METHOD, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios.pyx":305
* ## ====================
*
* cpdef init(char * config, MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
* return adios_init(config, comm)
*
*/
- __pyx_k_ = MPI_COMM_WORLD;
- __pyx_k_ = MPI_COMM_WORLD;
+ __pyx_k__4 = MPI_COMM_WORLD;
+ __pyx_k__4 = MPI_COMM_WORLD;
- /* "adios.pyx":265
+ /* "adios.pyx":311
* char * name,
* char * mode,
* MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
* cdef int64_t fd
* cdef int result
*/
- __pyx_k__2 = MPI_COMM_WORLD;
+ __pyx_k__5 = MPI_COMM_WORLD;
- /* "adios.pyx":262
+ /* "adios.pyx":308
* return adios_init(config, comm)
*
* cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
* char * name,
* char * mode,
*/
- __pyx_k__2 = MPI_COMM_WORLD;
+ __pyx_k__5 = MPI_COMM_WORLD;
- /* "adios.pyx":309
+ /* "adios.pyx":362
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
* return adios_init_noxml(comm)
*
*/
- __pyx_k__3 = MPI_COMM_WORLD;
- __pyx_k__3 = MPI_COMM_WORLD;
+ __pyx_k__6 = MPI_COMM_WORLD;
+ __pyx_k__6 = MPI_COMM_WORLD;
- /* "adios.pyx":488
+ /* "adios.pyx":593
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP",
* MPI_Comm comm = MPI_COMM_WORLD, # <<<<<<<<<<<<<<
* char * parameters = ""):
* cdef method = str2adiosreadmethod(method_name)
*/
- __pyx_k__5 = MPI_COMM_WORLD;
+ __pyx_k__8 = MPI_COMM_WORLD;
- /* "adios.pyx":487
+ /* "adios.pyx":592
*
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
* MPI_Comm comm = MPI_COMM_WORLD,
* char * parameters = ""):
*/
- __pyx_k__5 = MPI_COMM_WORLD;
+ __pyx_k__8 = MPI_COMM_WORLD;
- /* "adios.pyx":522
+ /* "adios.pyx":686
* def __init__(self, char * fname,
- * char * method_name = "BP",
+ * char * method_name = 'BP',
* MPI_Comm comm = MPI_COMM_WORLD, # <<<<<<<<<<<<<<
* is_stream = False,
* ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
*/
- __pyx_k__6 = MPI_COMM_WORLD;
+ __pyx_k__9 = MPI_COMM_WORLD;
- /* "adios.pyx":524
+ /* "adios.pyx":688
* MPI_Comm comm = MPI_COMM_WORLD,
* is_stream = False,
* ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL, # <<<<<<<<<<<<<<
* float timeout_sec = 0.0):
* self.fp = NULL
*/
- __pyx_k__7 = ADIOS_LOCKMODE_ALL;
+ __pyx_k__10 = ADIOS_LOCKMODE_ALL;
- /* "adios.pyx":661
+ /* "adios.pyx":1207
+ * def __init__(self,char * fname,
+ * bint is_noxml = True,
+ * MPI_Comm comm = MPI_COMM_WORLD): # <<<<<<<<<<<<<<
+ * self.fname = fname
+ * self.method = <bytes>""
+ */
+ __pyx_k__22 = MPI_COMM_WORLD;
+
+ /* "adios.pyx":1245
+ *
+ * def define_var(self, char * varname,
+ * ldim = tuple(), # <<<<<<<<<<<<<<
+ * gdim = tuple(),
+ * offset = tuple()):
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_k__23 = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1246
+ * def define_var(self, char * varname,
+ * ldim = tuple(),
+ * gdim = tuple(), # <<<<<<<<<<<<<<
+ * offset = tuple()):
+ * """
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_k__24 = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1247
+ * ldim = tuple(),
+ * gdim = tuple(),
+ * offset = tuple()): # <<<<<<<<<<<<<<
+ * """
+ * Define a variable associated with the file.
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_k__25 = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1408
+ *
+ * def __init__(self, char * name,
+ * ldim = tuple(), # <<<<<<<<<<<<<<
+ * gdim = tuple(),
+ * offset = tuple()):
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_k__27 = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1409
+ * def __init__(self, char * name,
+ * ldim = tuple(),
+ * gdim = tuple(), # <<<<<<<<<<<<<<
+ * offset = tuple()):
+ * self.name = name
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_k__28 = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1410
+ * ldim = tuple(),
+ * gdim = tuple(),
+ * offset = tuple()): # <<<<<<<<<<<<<<
+ * self.name = name
+ * self.ldim = ldim
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_k__29 = __pyx_t_1;
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios.pyx":1465
* ## ====================
*
* def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * if not f.var.has_key(varname):
+ * """ Retrieve a variable value from an Adios file.
+ *
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5adios_39readvar, NULL, __pyx_n_s_adios); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5adios_49readvar, NULL, __pyx_n_s_adios); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_readvar, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_readvar, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios.pyx":670
+ /* "adios.pyx":1483
* return v.read(from_steps=0, nsteps=v.nsteps)
*
* def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI_COMM_SELF)
- * return {'nvars': f.nvars,
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5adios_41bpls, NULL, __pyx_n_s_adios); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5adios_51bpls, NULL, __pyx_n_s_adios); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_bpls, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_bpls, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "adios.pyx":1
- * """ # <<<<<<<<<<<<<<
- * ADIOS is freely available under the terms of the BSD license described
- * in the COPYING file in the top level directory of this source distribution.
+ * # -*- coding: utf-8 -*- # <<<<<<<<<<<<<<
+ * """ADIOS: ADIOS python module
+ *
*/
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_kp_u_var_read_line_888, __pyx_kp_u_Perform_read_Read_data_from_an) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_kp_u_writer_declare_group_line_1222, __pyx_kp_u_Define_a_group_associated_with) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_kp_u_writer_define_var_line_1244, __pyx_kp_u_Define_a_variable_associated_wi) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
* arr.base = baseptr
*
* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -14368,34 +25708,195 @@ PyMODINIT_FUNC PyInit_adios(void)
#endif
}
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
- PyObject *m = NULL, *p = NULL;
- void *r = NULL;
- m = PyImport_ImportModule((char *)modname);
- if (!m) goto end;
- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
- if (!p) goto end;
- r = PyLong_AsVoidPtr(p);
-end:
- Py_XDECREF(p);
- Py_XDECREF(m);
- return (__Pyx_RefNannyAPIStruct *)r;
-}
+/* --- Runtime support code --- */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+ PyObject *m = NULL, *p = NULL;
+ void *r = NULL;
+ m = PyImport_ImportModule((char *)modname);
+ if (!m) goto end;
+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
+ if (!p) goto end;
+ r = PyLong_AsVoidPtr(p);
+end:
+ Py_XDECREF(p);
+ Py_XDECREF(m);
+ return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif
+
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
+ PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
+ if (unlikely(!result)) {
+ PyErr_Format(PyExc_NameError,
+#if PY_MAJOR_VERSION >= 3
+ "name '%U' is not defined", name);
+#else
+ "name '%.200s' is not defined", PyString_AS_STRING(name));
+#endif
+ }
+ return result;
+}
+
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+ PyObject *r;
+ if (!j) return NULL;
+ r = PyObject_GetItem(o, j);
+ Py_DECREF(j);
+ return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
+ if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
+ PyObject *r = PyList_GET_ITEM(o, i);
+ Py_INCREF(r);
+ return r;
+ }
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+ return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
+ if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
+ PyObject *r = PyTuple_GET_ITEM(o, i);
+ Py_INCREF(r);
+ return r;
+ }
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+ return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+ int is_list, int wraparound, int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (is_list || PyList_CheckExact(o)) {
+ Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+ if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
+ PyObject *r = PyList_GET_ITEM(o, n);
+ Py_INCREF(r);
+ return r;
+ }
+ }
+ else if (PyTuple_CheckExact(o)) {
+ Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+ if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
+ PyObject *r = PyTuple_GET_ITEM(o, n);
+ Py_INCREF(r);
+ return r;
+ }
+ } else {
+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+ if (likely(m && m->sq_item)) {
+ if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+ Py_ssize_t l = m->sq_length(o);
+ if (likely(l >= 0)) {
+ i += l;
+ } else {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_Clear();
+ else
+ return NULL;
+ }
+ }
+ return m->sq_item(o, i);
+ }
+ }
+#else
+ if (is_list || PySequence_Check(o)) {
+ return PySequence_GetItem(o, i);
+ }
+#endif
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+ PyThreadState *tstate = PyThreadState_GET();
+ tmp_type = tstate->curexc_type;
+ tmp_value = tstate->curexc_value;
+ tmp_tb = tstate->curexc_traceback;
+ tstate->curexc_type = type;
+ tstate->curexc_value = value;
+ tstate->curexc_traceback = tb;
+ Py_XDECREF(tmp_type);
+ Py_XDECREF(tmp_value);
+ Py_XDECREF(tmp_tb);
+#else
+ PyErr_Restore(type, value, tb);
#endif
-
-static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
- PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
- if (unlikely(!result)) {
- PyErr_Format(PyExc_NameError,
-#if PY_MAJOR_VERSION >= 3
- "name '%U' is not defined", name);
+}
+static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyThreadState *tstate = PyThreadState_GET();
+ *type = tstate->curexc_type;
+ *value = tstate->curexc_value;
+ *tb = tstate->curexc_traceback;
+ tstate->curexc_type = 0;
+ tstate->curexc_value = 0;
+ tstate->curexc_traceback = 0;
#else
- "name '%.200s' is not defined", PyString_AS_STRING(name));
+ PyErr_Fetch(type, value, tb);
#endif
+}
+
+static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+ CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
+ int full_traceback) {
+ PyObject *old_exc, *old_val, *old_tb;
+ PyObject *ctx;
+ __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
+ if (full_traceback) {
+ Py_XINCREF(old_exc);
+ Py_XINCREF(old_val);
+ Py_XINCREF(old_tb);
+ __Pyx_ErrRestore(old_exc, old_val, old_tb);
+ PyErr_PrintEx(1);
}
- return result;
+ #if PY_MAJOR_VERSION < 3
+ ctx = PyString_FromString(name);
+ #else
+ ctx = PyUnicode_FromString(name);
+ #endif
+ __Pyx_ErrRestore(old_exc, old_val, old_tb);
+ if (!ctx) {
+ PyErr_WriteUnraisable(Py_None);
+ } else {
+ PyErr_WriteUnraisable(ctx);
+ Py_DECREF(ctx);
+ }
+}
+
+static void __Pyx_RaiseArgtupleInvalid(
+ const char* func_name,
+ int exact,
+ Py_ssize_t num_min,
+ Py_ssize_t num_max,
+ Py_ssize_t num_found)
+{
+ Py_ssize_t num_expected;
+ const char *more_or_less;
+ if (num_found < num_min) {
+ num_expected = num_min;
+ more_or_less = "at least";
+ } else {
+ num_expected = num_max;
+ more_or_less = "at most";
+ }
+ if (exact) {
+ more_or_less = "exactly";
+ }
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ func_name, more_or_less, num_expected,
+ (num_expected == 1) ? "" : "s", num_found);
}
static void __Pyx_RaiseDoubleKeywordsError(
@@ -14488,366 +25989,781 @@ static int __Pyx_ParseOptionalKeywords(
if (kwds2) {
if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
} else {
- goto invalid_keyword;
+ goto invalid_keyword;
+ }
+ }
+ return 0;
+arg_passed_twice:
+ __Pyx_RaiseDoubleKeywordsError(function_name, key);
+ goto bad;
+invalid_keyword_type:
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() keywords must be strings", function_name);
+ goto bad;
+invalid_keyword:
+ PyErr_Format(PyExc_TypeError,
+ #if PY_MAJOR_VERSION < 3
+ "%.200s() got an unexpected keyword argument '%.200s'",
+ function_name, PyString_AsString(key));
+ #else
+ "%s() got an unexpected keyword argument '%U'",
+ function_name, key);
+ #endif
+bad:
+ return -1;
+}
+
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
+ if (unlikely(!type)) {
+ PyErr_SetString(PyExc_SystemError, "Missing type object");
+ return 0;
+ }
+ if (likely(PyObject_TypeCheck(obj, type)))
+ return 1;
+ PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
+ Py_TYPE(obj)->tp_name, type->tp_name);
+ return 0;
+}
+
+static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
+ PyObject *result;
+#if CYTHON_COMPILING_IN_CPYTHON
+ result = PyDict_GetItem(__pyx_d, name);
+ if (likely(result)) {
+ Py_INCREF(result);
+ } else {
+#else
+ result = PyObject_GetItem(__pyx_d, name);
+ if (!result) {
+ PyErr_Clear();
+#endif
+ result = __Pyx_GetBuiltinName(name);
+ }
+ return result;
+}
+
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+ PyObject *result;
+ ternaryfunc call = func->ob_type->tp_call;
+ if (unlikely(!call))
+ return PyObject_Call(func, arg, kw);
+ if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+ return NULL;
+ result = (*call)(func, arg, kw);
+ Py_LeaveRecursiveCall();
+ if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+ PyErr_SetString(
+ PyExc_SystemError,
+ "NULL result without error in PyObject_Call");
+ }
+ return result;
+}
+#endif
+
+static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {
+ PyErr_Format(PyExc_TypeError,
+ "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
+ name, type->tp_name, Py_TYPE(obj)->tp_name);
+}
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
+ const char *name, int exact)
+{
+ if (unlikely(!type)) {
+ PyErr_SetString(PyExc_SystemError, "Missing type object");
+ return 0;
+ }
+ if (none_allowed && obj == Py_None) return 1;
+ else if (exact) {
+ if (likely(Py_TYPE(obj) == type)) return 1;
+ #if PY_MAJOR_VERSION == 2
+ else if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
+ #endif
+ }
+ else {
+ if (likely(PyObject_TypeCheck(obj, type))) return 1;
+ }
+ __Pyx_RaiseArgumentTypeInvalid(name, obj, type);
+ return 0;
+}
+
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
+ PyObject *self, *result;
+ PyCFunction cfunc;
+ cfunc = PyCFunction_GET_FUNCTION(func);
+ self = PyCFunction_GET_SELF(func);
+ if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+ return NULL;
+ result = cfunc(self, arg);
+ Py_LeaveRecursiveCall();
+ if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+ PyErr_SetString(
+ PyExc_SystemError,
+ "NULL result without error in PyObject_Call");
+ }
+ return result;
+}
+#endif
+
+#if CYTHON_COMPILING_IN_CPYTHON
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+ PyObject *result;
+ PyObject *args = PyTuple_New(1);
+ if (unlikely(!args)) return NULL;
+ Py_INCREF(arg);
+ PyTuple_SET_ITEM(args, 0, arg);
+ result = __Pyx_PyObject_Call(func, args, NULL);
+ Py_DECREF(args);
+ return result;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+#ifdef __Pyx_CyFunction_USED
+ if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
+#else
+ if (likely(PyCFunction_Check(func))) {
+#endif
+ if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+ return __Pyx_PyObject_CallMethO(func, arg);
+ }
+ }
+ return __Pyx__PyObject_CallOneArg(func, arg);
+}
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+ PyObject* args = PyTuple_Pack(1, arg);
+ return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL;
+}
+#endif
+
+static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
+#if CYTHON_COMPILING_IN_PYPY
+ return PyObject_RichCompareBool(s1, s2, equals);
+#else
+ if (s1 == s2) {
+ return (equals == Py_EQ);
+ } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
+ const char *ps1, *ps2;
+ Py_ssize_t length = PyBytes_GET_SIZE(s1);
+ if (length != PyBytes_GET_SIZE(s2))
+ return (equals == Py_NE);
+ ps1 = PyBytes_AS_STRING(s1);
+ ps2 = PyBytes_AS_STRING(s2);
+ if (ps1[0] != ps2[0]) {
+ return (equals == Py_NE);
+ } else if (length == 1) {
+ return (equals == Py_EQ);
+ } else {
+ int result = memcmp(ps1, ps2, (size_t)length);
+ return (equals == Py_EQ) ? (result == 0) : (result != 0);
}
+ } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
+ return (equals == Py_NE);
+ } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
+ return (equals == Py_NE);
+ } else {
+ int result;
+ PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
+ if (!py_result)
+ return -1;
+ result = __Pyx_PyObject_IsTrue(py_result);
+ Py_DECREF(py_result);
+ return result;
}
- return 0;
-arg_passed_twice:
- __Pyx_RaiseDoubleKeywordsError(function_name, key);
- goto bad;
-invalid_keyword_type:
- PyErr_Format(PyExc_TypeError,
- "%.200s() keywords must be strings", function_name);
- goto bad;
-invalid_keyword:
- PyErr_Format(PyExc_TypeError,
- #if PY_MAJOR_VERSION < 3
- "%.200s() got an unexpected keyword argument '%.200s'",
- function_name, PyString_AsString(key));
- #else
- "%s() got an unexpected keyword argument '%U'",
- function_name, key);
- #endif
-bad:
- return -1;
+#endif
}
-static void __Pyx_RaiseArgtupleInvalid(
- const char* func_name,
- int exact,
- Py_ssize_t num_min,
- Py_ssize_t num_max,
- Py_ssize_t num_found)
-{
- Py_ssize_t num_expected;
- const char *more_or_less;
- if (num_found < num_min) {
- num_expected = num_min;
- more_or_less = "at least";
- } else {
- num_expected = num_max;
- more_or_less = "at most";
+static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
+#if CYTHON_COMPILING_IN_PYPY
+ return PyObject_RichCompareBool(s1, s2, equals);
+#else
+#if PY_MAJOR_VERSION < 3
+ PyObject* owned_ref = NULL;
+#endif
+ int s1_is_unicode, s2_is_unicode;
+ if (s1 == s2) {
+ goto return_eq;
}
- if (exact) {
- more_or_less = "exactly";
+ s1_is_unicode = PyUnicode_CheckExact(s1);
+ s2_is_unicode = PyUnicode_CheckExact(s2);
+#if PY_MAJOR_VERSION < 3
+ if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
+ owned_ref = PyUnicode_FromObject(s2);
+ if (unlikely(!owned_ref))
+ return -1;
+ s2 = owned_ref;
+ s2_is_unicode = 1;
+ } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
+ owned_ref = PyUnicode_FromObject(s1);
+ if (unlikely(!owned_ref))
+ return -1;
+ s1 = owned_ref;
+ s1_is_unicode = 1;
+ } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
+ return __Pyx_PyBytes_Equals(s1, s2, equals);
}
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
- func_name, more_or_less, num_expected,
- (num_expected == 1) ? "" : "s", num_found);
+#endif
+ if (s1_is_unicode & s2_is_unicode) {
+ Py_ssize_t length;
+ int kind;
+ void *data1, *data2;
+ if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
+ return -1;
+ length = __Pyx_PyUnicode_GET_LENGTH(s1);
+ if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
+ goto return_ne;
+ }
+ kind = __Pyx_PyUnicode_KIND(s1);
+ if (kind != __Pyx_PyUnicode_KIND(s2)) {
+ goto return_ne;
+ }
+ data1 = __Pyx_PyUnicode_DATA(s1);
+ data2 = __Pyx_PyUnicode_DATA(s2);
+ if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
+ goto return_ne;
+ } else if (length == 1) {
+ goto return_eq;
+ } else {
+ int result = memcmp(data1, data2, (size_t)(length * kind));
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(owned_ref);
+ #endif
+ return (equals == Py_EQ) ? (result == 0) : (result != 0);
+ }
+ } else if ((s1 == Py_None) & s2_is_unicode) {
+ goto return_ne;
+ } else if ((s2 == Py_None) & s1_is_unicode) {
+ goto return_ne;
+ } else {
+ int result;
+ PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
+ if (!py_result)
+ return -1;
+ result = __Pyx_PyObject_IsTrue(py_result);
+ Py_DECREF(py_result);
+ return result;
+ }
+return_eq:
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(owned_ref);
+ #endif
+ return (equals == Py_EQ);
+return_ne:
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(owned_ref);
+ #endif
+ return (equals == Py_NE);
+#endif
}
-static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
- PyObject *result;
#if CYTHON_COMPILING_IN_CPYTHON
- result = PyDict_GetItem(__pyx_d, name);
- if (likely(result)) {
- Py_INCREF(result);
- } else {
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
+#ifdef __Pyx_CyFunction_USED
+ if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
#else
- result = PyObject_GetItem(__pyx_d, name);
- if (!result) {
- PyErr_Clear();
+ if (likely(PyCFunction_Check(func))) {
#endif
- result = __Pyx_GetBuiltinName(name);
+ if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
+ return __Pyx_PyObject_CallMethO(func, NULL);
+ }
}
- return result;
+ return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
+#endif
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
+ PyObject *method, *result = NULL;
+ method = __Pyx_PyObject_GetAttrStr(obj, method_name);
+ if (unlikely(!method)) goto bad;
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- PyObject *result;
- ternaryfunc call = func->ob_type->tp_call;
- if (unlikely(!call))
- return PyObject_Call(func, arg, kw);
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
- return NULL;
- result = (*call)(func, arg, kw);
- Py_LeaveRecursiveCall();
- if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
- PyErr_SetString(
- PyExc_SystemError,
- "NULL result without error in PyObject_Call");
+ if (likely(PyMethod_Check(method))) {
+ PyObject *self = PyMethod_GET_SELF(method);
+ if (likely(self)) {
+ PyObject *args;
+ PyObject *function = PyMethod_GET_FUNCTION(method);
+ args = PyTuple_New(2);
+ if (unlikely(!args)) goto bad;
+ Py_INCREF(self);
+ PyTuple_SET_ITEM(args, 0, self);
+ Py_INCREF(arg);
+ PyTuple_SET_ITEM(args, 1, arg);
+ Py_INCREF(function);
+ Py_DECREF(method); method = NULL;
+ result = __Pyx_PyObject_Call(function, args, NULL);
+ Py_DECREF(args);
+ Py_DECREF(function);
+ return result;
+ }
+ }
+#endif
+ result = __Pyx_PyObject_CallOneArg(method, arg);
+bad:
+ Py_XDECREF(method);
+ return result;
+}
+
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
+ if (PY_MAJOR_VERSION >= 3)
+ return __Pyx_PyObject_CallMethod1((PyObject*)&PyDict_Type, __pyx_n_s_values, d);
+ else
+ return PyDict_Values(d);
+}
+
+#if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
+ CYTHON_UNUSED PyObject *cause) {
+ Py_XINCREF(type);
+ if (!value || value == Py_None)
+ value = NULL;
+ else
+ Py_INCREF(value);
+ if (!tb || tb == Py_None)
+ tb = NULL;
+ else {
+ Py_INCREF(tb);
+ if (!PyTraceBack_Check(tb)) {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: arg 3 must be a traceback or None");
+ goto raise_error;
+ }
+ }
+ if (PyType_Check(type)) {
+#if CYTHON_COMPILING_IN_PYPY
+ if (!value) {
+ Py_INCREF(Py_None);
+ value = Py_None;
+ }
+#endif
+ PyErr_NormalizeException(&type, &value, &tb);
+ } else {
+ if (value) {
+ PyErr_SetString(PyExc_TypeError,
+ "instance exception may not have a separate value");
+ goto raise_error;
+ }
+ value = type;
+ type = (PyObject*) Py_TYPE(type);
+ Py_INCREF(type);
+ if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: exception class must be a subclass of BaseException");
+ goto raise_error;
+ }
+ }
+ __Pyx_ErrRestore(type, value, tb);
+ return;
+raise_error:
+ Py_XDECREF(value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
+ return;
+}
+#else
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+ PyObject* owned_instance = NULL;
+ if (tb == Py_None) {
+ tb = 0;
+ } else if (tb && !PyTraceBack_Check(tb)) {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: arg 3 must be a traceback or None");
+ goto bad;
+ }
+ if (value == Py_None)
+ value = 0;
+ if (PyExceptionInstance_Check(type)) {
+ if (value) {
+ PyErr_SetString(PyExc_TypeError,
+ "instance exception may not have a separate value");
+ goto bad;
+ }
+ value = type;
+ type = (PyObject*) Py_TYPE(value);
+ } else if (PyExceptionClass_Check(type)) {
+ PyObject *instance_class = NULL;
+ if (value && PyExceptionInstance_Check(value)) {
+ instance_class = (PyObject*) Py_TYPE(value);
+ if (instance_class != type) {
+ if (PyObject_IsSubclass(instance_class, type)) {
+ type = instance_class;
+ } else {
+ instance_class = NULL;
+ }
+ }
+ }
+ if (!instance_class) {
+ PyObject *args;
+ if (!value)
+ args = PyTuple_New(0);
+ else if (PyTuple_Check(value)) {
+ Py_INCREF(value);
+ args = value;
+ } else
+ args = PyTuple_Pack(1, value);
+ if (!args)
+ goto bad;
+ owned_instance = PyObject_Call(type, args, NULL);
+ Py_DECREF(args);
+ if (!owned_instance)
+ goto bad;
+ value = owned_instance;
+ if (!PyExceptionInstance_Check(value)) {
+ PyErr_Format(PyExc_TypeError,
+ "calling %R should have returned an instance of "
+ "BaseException, not %R",
+ type, Py_TYPE(value));
+ goto bad;
+ }
+ }
+ } else {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: exception class must be a subclass of BaseException");
+ goto bad;
}
- return result;
-}
+#if PY_VERSION_HEX >= 0x03030000
+ if (cause) {
+#else
+ if (cause && cause != Py_None) {
#endif
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
- if (unlikely(!type)) {
- PyErr_SetString(PyExc_SystemError, "Missing type object");
- return 0;
+ PyObject *fixed_cause;
+ if (cause == Py_None) {
+ fixed_cause = NULL;
+ } else if (PyExceptionClass_Check(cause)) {
+ fixed_cause = PyObject_CallObject(cause, NULL);
+ if (fixed_cause == NULL)
+ goto bad;
+ } else if (PyExceptionInstance_Check(cause)) {
+ fixed_cause = cause;
+ Py_INCREF(fixed_cause);
+ } else {
+ PyErr_SetString(PyExc_TypeError,
+ "exception causes must derive from "
+ "BaseException");
+ goto bad;
+ }
+ PyException_SetCause(value, fixed_cause);
}
- if (likely(PyObject_TypeCheck(obj, type)))
- return 1;
- PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
- Py_TYPE(obj)->tp_name, type->tp_name);
- return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyThreadState *tstate = PyThreadState_GET();
- tmp_type = tstate->curexc_type;
- tmp_value = tstate->curexc_value;
- tmp_tb = tstate->curexc_traceback;
- tstate->curexc_type = type;
- tstate->curexc_value = value;
- tstate->curexc_traceback = tb;
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
+ PyErr_SetObject(type, value);
+ if (tb) {
+#if CYTHON_COMPILING_IN_PYPY
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+ PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
+ Py_INCREF(tb);
+ PyErr_Restore(tmp_type, tmp_value, tb);
+ Py_XDECREF(tmp_tb);
#else
- PyErr_Restore(type, value, tb);
+ PyThreadState *tstate = PyThreadState_GET();
+ PyObject* tmp_tb = tstate->curexc_traceback;
+ if (tb != tmp_tb) {
+ Py_INCREF(tb);
+ tstate->curexc_traceback = tb;
+ Py_XDECREF(tmp_tb);
+ }
#endif
+ }
+bad:
+ Py_XDECREF(owned_instance);
+ return;
}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
- PyThreadState *tstate = PyThreadState_GET();
- *type = tstate->curexc_type;
- *value = tstate->curexc_value;
- *tb = tstate->curexc_traceback;
- tstate->curexc_type = 0;
- tstate->curexc_value = 0;
- tstate->curexc_traceback = 0;
-#else
- PyErr_Fetch(type, value, tb);
#endif
-}
-static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
- CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
- int full_traceback) {
- PyObject *old_exc, *old_val, *old_tb;
- PyObject *ctx;
- __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
- if (full_traceback) {
- Py_XINCREF(old_exc);
- Py_XINCREF(old_val);
- Py_XINCREF(old_tb);
- __Pyx_ErrRestore(old_exc, old_val, old_tb);
- PyErr_PrintEx(1);
- }
- #if PY_MAJOR_VERSION < 3
- ctx = PyString_FromString(name);
- #else
- ctx = PyUnicode_FromString(name);
- #endif
- __Pyx_ErrRestore(old_exc, old_val, old_tb);
- if (!ctx) {
- PyErr_WriteUnraisable(Py_None);
- } else {
- PyErr_WriteUnraisable(ctx);
- Py_DECREF(ctx);
- }
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d) {
+ if (PY_MAJOR_VERSION >= 3)
+ return __Pyx_PyObject_CallMethod1((PyObject*)&PyDict_Type, __pyx_n_s_keys, d);
+ else
+ return PyDict_Keys(d);
}
-static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {
- PyErr_Format(PyExc_TypeError,
- "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
- name, type->tp_name, Py_TYPE(obj)->tp_name);
-}
-static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
- const char *name, int exact)
-{
- if (unlikely(!type)) {
- PyErr_SetString(PyExc_SystemError, "Missing type object");
- return 0;
- }
- if (none_allowed && obj == Py_None) return 1;
- else if (exact) {
- if (likely(Py_TYPE(obj) == type)) return 1;
- #if PY_MAJOR_VERSION == 2
- else if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
- #endif
- }
- else {
- if (likely(PyObject_TypeCheck(obj, type))) return 1;
+static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
+ PyObject* value;
+#if PY_MAJOR_VERSION >= 3
+ value = PyDict_GetItemWithError(d, key);
+ if (unlikely(!value)) {
+ if (unlikely(PyErr_Occurred()))
+ return NULL;
+ value = default_value;
}
- __Pyx_RaiseArgumentTypeInvalid(name, obj, type);
- return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
-#if CYTHON_COMPILING_IN_PYPY
- return PyObject_RichCompareBool(s1, s2, equals);
+ Py_INCREF(value);
#else
- if (s1 == s2) {
- return (equals == Py_EQ);
- } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
- const char *ps1, *ps2;
- Py_ssize_t length = PyBytes_GET_SIZE(s1);
- if (length != PyBytes_GET_SIZE(s2))
- return (equals == Py_NE);
- ps1 = PyBytes_AS_STRING(s1);
- ps2 = PyBytes_AS_STRING(s2);
- if (ps1[0] != ps2[0]) {
- return (equals == Py_NE);
- } else if (length == 1) {
- return (equals == Py_EQ);
- } else {
- int result = memcmp(ps1, ps2, (size_t)length);
- return (equals == Py_EQ) ? (result == 0) : (result != 0);
+ if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) {
+ value = PyDict_GetItem(d, key);
+ if (unlikely(!value)) {
+ value = default_value;
}
- } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
- return (equals == Py_NE);
- } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
- return (equals == Py_NE);
+ Py_INCREF(value);
} else {
- int result;
- PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
- if (!py_result)
- return -1;
- result = __Pyx_PyObject_IsTrue(py_result);
- Py_DECREF(py_result);
- return result;
+ if (default_value == Py_None)
+ default_value = NULL;
+ value = PyObject_CallMethodObjArgs(
+ d, __pyx_n_s_get, key, default_value, NULL);
}
#endif
+ return value;
}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
- PyObject *r;
- if (!j) return NULL;
- r = PyObject_GetItem(o, j);
- Py_DECREF(j);
- return r;
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck) {
-#if CYTHON_COMPILING_IN_CPYTHON
- if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
- if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
- PyObject *r = PyList_GET_ITEM(o, i);
- Py_INCREF(r);
- return r;
- }
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
-#endif
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck) {
-#if CYTHON_COMPILING_IN_CPYTHON
- if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
- if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, i);
- Py_INCREF(r);
- return r;
- }
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
-#endif
-}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
- int is_list, int wraparound, int boundscheck) {
+static CYTHON_INLINE int __Pyx_PyObject_SetSlice(
+ PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
+ int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
#if CYTHON_COMPILING_IN_CPYTHON
- if (is_list || PyList_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
- if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
- PyObject *r = PyList_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
+ PyMappingMethods* mp;
+#if PY_MAJOR_VERSION < 3
+ PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
+ if (likely(ms && ms->sq_ass_slice)) {
+ if (!has_cstart) {
+ if (_py_start && (*_py_start != Py_None)) {
+ cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
+ if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstart = 0;
}
- }
- else if (PyTuple_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
- if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
+ if (!has_cstop) {
+ if (_py_stop && (*_py_stop != Py_None)) {
+ cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
+ if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstop = PY_SSIZE_T_MAX;
}
- } else {
- PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
- if (likely(m && m->sq_item)) {
- if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
- Py_ssize_t l = m->sq_length(o);
- if (likely(l >= 0)) {
- i += l;
- } else {
- if (PyErr_ExceptionMatches(PyExc_OverflowError))
- PyErr_Clear();
- else
- return NULL;
+ if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
+ Py_ssize_t l = ms->sq_length(obj);
+ if (likely(l >= 0)) {
+ if (cstop < 0) {
+ cstop += l;
+ if (cstop < 0) cstop = 0;
+ }
+ if (cstart < 0) {
+ cstart += l;
+ if (cstart < 0) cstart = 0;
}
+ } else {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_Clear();
+ else
+ goto bad;
+ }
+ }
+ return ms->sq_ass_slice(obj, cstart, cstop, value);
+ }
+#endif
+ mp = Py_TYPE(obj)->tp_as_mapping;
+ if (likely(mp && mp->mp_ass_subscript))
+#endif
+ {
+ int result;
+ PyObject *py_slice, *py_start, *py_stop;
+ if (_py_slice) {
+ py_slice = *_py_slice;
+ } else {
+ PyObject* owned_start = NULL;
+ PyObject* owned_stop = NULL;
+ if (_py_start) {
+ py_start = *_py_start;
+ } else {
+ if (has_cstart) {
+ owned_start = py_start = PyInt_FromSsize_t(cstart);
+ if (unlikely(!py_start)) goto bad;
+ } else
+ py_start = Py_None;
}
- return m->sq_item(o, i);
+ if (_py_stop) {
+ py_stop = *_py_stop;
+ } else {
+ if (has_cstop) {
+ owned_stop = py_stop = PyInt_FromSsize_t(cstop);
+ if (unlikely(!py_stop)) {
+ Py_XDECREF(owned_start);
+ goto bad;
+ }
+ } else
+ py_stop = Py_None;
+ }
+ py_slice = PySlice_New(py_start, py_stop, Py_None);
+ Py_XDECREF(owned_start);
+ Py_XDECREF(owned_stop);
+ if (unlikely(!py_slice)) goto bad;
}
- }
+#if CYTHON_COMPILING_IN_CPYTHON
+ result = mp->mp_ass_subscript(obj, py_slice, value);
#else
- if (is_list || PySequence_Check(o)) {
- return PySequence_GetItem(o, i);
- }
+ result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice);
#endif
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+ if (!_py_slice) {
+ Py_DECREF(py_slice);
+ }
+ return result;
+ }
+ PyErr_Format(PyExc_TypeError,
+ "'%.200s' object does not support slice %.10s",
+ Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion");
+bad:
+ return -1;
+}
+
+static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
+ PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+ PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
+ int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
- PyObject *self, *result;
- PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
- return NULL;
- result = cfunc(self, arg);
- Py_LeaveRecursiveCall();
- if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
- PyErr_SetString(
- PyExc_SystemError,
- "NULL result without error in PyObject_Call");
+ PyMappingMethods* mp;
+#if PY_MAJOR_VERSION < 3
+ PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
+ if (likely(ms && ms->sq_slice)) {
+ if (!has_cstart) {
+ if (_py_start && (*_py_start != Py_None)) {
+ cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
+ if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstart = 0;
+ }
+ if (!has_cstop) {
+ if (_py_stop && (*_py_stop != Py_None)) {
+ cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
+ if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstop = PY_SSIZE_T_MAX;
+ }
+ if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
+ Py_ssize_t l = ms->sq_length(obj);
+ if (likely(l >= 0)) {
+ if (cstop < 0) {
+ cstop += l;
+ if (cstop < 0) cstop = 0;
+ }
+ if (cstart < 0) {
+ cstart += l;
+ if (cstart < 0) cstart = 0;
+ }
+ } else {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_Clear();
+ else
+ goto bad;
+ }
+ }
+ return ms->sq_slice(obj, cstart, cstop);
}
- return result;
-}
#endif
-
+ mp = Py_TYPE(obj)->tp_as_mapping;
+ if (likely(mp && mp->mp_subscript))
+#endif
+ {
+ PyObject* result;
+ PyObject *py_slice, *py_start, *py_stop;
+ if (_py_slice) {
+ py_slice = *_py_slice;
+ } else {
+ PyObject* owned_start = NULL;
+ PyObject* owned_stop = NULL;
+ if (_py_start) {
+ py_start = *_py_start;
+ } else {
+ if (has_cstart) {
+ owned_start = py_start = PyInt_FromSsize_t(cstart);
+ if (unlikely(!py_start)) goto bad;
+ } else
+ py_start = Py_None;
+ }
+ if (_py_stop) {
+ py_stop = *_py_stop;
+ } else {
+ if (has_cstop) {
+ owned_stop = py_stop = PyInt_FromSsize_t(cstop);
+ if (unlikely(!py_stop)) {
+ Py_XDECREF(owned_start);
+ goto bad;
+ }
+ } else
+ py_stop = Py_None;
+ }
+ py_slice = PySlice_New(py_start, py_stop, Py_None);
+ Py_XDECREF(owned_start);
+ Py_XDECREF(owned_stop);
+ if (unlikely(!py_slice)) goto bad;
+ }
#if CYTHON_COMPILING_IN_CPYTHON
-static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
- PyObject *result;
- PyObject *args = PyTuple_New(1);
- if (unlikely(!args)) return NULL;
- Py_INCREF(arg);
- PyTuple_SET_ITEM(args, 0, arg);
- result = __Pyx_PyObject_Call(func, args, NULL);
- Py_DECREF(args);
- return result;
-}
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
-#ifdef __Pyx_CyFunction_USED
- if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
+ result = mp->mp_subscript(obj, py_slice);
#else
- if (likely(PyCFunction_Check(func))) {
+ result = PyObject_GetItem(obj, py_slice);
#endif
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, arg);
+ if (!_py_slice) {
+ Py_DECREF(py_slice);
}
+ return result;
}
- return __Pyx__PyObject_CallOneArg(func, arg);
-}
-#else
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
- PyObject* args = PyTuple_Pack(1, arg);
- return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL;
+ PyErr_Format(PyExc_TypeError,
+ "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
+bad:
+ return NULL;
}
-#endif
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
-#ifdef __Pyx_CyFunction_USED
- if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
-#else
- if (likely(PyCFunction_Check(func))) {
-#endif
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
- }
+static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) {
+ Py_ssize_t start = *_start, stop = *_stop, length = *_length;
+ if (start < 0) {
+ start += length;
+ if (start < 0)
+ start = 0;
}
- return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
+ if (stop < 0)
+ stop += length;
+ else if (stop > length)
+ stop = length;
+ *_length = stop - start;
+ *_start = start;
+ *_stop = stop;
+}
+static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
+ PyObject *v;
+ Py_ssize_t i;
+ for (i = 0; i < length; i++) {
+ v = dest[i] = src[i];
+ Py_INCREF(v);
+ }
+}
+static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(
+ PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
+ PyObject* dest;
+ Py_ssize_t length = PyList_GET_SIZE(src);
+ __Pyx_crop_slice(&start, &stop, &length);
+ if (unlikely(length <= 0))
+ return PyList_New(0);
+ dest = PyList_New(length);
+ if (unlikely(!dest))
+ return NULL;
+ __Pyx_copy_object_array(
+ ((PyListObject*)src)->ob_item + start,
+ ((PyListObject*)dest)->ob_item,
+ length);
+ return dest;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(
+ PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
+ PyObject* dest;
+ Py_ssize_t length = PyTuple_GET_SIZE(src);
+ __Pyx_crop_slice(&start, &stop, &length);
+ if (unlikely(length <= 0))
+ return PyTuple_New(0);
+ dest = PyTuple_New(length);
+ if (unlikely(!dest))
+ return NULL;
+ __Pyx_copy_object_array(
+ ((PyTupleObject*)src)->ob_item + start,
+ ((PyTupleObject*)dest)->ob_item,
+ length);
+ return dest;
}
#endif
+static CYTHON_INLINE int __Pyx_div_int(int a, int b) {
+ int q = a / b;
+ int r = a - q*b;
+ q -= ((r != 0) & ((r ^ b) < 0));
+ return q;
+}
+
static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_COMPILING_IN_CPYTHON
PyThreadState *tstate = PyThreadState_GET();
@@ -15079,163 +26995,6 @@ static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* iter_obj, Py_ssize_t ori
return 1;
}
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
- CYTHON_UNUSED PyObject *cause) {
- Py_XINCREF(type);
- if (!value || value == Py_None)
- value = NULL;
- else
- Py_INCREF(value);
- if (!tb || tb == Py_None)
- tb = NULL;
- else {
- Py_INCREF(tb);
- if (!PyTraceBack_Check(tb)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: arg 3 must be a traceback or None");
- goto raise_error;
- }
- }
- if (PyType_Check(type)) {
-#if CYTHON_COMPILING_IN_PYPY
- if (!value) {
- Py_INCREF(Py_None);
- value = Py_None;
- }
-#endif
- PyErr_NormalizeException(&type, &value, &tb);
- } else {
- if (value) {
- PyErr_SetString(PyExc_TypeError,
- "instance exception may not have a separate value");
- goto raise_error;
- }
- value = type;
- type = (PyObject*) Py_TYPE(type);
- Py_INCREF(type);
- if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: exception class must be a subclass of BaseException");
- goto raise_error;
- }
- }
- __Pyx_ErrRestore(type, value, tb);
- return;
-raise_error:
- Py_XDECREF(value);
- Py_XDECREF(type);
- Py_XDECREF(tb);
- return;
-}
-#else
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
- PyObject* owned_instance = NULL;
- if (tb == Py_None) {
- tb = 0;
- } else if (tb && !PyTraceBack_Check(tb)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: arg 3 must be a traceback or None");
- goto bad;
- }
- if (value == Py_None)
- value = 0;
- if (PyExceptionInstance_Check(type)) {
- if (value) {
- PyErr_SetString(PyExc_TypeError,
- "instance exception may not have a separate value");
- goto bad;
- }
- value = type;
- type = (PyObject*) Py_TYPE(value);
- } else if (PyExceptionClass_Check(type)) {
- PyObject *instance_class = NULL;
- if (value && PyExceptionInstance_Check(value)) {
- instance_class = (PyObject*) Py_TYPE(value);
- if (instance_class != type) {
- if (PyObject_IsSubclass(instance_class, type)) {
- type = instance_class;
- } else {
- instance_class = NULL;
- }
- }
- }
- if (!instance_class) {
- PyObject *args;
- if (!value)
- args = PyTuple_New(0);
- else if (PyTuple_Check(value)) {
- Py_INCREF(value);
- args = value;
- } else
- args = PyTuple_Pack(1, value);
- if (!args)
- goto bad;
- owned_instance = PyObject_Call(type, args, NULL);
- Py_DECREF(args);
- if (!owned_instance)
- goto bad;
- value = owned_instance;
- if (!PyExceptionInstance_Check(value)) {
- PyErr_Format(PyExc_TypeError,
- "calling %R should have returned an instance of "
- "BaseException, not %R",
- type, Py_TYPE(value));
- goto bad;
- }
- }
- } else {
- PyErr_SetString(PyExc_TypeError,
- "raise: exception class must be a subclass of BaseException");
- goto bad;
- }
-#if PY_VERSION_HEX >= 0x03030000
- if (cause) {
-#else
- if (cause && cause != Py_None) {
-#endif
- PyObject *fixed_cause;
- if (cause == Py_None) {
- fixed_cause = NULL;
- } else if (PyExceptionClass_Check(cause)) {
- fixed_cause = PyObject_CallObject(cause, NULL);
- if (fixed_cause == NULL)
- goto bad;
- } else if (PyExceptionInstance_Check(cause)) {
- fixed_cause = cause;
- Py_INCREF(fixed_cause);
- } else {
- PyErr_SetString(PyExc_TypeError,
- "exception causes must derive from "
- "BaseException");
- goto bad;
- }
- PyException_SetCause(value, fixed_cause);
- }
- PyErr_SetObject(type, value);
- if (tb) {
-#if CYTHON_COMPILING_IN_PYPY
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
- Py_INCREF(tb);
- PyErr_Restore(tmp_type, tmp_value, tb);
- Py_XDECREF(tmp_tb);
-#else
- PyThreadState *tstate = PyThreadState_GET();
- PyObject* tmp_tb = tstate->curexc_traceback;
- if (tb != tmp_tb) {
- Py_INCREF(tb);
- tstate->curexc_traceback = tb;
- Py_XDECREF(tmp_tb);
- }
-#endif
- }
-bad:
- Py_XDECREF(owned_instance);
- return;
-}
-#endif
-
static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
#if PY_VERSION_HEX >= 0x02070000
PyObject *ob = PyCapsule_New(vtable, 0, 0);
@@ -15516,148 +27275,6 @@ bad:
Py_XDECREF(py_frame);
}
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
- const int neg_one = (int) -1, const_zero = 0;
- const int is_unsigned = neg_one > const_zero;
- if (is_unsigned) {
- if (sizeof(int) < sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(int) <= sizeof(unsigned long)) {
- return PyLong_FromUnsignedLong((unsigned long) value);
- } else if (sizeof(int) <= sizeof(unsigned long long)) {
- return PyLong_FromUnsignedLongLong((unsigned long long) value);
- }
- } else {
- if (sizeof(int) <= sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(int) <= sizeof(long long)) {
- return PyLong_FromLongLong((long long) value);
- }
- }
- {
- int one = 1; int little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&value;
- return _PyLong_FromByteArray(bytes, sizeof(int),
- little, !is_unsigned);
- }
-}
-
-#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value) \
- { \
- func_type value = func_value; \
- if (sizeof(target_type) < sizeof(func_type)) { \
- if (unlikely(value != (func_type) (target_type) value)) { \
- func_type zero = 0; \
- if (is_unsigned && unlikely(value < zero)) \
- goto raise_neg_overflow; \
- else \
- goto raise_overflow; \
- } \
- } \
- return (target_type) value; \
- }
-
-#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- #include "longintrepr.h"
- #endif
-#endif
-
-static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
- const int neg_one = (int) -1, const_zero = 0;
- const int is_unsigned = neg_one > const_zero;
-#if PY_MAJOR_VERSION < 3
- if (likely(PyInt_Check(x))) {
- if (sizeof(int) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
- } else {
- long val = PyInt_AS_LONG(x);
- if (is_unsigned && unlikely(val < 0)) {
- goto raise_neg_overflow;
- }
- return (int) val;
- }
- } else
-#endif
- if (likely(PyLong_Check(x))) {
- if (is_unsigned) {
-#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- switch (Py_SIZE(x)) {
- case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(int, digit, ((PyLongObject*)x)->ob_digit[0]);
- }
- #endif
-#endif
- if (unlikely(Py_SIZE(x) < 0)) {
- goto raise_neg_overflow;
- }
- if (sizeof(int) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong(x))
- } else if (sizeof(int) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong(x))
- }
- } else {
-#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- switch (Py_SIZE(x)) {
- case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(int, digit, +(((PyLongObject*)x)->ob_digit[0]));
- case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
- }
- #endif
-#endif
- if (sizeof(int) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong(x))
- } else if (sizeof(int) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong(x))
- }
- }
- {
-#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
- PyErr_SetString(PyExc_RuntimeError,
- "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-#else
- int val;
- PyObject *v = __Pyx_PyNumber_Int(x);
- #if PY_MAJOR_VERSION < 3
- if (likely(v) && !PyLong_Check(v)) {
- PyObject *tmp = v;
- v = PyNumber_Long(tmp);
- Py_DECREF(tmp);
- }
- #endif
- if (likely(v)) {
- int one = 1; int is_little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&val;
- int ret = _PyLong_AsByteArray((PyLongObject *)v,
- bytes, sizeof(val),
- is_little, !is_unsigned);
- Py_DECREF(v);
- if (likely(!ret))
- return val;
- }
-#endif
- return (int) -1;
- }
- } else {
- int val;
- PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (int) -1;
- val = __Pyx_PyInt_As_int(tmp);
- Py_DECREF(tmp);
- return val;
- }
-raise_overflow:
- PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to int");
- return (int) -1;
-raise_neg_overflow:
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int");
- return (int) -1;
-}
-
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
PyObject *empty_list = 0;
PyObject *module = 0;
@@ -15731,6 +27348,27 @@ bad:
return module;
}
+#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value) \
+ { \
+ func_type value = func_value; \
+ if (sizeof(target_type) < sizeof(func_type)) { \
+ if (unlikely(value != (func_type) (target_type) value)) { \
+ func_type zero = 0; \
+ if (is_unsigned && unlikely(value < zero)) \
+ goto raise_neg_overflow; \
+ else \
+ goto raise_overflow; \
+ } \
+ } \
+ return (target_type) value; \
+ }
+
+#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
+ #if CYTHON_USE_PYLONG_INTERNALS
+ #include "longintrepr.h"
+ #endif
+#endif
+
static CYTHON_INLINE MPI_Comm __Pyx_PyInt_As_MPI_Comm(PyObject *x) {
const MPI_Comm neg_one = (MPI_Comm) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
@@ -15881,7 +27519,102 @@ static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
- int64_t val;
+ int64_t val;
+ PyObject *v = __Pyx_PyNumber_Int(x);
+ #if PY_MAJOR_VERSION < 3
+ if (likely(v) && !PyLong_Check(v)) {
+ PyObject *tmp = v;
+ v = PyNumber_Long(tmp);
+ Py_DECREF(tmp);
+ }
+ #endif
+ if (likely(v)) {
+ int one = 1; int is_little = (int)*(unsigned char *)&one;
+ unsigned char *bytes = (unsigned char *)&val;
+ int ret = _PyLong_AsByteArray((PyLongObject *)v,
+ bytes, sizeof(val),
+ is_little, !is_unsigned);
+ Py_DECREF(v);
+ if (likely(!ret))
+ return val;
+ }
+#endif
+ return (int64_t) -1;
+ }
+ } else {
+ int64_t val;
+ PyObject *tmp = __Pyx_PyNumber_Int(x);
+ if (!tmp) return (int64_t) -1;
+ val = __Pyx_PyInt_As_int64_t(tmp);
+ Py_DECREF(tmp);
+ return val;
+ }
+raise_overflow:
+ PyErr_SetString(PyExc_OverflowError,
+ "value too large to convert to int64_t");
+ return (int64_t) -1;
+raise_neg_overflow:
+ PyErr_SetString(PyExc_OverflowError,
+ "can't convert negative value to int64_t");
+ return (int64_t) -1;
+}
+
+static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
+ const uint64_t neg_one = (uint64_t) -1, const_zero = 0;
+ const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+ if (likely(PyInt_Check(x))) {
+ if (sizeof(uint64_t) < sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
+ } else {
+ long val = PyInt_AS_LONG(x);
+ if (is_unsigned && unlikely(val < 0)) {
+ goto raise_neg_overflow;
+ }
+ return (uint64_t) val;
+ }
+ } else
+#endif
+ if (likely(PyLong_Check(x))) {
+ if (is_unsigned) {
+#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
+ #if CYTHON_USE_PYLONG_INTERNALS
+ switch (Py_SIZE(x)) {
+ case 0: return 0;
+ case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, ((PyLongObject*)x)->ob_digit[0]);
+ }
+ #endif
+#endif
+ if (unlikely(Py_SIZE(x) < 0)) {
+ goto raise_neg_overflow;
+ }
+ if (sizeof(uint64_t) <= sizeof(unsigned long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
+ } else if (sizeof(uint64_t) <= sizeof(unsigned long long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long long, PyLong_AsUnsignedLongLong(x))
+ }
+ } else {
+#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
+ #if CYTHON_USE_PYLONG_INTERNALS
+ switch (Py_SIZE(x)) {
+ case 0: return 0;
+ case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +(((PyLongObject*)x)->ob_digit[0]));
+ case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
+ }
+ #endif
+#endif
+ if (sizeof(uint64_t) <= sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, long, PyLong_AsLong(x))
+ } else if (sizeof(uint64_t) <= sizeof(long long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, long long, PyLong_AsLongLong(x))
+ }
+ }
+ {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+ PyErr_SetString(PyExc_RuntimeError,
+ "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+ uint64_t val;
PyObject *v = __Pyx_PyNumber_Int(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
@@ -15901,39 +27634,39 @@ static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
return val;
}
#endif
- return (int64_t) -1;
+ return (uint64_t) -1;
}
} else {
- int64_t val;
+ uint64_t val;
PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (int64_t) -1;
- val = __Pyx_PyInt_As_int64_t(tmp);
+ if (!tmp) return (uint64_t) -1;
+ val = __Pyx_PyInt_As_uint64_t(tmp);
Py_DECREF(tmp);
return val;
}
raise_overflow:
PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to int64_t");
- return (int64_t) -1;
+ "value too large to convert to uint64_t");
+ return (uint64_t) -1;
raise_neg_overflow:
PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int64_t");
- return (int64_t) -1;
+ "can't convert negative value to uint64_t");
+ return (uint64_t) -1;
}
-static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
- const uint64_t neg_one = (uint64_t) -1, const_zero = 0;
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+ const int neg_one = (int) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
if (likely(PyInt_Check(x))) {
- if (sizeof(uint64_t) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
+ if (sizeof(int) < sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
} else {
long val = PyInt_AS_LONG(x);
if (is_unsigned && unlikely(val < 0)) {
goto raise_neg_overflow;
}
- return (uint64_t) val;
+ return (int) val;
}
} else
#endif
@@ -15943,32 +27676,32 @@ static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(int, digit, ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow;
}
- if (sizeof(uint64_t) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
- } else if (sizeof(uint64_t) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long long, PyLong_AsUnsignedLongLong(x))
+ if (sizeof(int) <= sizeof(unsigned long)) {
+ __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong(x))
+ } else if (sizeof(int) <= sizeof(unsigned long long)) {
+ __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong(x))
}
} else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +(((PyLongObject*)x)->ob_digit[0]));
- case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(int, digit, +(((PyLongObject*)x)->ob_digit[0]));
+ case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
- if (sizeof(uint64_t) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, long, PyLong_AsLong(x))
- } else if (sizeof(uint64_t) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, long long, PyLong_AsLongLong(x))
+ if (sizeof(int) <= sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong(x))
+ } else if (sizeof(int) <= sizeof(long long)) {
+ __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong(x))
}
}
{
@@ -15976,7 +27709,7 @@ static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
- uint64_t val;
+ int val;
PyObject *v = __Pyx_PyNumber_Int(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
@@ -15996,24 +27729,24 @@ static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
return val;
}
#endif
- return (uint64_t) -1;
+ return (int) -1;
}
} else {
- uint64_t val;
+ int val;
PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (uint64_t) -1;
- val = __Pyx_PyInt_As_uint64_t(tmp);
+ if (!tmp) return (int) -1;
+ val = __Pyx_PyInt_As_int(tmp);
Py_DECREF(tmp);
return val;
}
raise_overflow:
PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to uint64_t");
- return (uint64_t) -1;
+ "value too large to convert to int");
+ return (int) -1;
raise_neg_overflow:
PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to uint64_t");
- return (uint64_t) -1;
+ "can't convert negative value to int");
+ return (int) -1;
}
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
@@ -16111,6 +27844,32 @@ raise_neg_overflow:
return (long) -1;
}
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+ const int neg_one = (int) -1, const_zero = 0;
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(int) < sizeof(long)) {
+ return PyInt_FromLong((long) value);
+ } else if (sizeof(int) <= sizeof(unsigned long)) {
+ return PyLong_FromUnsignedLong((unsigned long) value);
+ } else if (sizeof(int) <= sizeof(unsigned long long)) {
+ return PyLong_FromUnsignedLongLong((unsigned long long) value);
+ }
+ } else {
+ if (sizeof(int) <= sizeof(long)) {
+ return PyInt_FromLong((long) value);
+ } else if (sizeof(int) <= sizeof(long long)) {
+ return PyLong_FromLongLong((long long) value);
+ }
+ }
+ {
+ int one = 1; int little = (int)*(unsigned char *)&one;
+ unsigned char *bytes = (unsigned char *)&value;
+ return _PyLong_FromByteArray(bytes, sizeof(int),
+ little, !is_unsigned);
+ }
+}
+
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) {
const int64_t neg_one = (int64_t) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
@@ -16596,6 +28355,608 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_long(unsigned long valu
#endif
#endif
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
+ PyObject* fake_module;
+ PyTypeObject* cached_type = NULL;
+ fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
+ if (!fake_module) return NULL;
+ Py_INCREF(fake_module);
+ cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
+ if (cached_type) {
+ if (!PyType_Check((PyObject*)cached_type)) {
+ PyErr_Format(PyExc_TypeError,
+ "Shared Cython type %.200s is not a type object",
+ type->tp_name);
+ goto bad;
+ }
+ if (cached_type->tp_basicsize != type->tp_basicsize) {
+ PyErr_Format(PyExc_TypeError,
+ "Shared Cython type %.200s has the wrong size, try recompiling",
+ type->tp_name);
+ goto bad;
+ }
+ } else {
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
+ PyErr_Clear();
+ if (PyType_Ready(type) < 0) goto bad;
+ if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
+ goto bad;
+ Py_INCREF(type);
+ cached_type = type;
+ }
+done:
+ Py_DECREF(fake_module);
+ return cached_type;
+bad:
+ Py_XDECREF(cached_type);
+ cached_type = NULL;
+ goto done;
+}
+
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyThreadState *tstate = PyThreadState_GET();
+ tmp_type = tstate->exc_type;
+ tmp_value = tstate->exc_value;
+ tmp_tb = tstate->exc_traceback;
+ tstate->exc_type = *type;
+ tstate->exc_value = *value;
+ tstate->exc_traceback = *tb;
+#else
+ PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
+ PyErr_SetExcInfo(*type, *value, *tb);
+#endif
+ *type = tmp_type;
+ *value = tmp_value;
+ *tb = tmp_tb;
+}
+
+static PyObject *__Pyx_Generator_Next(PyObject *self);
+static PyObject *__Pyx_Generator_Send(PyObject *self, PyObject *value);
+static PyObject *__Pyx_Generator_Close(PyObject *self);
+static PyObject *__Pyx_Generator_Throw(PyObject *gen, PyObject *args);
+static PyTypeObject *__pyx_GeneratorType = 0;
+#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
+#define __Pyx_Generator_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
+#if 1 || PY_VERSION_HEX < 0x030300B0
+static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue) {
+ PyObject *et, *ev, *tb;
+ PyObject *value = NULL;
+ __Pyx_ErrFetch(&et, &ev, &tb);
+ if (!et) {
+ Py_XDECREF(tb);
+ Py_XDECREF(ev);
+ Py_INCREF(Py_None);
+ *pvalue = Py_None;
+ return 0;
+ }
+ if (unlikely(et != PyExc_StopIteration) &&
+ unlikely(!PyErr_GivenExceptionMatches(et, PyExc_StopIteration))) {
+ __Pyx_ErrRestore(et, ev, tb);
+ return -1;
+ }
+ if (likely(et == PyExc_StopIteration)) {
+ if (likely(!ev) || !PyObject_IsInstance(ev, PyExc_StopIteration)) {
+ if (!ev) {
+ Py_INCREF(Py_None);
+ ev = Py_None;
+ }
+ Py_XDECREF(tb);
+ Py_DECREF(et);
+ *pvalue = ev;
+ return 0;
+ }
+ }
+ PyErr_NormalizeException(&et, &ev, &tb);
+ if (unlikely(!PyObject_IsInstance(ev, PyExc_StopIteration))) {
+ __Pyx_ErrRestore(et, ev, tb);
+ return -1;
+ }
+ Py_XDECREF(tb);
+ Py_DECREF(et);
+#if PY_VERSION_HEX >= 0x030300A0
+ value = ((PyStopIterationObject *)ev)->value;
+ Py_INCREF(value);
+ Py_DECREF(ev);
+#else
+ {
+ PyObject* args = PyObject_GetAttr(ev, __pyx_n_s_args);
+ Py_DECREF(ev);
+ if (likely(args)) {
+ value = PyObject_GetItem(args, 0);
+ Py_DECREF(args);
+ }
+ if (unlikely(!value)) {
+ __Pyx_ErrRestore(NULL, NULL, NULL);
+ Py_INCREF(Py_None);
+ value = Py_None;
+ }
+ }
+#endif
+ *pvalue = value;
+ return 0;
+}
+#endif
+static CYTHON_INLINE
+void __Pyx_Generator_ExceptionClear(__pyx_GeneratorObject *self) {
+ PyObject *exc_type = self->exc_type;
+ PyObject *exc_value = self->exc_value;
+ PyObject *exc_traceback = self->exc_traceback;
+ self->exc_type = NULL;
+ self->exc_value = NULL;
+ self->exc_traceback = NULL;
+ Py_XDECREF(exc_type);
+ Py_XDECREF(exc_value);
+ Py_XDECREF(exc_traceback);
+}
+static CYTHON_INLINE
+int __Pyx_Generator_CheckRunning(__pyx_GeneratorObject *gen) {
+ if (unlikely(gen->is_running)) {
+ PyErr_SetString(PyExc_ValueError,
+ "generator already executing");
+ return 1;
+ }
+ return 0;
+}
+static CYTHON_INLINE
+PyObject *__Pyx_Generator_SendEx(__pyx_GeneratorObject *self, PyObject *value) {
+ PyObject *retval;
+ assert(!self->is_running);
+ if (unlikely(self->resume_label == 0)) {
+ if (unlikely(value && value != Py_None)) {
+ PyErr_SetString(PyExc_TypeError,
+ "can't send non-None value to a "
+ "just-started generator");
+ return NULL;
+ }
+ }
+ if (unlikely(self->resume_label == -1)) {
+ PyErr_SetNone(PyExc_StopIteration);
+ return NULL;
+ }
+ if (value) {
+#if CYTHON_COMPILING_IN_PYPY
+#else
+ if (self->exc_traceback) {
+ PyThreadState *tstate = PyThreadState_GET();
+ PyTracebackObject *tb = (PyTracebackObject *) self->exc_traceback;
+ PyFrameObject *f = tb->tb_frame;
+ Py_XINCREF(tstate->frame);
+ assert(f->f_back == NULL);
+ f->f_back = tstate->frame;
+ }
+#endif
+ __Pyx_ExceptionSwap(&self->exc_type, &self->exc_value,
+ &self->exc_traceback);
+ } else {
+ __Pyx_Generator_ExceptionClear(self);
+ }
+ self->is_running = 1;
+ retval = self->body((PyObject *) self, value);
+ self->is_running = 0;
+ if (retval) {
+ __Pyx_ExceptionSwap(&self->exc_type, &self->exc_value,
+ &self->exc_traceback);
+#if CYTHON_COMPILING_IN_PYPY
+#else
+ if (self->exc_traceback) {
+ PyTracebackObject *tb = (PyTracebackObject *) self->exc_traceback;
+ PyFrameObject *f = tb->tb_frame;
+ Py_CLEAR(f->f_back);
+ }
+#endif
+ } else {
+ __Pyx_Generator_ExceptionClear(self);
+ }
+ return retval;
+}
+static CYTHON_INLINE
+PyObject *__Pyx_Generator_FinishDelegation(__pyx_GeneratorObject *gen) {
+ PyObject *ret;
+ PyObject *val = NULL;
+ __Pyx_Generator_Undelegate(gen);
+ __Pyx_PyGen_FetchStopIterationValue(&val);
+ ret = __Pyx_Generator_SendEx(gen, val);
+ Py_XDECREF(val);
+ return ret;
+}
+static PyObject *__Pyx_Generator_Next(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject*) self;
+ PyObject *yf = gen->yieldfrom;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ PyObject *ret;
+ gen->is_running = 1;
+ ret = Py_TYPE(yf)->tp_iternext(yf);
+ gen->is_running = 0;
+ if (likely(ret)) {
+ return ret;
+ }
+ return __Pyx_Generator_FinishDelegation(gen);
+ }
+ return __Pyx_Generator_SendEx(gen, Py_None);
+}
+static PyObject *__Pyx_Generator_Send(PyObject *self, PyObject *value) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject*) self;
+ PyObject *yf = gen->yieldfrom;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ PyObject *ret;
+ gen->is_running = 1;
+ if (__Pyx_Generator_CheckExact(yf)) {
+ ret = __Pyx_Generator_Send(yf, value);
+ } else {
+ if (value == Py_None)
+ ret = PyIter_Next(yf);
+ else
+ ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
+ }
+ gen->is_running = 0;
+ if (likely(ret)) {
+ return ret;
+ }
+ return __Pyx_Generator_FinishDelegation(gen);
+ }
+ return __Pyx_Generator_SendEx(gen, value);
+}
+static int __Pyx_Generator_CloseIter(__pyx_GeneratorObject *gen, PyObject *yf) {
+ PyObject *retval = NULL;
+ int err = 0;
+ if (__Pyx_Generator_CheckExact(yf)) {
+ retval = __Pyx_Generator_Close(yf);
+ if (!retval)
+ return -1;
+ } else {
+ PyObject *meth;
+ gen->is_running = 1;
+ meth = PyObject_GetAttr(yf, __pyx_n_s_close);
+ if (unlikely(!meth)) {
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
+ PyErr_WriteUnraisable(yf);
+ }
+ PyErr_Clear();
+ } else {
+ retval = PyObject_CallFunction(meth, NULL);
+ Py_DECREF(meth);
+ if (!retval)
+ err = -1;
+ }
+ gen->is_running = 0;
+ }
+ Py_XDECREF(retval);
+ return err;
+}
+static PyObject *__Pyx_Generator_Close(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ PyObject *retval, *raised_exception;
+ PyObject *yf = gen->yieldfrom;
+ int err = 0;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ Py_INCREF(yf);
+ err = __Pyx_Generator_CloseIter(gen, yf);
+ __Pyx_Generator_Undelegate(gen);
+ Py_DECREF(yf);
+ }
+ if (err == 0)
+ PyErr_SetNone(PyExc_GeneratorExit);
+ retval = __Pyx_Generator_SendEx(gen, NULL);
+ if (retval) {
+ Py_DECREF(retval);
+ PyErr_SetString(PyExc_RuntimeError,
+ "generator ignored GeneratorExit");
+ return NULL;
+ }
+ raised_exception = PyErr_Occurred();
+ if (!raised_exception
+ || raised_exception == PyExc_StopIteration
+ || raised_exception == PyExc_GeneratorExit
+ || PyErr_GivenExceptionMatches(raised_exception, PyExc_GeneratorExit)
+ || PyErr_GivenExceptionMatches(raised_exception, PyExc_StopIteration))
+ {
+ if (raised_exception) PyErr_Clear();
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+ return NULL;
+}
+static PyObject *__Pyx_Generator_Throw(PyObject *self, PyObject *args) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ PyObject *typ;
+ PyObject *tb = NULL;
+ PyObject *val = NULL;
+ PyObject *yf = gen->yieldfrom;
+ if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))
+ return NULL;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ PyObject *ret;
+ Py_INCREF(yf);
+ if (PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit)) {
+ int err = __Pyx_Generator_CloseIter(gen, yf);
+ Py_DECREF(yf);
+ __Pyx_Generator_Undelegate(gen);
+ if (err < 0)
+ return __Pyx_Generator_SendEx(gen, NULL);
+ goto throw_here;
+ }
+ gen->is_running = 1;
+ if (__Pyx_Generator_CheckExact(yf)) {
+ ret = __Pyx_Generator_Throw(yf, args);
+ } else {
+ PyObject *meth = PyObject_GetAttr(yf, __pyx_n_s_throw);
+ if (unlikely(!meth)) {
+ Py_DECREF(yf);
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
+ gen->is_running = 0;
+ return NULL;
+ }
+ PyErr_Clear();
+ __Pyx_Generator_Undelegate(gen);
+ gen->is_running = 0;
+ goto throw_here;
+ }
+ ret = PyObject_CallObject(meth, args);
+ Py_DECREF(meth);
+ }
+ gen->is_running = 0;
+ Py_DECREF(yf);
+ if (!ret) {
+ ret = __Pyx_Generator_FinishDelegation(gen);
+ }
+ return ret;
+ }
+throw_here:
+ __Pyx_Raise(typ, val, tb, NULL);
+ return __Pyx_Generator_SendEx(gen, NULL);
+}
+static int __Pyx_Generator_traverse(PyObject *self, visitproc visit, void *arg) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ Py_VISIT(gen->closure);
+ Py_VISIT(gen->classobj);
+ Py_VISIT(gen->yieldfrom);
+ Py_VISIT(gen->exc_type);
+ Py_VISIT(gen->exc_value);
+ Py_VISIT(gen->exc_traceback);
+ return 0;
+}
+static int __Pyx_Generator_clear(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ Py_CLEAR(gen->closure);
+ Py_CLEAR(gen->classobj);
+ Py_CLEAR(gen->yieldfrom);
+ Py_CLEAR(gen->exc_type);
+ Py_CLEAR(gen->exc_value);
+ Py_CLEAR(gen->exc_traceback);
+ Py_CLEAR(gen->gi_name);
+ Py_CLEAR(gen->gi_qualname);
+ return 0;
+}
+static void __Pyx_Generator_dealloc(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ PyObject_GC_UnTrack(gen);
+ if (gen->gi_weakreflist != NULL)
+ PyObject_ClearWeakRefs(self);
+ if (gen->resume_label > 0) {
+ PyObject_GC_Track(self);
+#if PY_VERSION_HEX >= 0x030400a1
+ if (PyObject_CallFinalizerFromDealloc(self))
+#else
+ Py_TYPE(gen)->tp_del(self);
+ if (self->ob_refcnt > 0)
+#endif
+ {
+ return;
+ }
+ PyObject_GC_UnTrack(self);
+ }
+ __Pyx_Generator_clear(self);
+ PyObject_GC_Del(gen);
+}
+static void __Pyx_Generator_del(PyObject *self) {
+ PyObject *res;
+ PyObject *error_type, *error_value, *error_traceback;
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ if (gen->resume_label <= 0)
+ return ;
+#if PY_VERSION_HEX < 0x030400a1
+ assert(self->ob_refcnt == 0);
+ self->ob_refcnt = 1;
+#endif
+ __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
+ res = __Pyx_Generator_Close(self);
+ if (res == NULL)
+ PyErr_WriteUnraisable(self);
+ else
+ Py_DECREF(res);
+ __Pyx_ErrRestore(error_type, error_value, error_traceback);
+#if PY_VERSION_HEX < 0x030400a1
+ assert(self->ob_refcnt > 0);
+ if (--self->ob_refcnt == 0) {
+ return;
+ }
+ {
+ Py_ssize_t refcnt = self->ob_refcnt;
+ _Py_NewReference(self);
+ self->ob_refcnt = refcnt;
+ }
+#if CYTHON_COMPILING_IN_CPYTHON
+ assert(PyType_IS_GC(self->ob_type) &&
+ _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
+ _Py_DEC_REFTOTAL;
+#endif
+#ifdef COUNT_ALLOCS
+ --Py_TYPE(self)->tp_frees;
+ --Py_TYPE(self)->tp_allocs;
+#endif
+#endif
+}
+static PyObject *
+__Pyx_Generator_get_name(__pyx_GeneratorObject *self)
+{
+ Py_INCREF(self->gi_name);
+ return self->gi_name;
+}
+static int
+__Pyx_Generator_set_name(__pyx_GeneratorObject *self, PyObject *value)
+{
+ PyObject *tmp;
+#if PY_MAJOR_VERSION >= 3
+ if (unlikely(value == NULL || !PyUnicode_Check(value))) {
+#else
+ if (unlikely(value == NULL || !PyString_Check(value))) {
+#endif
+ PyErr_SetString(PyExc_TypeError,
+ "__name__ must be set to a string object");
+ return -1;
+ }
+ tmp = self->gi_name;
+ Py_INCREF(value);
+ self->gi_name = value;
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *
+__Pyx_Generator_get_qualname(__pyx_GeneratorObject *self)
+{
+ Py_INCREF(self->gi_qualname);
+ return self->gi_qualname;
+}
+static int
+__Pyx_Generator_set_qualname(__pyx_GeneratorObject *self, PyObject *value)
+{
+ PyObject *tmp;
+#if PY_MAJOR_VERSION >= 3
+ if (unlikely(value == NULL || !PyUnicode_Check(value))) {
+#else
+ if (unlikely(value == NULL || !PyString_Check(value))) {
+#endif
+ PyErr_SetString(PyExc_TypeError,
+ "__qualname__ must be set to a string object");
+ return -1;
+ }
+ tmp = self->gi_qualname;
+ Py_INCREF(value);
+ self->gi_qualname = value;
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyGetSetDef __pyx_Generator_getsets[] = {
+ {(char *) "__name__", (getter)__Pyx_Generator_get_name, (setter)__Pyx_Generator_set_name,
+ (char*) PyDoc_STR("name of the generator"), 0},
+ {(char *) "__qualname__", (getter)__Pyx_Generator_get_qualname, (setter)__Pyx_Generator_set_qualname,
+ (char*) PyDoc_STR("qualified name of the generator"), 0},
+ {0, 0, 0, 0, 0}
+};
+static PyMemberDef __pyx_Generator_memberlist[] = {
+ {(char *) "gi_running", T_BOOL, offsetof(__pyx_GeneratorObject, is_running), READONLY, NULL},
+ {0, 0, 0, 0, 0}
+};
+static PyMethodDef __pyx_Generator_methods[] = {
+ {"send", (PyCFunction) __Pyx_Generator_Send, METH_O, 0},
+ {"throw", (PyCFunction) __Pyx_Generator_Throw, METH_VARARGS, 0},
+ {"close", (PyCFunction) __Pyx_Generator_Close, METH_NOARGS, 0},
+ {0, 0, 0, 0}
+};
+static PyTypeObject __pyx_GeneratorType_type = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "generator",
+ sizeof(__pyx_GeneratorObject),
+ 0,
+ (destructor) __Pyx_Generator_dealloc,
+ 0,
+ 0,
+ 0,
+#if PY_MAJOR_VERSION < 3
+ 0,
+#else
+ 0,
+#endif
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
+ 0,
+ (traverseproc) __Pyx_Generator_traverse,
+ 0,
+ 0,
+ offsetof(__pyx_GeneratorObject, gi_weakreflist),
+ 0,
+ (iternextfunc) __Pyx_Generator_Next,
+ __pyx_Generator_methods,
+ __pyx_Generator_memberlist,
+ __pyx_Generator_getsets,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+#if PY_VERSION_HEX >= 0x030400a1
+ 0,
+#else
+ __Pyx_Generator_del,
+#endif
+ 0,
+#if PY_VERSION_HEX >= 0x030400a1
+ __Pyx_Generator_del,
+#endif
+};
+static __pyx_GeneratorObject *__Pyx_Generator_New(__pyx_generator_body_t body,
+ PyObject *closure, PyObject *name, PyObject *qualname) {
+ __pyx_GeneratorObject *gen =
+ PyObject_GC_New(__pyx_GeneratorObject, &__pyx_GeneratorType_type);
+ if (gen == NULL)
+ return NULL;
+ gen->body = body;
+ gen->closure = closure;
+ Py_XINCREF(closure);
+ gen->is_running = 0;
+ gen->resume_label = 0;
+ gen->classobj = NULL;
+ gen->yieldfrom = NULL;
+ gen->exc_type = NULL;
+ gen->exc_value = NULL;
+ gen->exc_traceback = NULL;
+ gen->gi_weakreflist = NULL;
+ Py_XINCREF(qualname);
+ gen->gi_qualname = qualname;
+ Py_XINCREF(name);
+ gen->gi_name = name;
+ PyObject_GC_Track(gen);
+ return gen;
+}
+static int __pyx_Generator_init(void) {
+ __pyx_GeneratorType_type.tp_getattro = PyObject_GenericGetAttr;
+ __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
+ __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
+ if (__pyx_GeneratorType == NULL) {
+ return -1;
+ }
+ return 0;
+}
+
static int __Pyx_check_binary_version(void) {
char ctversion[4], rtversion[4];
PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
diff --git a/wrappers/numpy/adios.pyx b/wrappers/numpy/adios.pyx
index cadbf95..125fc2f 100644
--- a/wrappers/numpy/adios.pyx
+++ b/wrappers/numpy/adios.pyx
@@ -1,12 +1,7 @@
-"""
- ADIOS is freely available under the terms of the BSD license described
- in the COPYING file in the top level directory of this source distribution.
+# -*- coding: utf-8 -*-
+"""ADIOS: ADIOS python module
- Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
-"""
-"""
- This is a cython file. To generate a CPP file, use the following command:
- $ cython --cplus adios.pyx
+.. moduleauthor:: Jong Choi <choij at ornl.gov>
"""
import numpy as np
@@ -18,6 +13,15 @@ cimport numpy as np
import cython
cimport cython
+from libc.stdlib cimport malloc, free
+from cpython.string cimport PyString_AsString
+
+cdef char ** to_cstring_array(list_str):
+ cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ for i in xrange(len(list_str)):
+ ret[i] = PyString_AsString(list_str[i])
+ return ret
+
## ====================
## ADIOS Exported Functions
## ====================
@@ -42,6 +46,7 @@ cdef extern from "adios_types.h":
adios_string
adios_complex
adios_double_complex
+ adios_string_array
ctypedef enum ADIOS_BUFFER_ALLOC_WHEN:
ADIOS_BUFFER_ALLOC_UNKNOWN
@@ -107,6 +112,13 @@ cdef extern from "adios.h":
ADIOS_DATATYPES type,
char * value,
char * var)
+
+ cdef int adios_define_attribute_byvalue (int64_t group,
+ char * name,
+ char * path,
+ ADIOS_DATATYPES type,
+ int nelems,
+ void * values)
cdef int adios_select_method (int64_t group,
char * method,
@@ -150,12 +162,6 @@ cdef extern from "adios_selection.h":
cdef extern from "adios_read.h":
ctypedef enum ADIOS_READ_METHOD:
- ADIOS_READ_METHOD_BP
- ADIOS_READ_METHOD_BP_AGGREGATE
- ADIOS_READ_METHOD_DATASPACES
- ADIOS_READ_METHOD_DIMES
- ADIOS_READ_METHOD_FLEXPATH
- ADIOS_READ_METHOD_ICEE
pass
ctypedef enum ADIOS_LOCKMODE:
@@ -220,6 +226,13 @@ cdef extern from "adios_read.h":
void * data)
cdef int adios_perform_reads (const ADIOS_FILE *fp, int blocking)
+ cdef int adios_get_attr (ADIOS_FILE *fp,
+ const char * attrname,
+ ADIOS_DATATYPES * type,
+ int * size,
+ void ** data)
+
+ cdef char * adios_type_to_string (ADIOS_DATATYPES type)
## ====================
## ADIOS Enum (public)
@@ -241,6 +254,7 @@ class DATATYPE:
string = 9
complex = 10
double_complex = 11
+ string_array = 12
class FLAG:
UNKNOWN = 0
@@ -251,7 +265,39 @@ class BUFFER_ALLOC_WHEN:
UNKNOWN = 0
NOW = 1
LATER = 2
+
+class READ_METHOD:
+ BP = 0
+ BP_AGGREGATE = 1
+ DATASPACES = 3
+ DIMES = 4
+ FLEXPATH = 5
+ ICEE = 6
+
+
+cpdef __parse_index(index, ndim):
+ # Fix index, handling ellipsis and incomplete slices.
+ if not isinstance(index, tuple):
+ index = (index,)
+
+ fixed = []
+ length = len(index)
+ for slice_ in index:
+ if slice_ is Ellipsis:
+ fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ elif isinstance(slice_, (int, long)):
+ fixed.append(slice(slice_, slice_+1, None))
+ else:
+ fixed.append(slice_)
+ length -= 1
+
+ index = tuple(fixed)
+ if len(index) < ndim:
+ index += (slice(None),) * (ndim-len(index))
+
+ return index
+
## ====================
## ADIOS Write API
## ====================
@@ -274,12 +320,15 @@ cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size):
result = adios_group_size(fd_p, data_size, &total_size)
return total_size
-cpdef int write (int64_t fd_p, char * name, np.ndarray val):
+cpdef int write (int64_t fd_p, char * name, val, dtype=None):
cdef np.ndarray val_
- if val.flags.contiguous:
- val_ = val
+ if isinstance(val, (np.ndarray)):
+ if val.flags.contiguous:
+ val_ = val
+ else:
+ val_ = np.array(val, copy=True)
else:
- val_ = np.array(val, copy=True)
+ val_ = np.array(val, dtype=dtype)
return adios_write (fd_p, name, <void *> val_.data)
@@ -292,6 +341,10 @@ cpdef int write_long (int64_t fd_p, char * name, long val):
cpdef int write_float (int64_t fd_p, char * name, float val):
return adios_write (fd_p, name, &val)
+cpdef int write_double (int64_t fd_p, char * name, double val):
+ return adios_write (fd_p, name, &val)
+
+
cpdef int read(int64_t fd_p, char * name, np.ndarray val):
assert val.flags.contiguous, 'Only contiguous arrays are supported.'
print "Reading ... ", val.itemsize * val.size, "(bytes)"
@@ -327,13 +380,13 @@ cpdef int64_t declare_group(char * name,
cpdef int define_var(int64_t group_id,
char * name,
char * path,
- int type,
+ int atype,
char * dimensions = "",
char * global_dimensions = "",
char * local_offsets = ""):
return adios_define_var(group_id,
name, path,
- <ADIOS_DATATYPES> type,
+ <ADIOS_DATATYPES> atype,
dimensions,
global_dimensions,
local_offsets)
@@ -341,16 +394,59 @@ cpdef int define_var(int64_t group_id,
cpdef int define_attribute (int64_t group,
char * name,
char * path,
- int type,
+ int atype,
char * value,
char * var):
return adios_define_attribute (group,
name,
path,
- <ADIOS_DATATYPES> type,
+ <ADIOS_DATATYPES> atype,
value,
var)
+cpdef int define_attribute_byvalue (int64_t group,
+ char * name,
+ char * path,
+ val):
+ cdef np.ndarray val_
+ if isinstance(val, (np.ndarray)):
+ if val.flags.contiguous:
+ val_ = val
+ else:
+ val_ = np.array(val, copy=True)
+ else:
+ val_ = np.array(val)
+
+ atype = np2adiostype(val_.dtype)
+
+ cdef char * pt1
+ cdef char ** pt2
+ if (val_.dtype.char == 'S'):
+ if (val_.size == 1):
+ pt1 = PyString_AsString(val)
+ adios_define_attribute_byvalue (group,
+ name,
+ path,
+ DATATYPE.string,
+ 1,
+ <void *> pt1)
+ else:
+ pt2 = to_cstring_array(val)
+ adios_define_attribute_byvalue (group,
+ name,
+ path,
+ DATATYPE.string_array,
+ len(val),
+ <void *> pt2)
+ free(pt2)
+ else:
+ adios_define_attribute_byvalue (group,
+ name,
+ path,
+ <ADIOS_DATATYPES> atype,
+ val_.size,
+ <void *> val_.data)
+
cpdef int select_method (int64_t group,
char * method,
char * parameters = "",
@@ -365,34 +461,37 @@ cpdef int select_method (int64_t group,
## ADIOS Read API (V2)
## ====================
-cdef type adios2nptype(ADIOS_DATATYPES t):
- cdef type ntype = None
+cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1):
+ """ strlen apply only to string type """
+ cdef np.dtype ntype = None
if t == adios_byte:
- ntype = np.int8
+ ntype = np.dtype(np.int8)
elif t == adios_short:
- ntype = np.int16
+ ntype = np.dtype(np.int16)
elif t == adios_integer:
- ntype = np.int32
+ ntype = np.dtype(np.int32)
elif t == adios_long:
- ntype = np.int64
+ ntype = np.dtype(np.int64)
elif t == adios_unsigned_byte:
- ntype = np.uint8
+ ntype = np.dtype(np.uint8)
elif t == adios_unsigned_short:
- ntype = np.uint16
+ ntype = np.dtype(np.uint16)
elif t == adios_unsigned_integer:
- ntype = np.uint32
+ ntype = np.dtype(np.uint32)
elif t == adios_unsigned_long:
- ntype = np.uint64
+ ntype = np.dtype(np.uint64)
elif t == adios_real:
- ntype = np.float32
+ ntype = np.dtype(np.float32)
elif t == adios_double:
- ntype = np.float64
+ ntype = np.dtype(np.float64)
elif t == adios_long_double:
- ntype = np.float128
+ ntype = np.dtype(np.float128)
elif t == adios_complex:
- ntype = np.complex64
+ ntype = np.dtype(np.complex64)
elif t == adios_double_complex:
- ntype = np.complex128
+ ntype = np.dtype(np.complex128)
+ elif t == adios_string:
+ ntype = np.dtype((np.str_, strlen))
else:
ntype = None
@@ -413,32 +512,33 @@ cdef printfile(ADIOS_FILE * f):
cdef printvar(ADIOS_VARINFO * v):
print '%15s : %d' % ('varid', v.varid)
- print '%15s : %s' % ('type', adios2nptype(v.type))
+ print '%15s : %s' % ('type', adios2npdtype(v.type))
print '%15s : %d' % ('ndim', v.ndim)
print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
print '%15s : %d' % ('nsteps', v.nsteps)
cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
if (name == "BP"):
- method = ADIOS_READ_METHOD_BP
+ method = READ_METHOD.BP
elif (name == "BP_AGGREGATE"):
- method = ADIOS_READ_METHOD_BP_AGGREGATE
+ method = READ_METHOD.BP_AGGREGATE
elif (name == "DATASPACES"):
- method = ADIOS_READ_METHOD_DATASPACES
+ method = READ_METHOD.DATASPACES
elif (name == "DIMES"):
- method = ADIOS_READ_METHOD_DIMES
+ method = READ_METHOD.DIMES
elif (name == "FLEXPATH"):
- method = ADIOS_READ_METHOD_FLEXPATH
+ method = READ_METHOD.FLEXPATH
elif (name == "ICEE"):
- method = ADIOS_READ_METHOD_ICEE
+ method = READ_METHOD.ICEE
else:
print '[WARN] Invalid read method name:', name, '. Use default BP method'
- method = ADIOS_READ_METHOD_BP
+ method = READ_METHOD.BP
return method
-cpdef np2adiostype(type nptype):
- """ Ignored: int_, intc, intp """
+cpdef np2adiostype(np.dtype nptype):
+ """ Convert Numpy.dtype to Adios Datatype
+ """
cdef atype = DATATYPE.unknown
@@ -474,11 +574,16 @@ cpdef np2adiostype(type nptype):
atype = DATATYPE.complex
elif (nptype == np.complex128):
atype = DATATYPE.double_complex
- elif (nptype == np.str_):
- atype = DATATYPE.byte
+ elif (nptype.char == 'S'):
+ atype = DATATYPE.string
+ else:
+ atype = DATATYPE.unknown
return atype
+cpdef str adiostype2string (ADIOS_DATATYPES type):
+ return str(adios_type_to_string(<ADIOS_DATATYPES> type))
+
## ====================
## ADIOS Class Definitions for Read
## ====================
@@ -496,29 +601,88 @@ cpdef int read_finalize(char * method_name = "BP"):
cdef method = str2adiosreadmethod(method_name)
return adios_read_finalize_method (method)
-""" Python class for ADIOS_FILE structure """
+## Python class for ADIOS_FILE structure
cdef class file:
- """ Private Memeber """
+ """
+ file class for Adios file read and write.
+
+ Args:
+ fname (str): filename.
+ method_name (str, optional): Adios read method (default: 'BP').
+ comm (MPI_Comm, optional): MPI_comm for parallel read/write (default: MPI_COMM_WORLD).
+ is_stream (bool, optional): Set True if use stream reader (default: False).
+ lock_mode (int, optional): ADIOS_LOCKMODE for stream reader (default: ADIOS_LOCKMODE_ALL).
+ timeout_sec (float, optional): Timeout seconds for stream reader (default: 0.0).
+
+ Example:
+
+ >>> import adios as ad
+ >>> f = ad.file('adiosfile.bp')
+
+ """
+
cpdef ADIOS_FILE * fp
-
- """ Public Memeber """
- cpdef public bytes name
- cpdef public int nvars
- cpdef public int nattrs
- cpdef public int current_step
- cpdef public int last_step
- cpdef public int endianness
- cpdef public int version
- cpdef public int file_size
+ cpdef bytes name
+ cpdef int nvars
+ cpdef int nattrs
+ cpdef int current_step
+ cpdef int last_step
+ cpdef int endianness
+ cpdef int version
+ cpdef int file_size
+ cpdef bint is_stream
+ ## Public Memeber
cpdef public dict var
cpdef public dict attr
- cpdef public bint is_stream
+ property name:
+ """ The filename (or stream name) associated with. """
+ def __get__(self):
+ return self.name
+
+ property nvars:
+ """ The number of variables. """
+ def __get__(self):
+ return self.nvars
+
+ property nattrs:
+ """ The number of attributes. """
+ def __get__(self):
+ return self.nattrs
+
+ property current_step:
+ """ The current timestep index. """
+ def __get__(self):
+ return self.current_step
+
+ property last_step:
+ """ The last timestep index. """
+ def __get__(self):
+ return self.last_step
+
+ property endianness:
+ """ The endianness of the stored data. """
+ def __get__(self):
+ return self.endianness
+
+ property version:
+ """ The version of Adios. """
+ def __get__(self):
+ return self.version
+
+ property file_sizec:
+ """ The size of Adios file. """
+ def __get__(self):
+ return self.file_size
+
+ property is_stream:
+ """ Indicating reader type; file reader or stream reader """
+ def __get__(self):
+ return self.is_stream
- """ Initialization. Call adios_read_open and populate public members """
def __init__(self, char * fname,
- char * method_name = "BP",
+ char * method_name = 'BP',
MPI_Comm comm = MPI_COMM_WORLD,
is_stream = False,
ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
@@ -546,43 +710,147 @@ cdef class file:
self.version = self.fp.version
self.file_size = self.fp.file_size
- for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]:
- self.var[varname] = var(self, varname)
+ for name in [self.fp.var_namelist[i] for i in range(self.nvars)]:
+ self.var[name] = var(self, name)
+
+ for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]:
+ self.attr[name] = attr(self, name)
def __del__(self):
- self.close()
+ """ Close file on destruction. """
+ self.close()
- """ Call adios_read_close """
cpdef close(self):
+ """ Close the open file. """
assert self.fp != NULL, 'Not an open file'
adios_read_close(self.fp)
self.fp = NULL
- """ Print self """
cpdef printself(self):
+ """ Print native ADIOS_FILE structure. """
assert self.fp != NULL, 'Not an open file'
print '=== AdiosFile ==='
print '%15s : %lu' % ('fp', <unsigned long> self.fp)
printfile(self.fp)
cpdef advance(self, int last = 0, float timeout_sec = 0.0):
- return adios_advance_step(self.fp, last, timeout_sec)
+ """
+ Advance a timestep for stream reader.
+
+ Args:
+ last (int, optional): last timestep index (default: 0).
+ timeout_sec (float, optional): timeout seconds (default: 0.0).
+
+ Returns:
+ int: 0 if successful, non-zero otherwise.
+ """
+ val = adios_advance_step(self.fp, last, timeout_sec)
+ if (val >= 0):
+ self.current_step = self.fp.current_step
+ self.last_step = self.fp.last_step
+
+ for v in self.var.values():
+ v.advance()
+
+ return val
+
+ def __getitem__(self, varname):
+ """
+ Return Adios variable.
+
+ Args:
+ varname (str): variable name.
+
+ Raises:
+ KeyError: If no varname exists.
+
+ """
+ if not isinstance(varname, tuple):
+ varname = (varname,)
+
+ if len(varname) > 1:
+ raise KeyError(varname)
+
+ for key_ in varname:
+ if not isinstance(key_, str):
+ raise TypeError("Unhashable type")
+
+ if key_ in self.var.keys():
+ return self.var.get(key_)
+ elif key_ in self.attr.keys():
+ return self.attr.get(key_)
+ else:
+ raise KeyError(key_)
+
+ def __repr__(self):
+ """ Return string representation. """
+ return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ "current_step=%r, last_step=%r, file_size=%r)") % \
+ (self.fp.path,
+ self.nvars,
+ self.var.keys(),
+ self.nattrs,
+ self.attr.keys(),
+ self.current_step,
+ self.last_step,
+ self.file_size)
-""" Python class for ADIOS_VARINFO structure """
cdef class var:
- """ Private Memeber """
+ """
+ Adios variable class.
+
+ Unlike attributes whose values are populated on initialization,
+ variable's values will be returned by explicitly calling read() or
+ array access interface ([]).
+
+ Args:
+ file (file): Associated file class
+ name (str): variable name
+
+ Note:
+ Users do not need to create this class manually.
+ """
+
cdef file file
cdef ADIOS_VARINFO * vp
- """ Public Memeber """
- cpdef public bytes name
- cpdef public int varid
- cpdef public type type
- cpdef public int ndim
- cpdef public tuple dims
- cpdef public int nsteps
+ cpdef bytes name
+ cpdef int varid
+ cpdef np.dtype dtype
+ cpdef int ndim
+ cpdef tuple dims
+ cpdef int nsteps
+
+ property name:
+ """ The variable name. """
+ def __get__(self):
+ return self.name
+
+ property varid:
+ """ Internal variable id. """
+ def __get__(self):
+ return self.varid
+
+ property dtype:
+ """ Variable type as in numpy.dtype. """
+ def __get__(self):
+ return self.dtype
+
+ property ndim:
+ """ The number of dimensions of the variable. """
+ def __get__(self):
+ return self.ndim
+
+ property dims:
+ """ The shape of the variable. """
+ def __get__(self):
+ return self.dims
+
+ property nsteps:
+ """ The number of time steps of the variable. """
+ def __get__(self):
+ return self.nsteps
- """ Initialization. Call adios_inq_var and populate public members """
def __init__(self, file file, char * name):
self.file = file
self.vp = NULL
@@ -592,26 +860,87 @@ cdef class var:
assert self.vp != NULL, 'Not a valid var'
self.name = name
- self.varid = self.vp.varid
- self.type = adios2nptype(self.vp.type)
+ self.varid = self.vp.varid
self.ndim = self.vp.ndim
self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
self.nsteps = self.vp.nsteps
-
+
+ if self.vp.type == DATATYPE.string:
+ self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value))
+ else:
+ self.dtype = adios2npdtype(self.vp.type)
+
def __del__(self):
self.close()
- """ Call adios_free_varinfo """
cpdef close(self):
+ """ Close and free variable information """
assert self.vp != NULL, 'Not an open var'
adios_free_varinfo(self.vp)
self.vp = NULL
- """ Call adios_schedule_read and adios_perform_reads """
- cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1):
- assert self.type is not None, 'Data type is not supported yet'
- if (self.nsteps > 0):
- assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ cpdef advance(self):
+ """ Update variable information after the stream advanced """
+ self.vp = adios_inq_var(self.file.fp, self.name)
+ assert self.vp != NULL, 'Not a valid var'
+ self.nsteps = self.vp.nsteps
+
+ cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0):
+ """ Perform read.
+
+ Read data from an ADIOS BP file. Subset reading is
+ supported. Without any options, this will read out a whole
+ data.
+
+ Args:
+ offset (tuple of int, optional): offset (default: ())
+ count (tuple of int, optional): count (default: ())
+ from_steps (int, optional): starting step index (default: None)
+ nsteps (int, optional): number of time dimensions (default: None)
+ fill (value, optional): default fill value (default: 0)
+
+ Returns:
+ NumPy ndarray
+
+ Raises:
+ IndexError: If dimension is mismatched or out of the boundary.
+
+
+ Example:
+
+ The following command will read the full data:
+
+ >>> var.read()
+
+ which is equvalent to
+
+ >>> var[]
+
+
+ The following command is for subset reading:
+
+ >>> var.read(offset=(1,2), count=(3,4))
+
+ which will return an 3x4 array offset by (1,2) in the original
+ data. With Numpy's array notation, the following command does the same job:
+
+ >>> var[1:4, 2:6]
+
+ Similarly, the following two commands are same:
+
+ >>> var.read(count=(5,6))
+ >>> var[:5, :6]
+
+ """
+ if from_steps is None:
+ from_steps = 0 ##self.file.current_step
+
+ if nsteps is None:
+ nsteps = self.file.last_step - from_steps + 1
+
+ assert self.dtype is not None, 'Data type is not supported yet'
+ if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps):
+ raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)]
cdef np.ndarray npshape = np.array(lshape, dtype=np.int64)
@@ -629,36 +958,520 @@ cdef class var:
else:
npcount = np.array(count, dtype=np.int64)
- assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
- assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.'
- assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ if npshape.ndim != npoffset.ndim:
+ raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim))
+
+ if npshape.ndim != npcount.ndim:
+ raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim))
+
+ if (npshape < npcount + npoffset).any():
+ raise IndexError('Requested is larger than the shape.')
shape = list(npcount)
if (nsteps > 1):
shape.insert(0, nsteps)
- cdef np.ndarray var = np.zeros(shape, dtype=self.type)
+ cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
+
+ if len(shape) > 0:
+ var[:] = fill
cdef ADIOS_SELECTION * sel
sel = adios_selection_boundingbox (self.vp.ndim, <uint64_t *> npoffset.data, <uint64_t *> npcount.data)
-
+
+ ##print 'npoffset', npoffset
+ ##print 'npcount', npcount
+
adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data)
adios_perform_reads(self.file.fp, 1)
- return var
+ ## Try not to return as scalar to be consistent
+ ##if (var.ndim == 0):
+ ## return np.asscalar(var)
+ ##else:
+ ## return var
+ return np.squeeze(var)
- """ Print self """
cpdef printself(self):
+ """ Print native ADIOS_VARINFO structure. """
assert self.vp != NULL, 'Not an open variable'
print '=== AdiosVariable ==='
print '%15s : %lu' % ('vp', <unsigned long> self.vp)
print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
printvar(self.vp)
+
+ def __repr__(self):
+ return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ (self.varid,
+ self.dtype,
+ self.ndim,
+ self.dims,
+ self.nsteps)
+
+ def __getitem__(self, index):
+ ndim_ = self.ndim
+ if (self.nsteps) > 1: ndim_ += 1
+
+ index_ = __parse_index(index, ndim_)
+ if (ndim_ > 0) and (len(index_) > ndim_):
+ raise IndexError("Too many indices for data")
+
+ if (ndim_ == 0) and (len(index_) > 1):
+ raise IndexError("Too many indices for data")
+
+ for slice_ in index_:
+ if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ if isinstance(slice_, str):
+ raise IndexError("Name index (%r) is not supported." % (slice_))
+
+ if (self.nsteps) > 1:
+ dims_ = list(self.dims)
+ dims_.insert(0, self.nsteps)
+ indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ z = zip(*indices)
+
+ from_steps_ = z[0][0]
+ nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ offset_ = z[0][1:]
+ count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ else:
+ indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ z = zip(*indices)
+
+ if len(z) == 0:
+ from_steps_ = 0
+ nsteps_ = self.nsteps
+ offset_ = ()
+ count_ = ()
+ else:
+ from_steps_ = 0
+ nsteps_ = self.nsteps
+ offset_ = z[0]
+ count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1)
+
+ ##print "from_steps", from_steps_
+ ##print "nsteps", nsteps_
+ ##print "offset", offset_
+ ##print "count", count_
+
+ return self.read(offset=offset_,
+ count=count_,
+ from_steps=from_steps_,
+ nsteps=nsteps_)
+
+cdef class attr:
+ """
+ Adios attribute class.
+
+ Attribute values are loaded on initialization.
+
+ Args:
+ attr_name (str): attribute name
+
+ Raises:
+ KeyError: If no attribute name exists.
+
+ Note:
+ Users do not need to create this class manually.
+ """
+ cdef file file
+ cpdef bytes name
+ cpdef np.dtype dtype
+ cdef np.ndarray value
+
+ property name:
+ """ The attribute name """
+ def __get__(self):
+ return self.name
+
+ property dtype:
+ """ The attribute type as in numpy.dtype """
+ def __get__(self):
+ return self.dtype
+
+ property value:
+ """ The attribute's value """
+ def __get__(self):
+ return self.value
+
+ def __init__(self, file file, char * name):
+ self.file = file
+ self.name = name
+
+ cdef int64_t p
+ cdef ADIOS_DATATYPES atype
+ cdef int bytes
+ cdef list strlist
+ cdef int len
+
+ err = adios_get_attr(self.file.fp, self.name, &atype, &bytes, <void **> &p)
+
+ if err == 0:
+ if atype == DATATYPE.string:
+ bytes = bytes - 1 ## Remove the NULL terminal
+ self.dtype = adios2npdtype(atype, bytes)
+ if atype == DATATYPE.string_array:
+ strlist = list()
+ len = bytes/sizeof(p)
+ for i in range(len):
+ strlist.append((<char **>p)[i])
+ self.value = np.array(strlist)
+ self.dtype = self.value.dtype
+
+ elif self.dtype is None:
+ print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \
+ (self.name, atype, bytes)
+ else:
+ len = bytes/self.dtype.itemsize
+ if len == 1:
+ self.value = np.array(len, dtype=self.dtype)
+ else:
+ self.value = np.zeros(len, dtype=self.dtype)
+ self.value.data = <char *> p
+ else:
+ raise KeyError(name)
+
+ def __repr__(self):
+ return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ (self.name, self.dtype, self.value)
+
+
+## Helper dict
+cdef class smartdict(dict):
+ cdef factory
+ def __init__(self, factory):
+ dict.__init__(self)
+ self.factory = factory
+
+ def __setitem__(self, key, value):
+ if key in dict.keys(self):
+ dict.__setitem__(self, key, value)
+ else:
+ self.factory(key, value)
+
+cdef class writer:
+ """
+ writer class for Adios write.
+
+ Args:
+ fname (str): filename.
+ is_noxml (bool, optional): Set True if use noxml APIs (default: True).
+ comm (MPI_Comm, optional): MPI_comm for parallel read/write (default: MPI_COMM_WORLD).
+
+ Example:
+
+ >>> import adios as ad
+ >>> f = ad.writer('adiosfile.bp')
+
+ """
+
+ cdef int64_t gid
+ cpdef bytes fname
+ cpdef bytes gname
+ cpdef bytes method
+ cpdef bytes method_params
+ cpdef bint is_noxml
+ cpdef MPI_Comm comm
+
+ cpdef dict var
+ cpdef dict attr
+
+ property fname:
+ """ The filename to write. """
+ def __get__(self):
+ return self.fname
+
+ property gname:
+ """ The groupname associated with the file. """
+ def __get__(self):
+ return self.gname
+
+ property is_noxml:
+ """ Boolean to indicate using No-XML or not. """
+ def __get__(self):
+ return self.is_noxml
+
+ property var:
+ """ Dictionary of variables to write. """
+ def __get__(self):
+ return self.var
+
+ property attr:
+ """ Dictionary of attributes to write. """
+ def __get__(self):
+ return self.attr
+
+ def __init__(self,char * fname,
+ bint is_noxml = True,
+ MPI_Comm comm = MPI_COMM_WORLD):
+ self.fname = fname
+ self.method = <bytes>""
+ self.method_params = <bytes>""
+ self.is_noxml = is_noxml
+ self.comm = comm
+ self.var = dict()
+ self.attr = dict()
+
+ ##def __var_factory__(self, name, value):
+ ## print "var_factory:", name, value
+ ##
+ ##def __attr_factory__(self, name, value):
+ ## print "attr_factory:", name, value
+
+ def declare_group(self, char * gname,
+ char * method = "POSIX1",
+ char * method_params = ""):
+ """
+ Define a group associated with the file.
+
+ Args:
+ gname (str): group name.
+ method (str, optional): Adios write method (default: 'POSIX1')
+ method_params (str, optional): parameters for the write method (default: '')
+
+ Example:
+
+ >>> fw.declare_group('group', method='MPI_, method_params='verbose=3')
+
+ """
+ self.gid = declare_group(gname, "", 1)
+ self.gname = gname
+ self.method = method
+ self.method_params = method_params
+ select_method(self.gid, self.method, self.method_params, "")
+
+ def define_var(self, char * varname,
+ ldim = tuple(),
+ gdim = tuple(),
+ offset = tuple()):
+ """
+ Define a variable associated with the file.
+
+ Args:
+ varname (str): variable name.
+ ldim (tuple, optional): local dimension (default: tuple())
+ gdim (tuple, optional): global dimension (default: tuple())
+ offset (tuple, optional): offset (default: tuple())
+
+ Example:
+
+ Write 'temperature' variable of size of 2x3 array.
+
+ >>> fw.define_var ('temperature', (2,3))
+
+ """
+ self.var[varname] = varinfo(varname, ldim, gdim, offset)
+
+ def define_attr(self, char * attrname):
+ """
+ Define attribute in the file.
+
+ Args:
+ attrname (str): attribute name.
+ """
+
+ self.attr[attrname] = attrinfo(attrname, is_static=True)
+
+ def define_dynamic_attr(self, char * attrname,
+ char * varname,
+ dtype):
+ self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ def __setitem__(self, name, val):
+ if self.var.has_key(name):
+ self.var[name].value = val
+ elif self.attr.has_key(name):
+ self.attr[name].value = val
+ else:
+ self.var[name] = val
+
+ def __getitem__(self, name):
+ if self.var.has_key(name):
+ return self.var[name].value
+ elif self.attr.has_key(name):
+ return self.attr[name].value
+ else:
+ raise KeyError(name)
+
+ def close(self):
+ """
+ Write variables and attributes to a file and close the writer.
+ """
+ fd = open(self.gname, self.fname, "w")
+
+ extra_var = dict()
+ extra_attr = dict()
+
+ for key, val in self.var.iteritems():
+ if not isinstance(val, varinfo):
+ n = np.array(val)
+ extra_var[key] = varinfo(key, n.shape)
+ extra_var[key].value = val
+ else:
+ if self.is_noxml: val.define(self.gid)
+
+ for key, val in extra_var.iteritems():
+ if self.is_noxml: val.define(self.gid)
+ self.var[key] = val
+
+ for key, val in self.attr.iteritems():
+ if not isinstance(val, attrinfo):
+ extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
+ else:
+ if self.is_noxml: val.define(self.gid)
+
+ for key, val in extra_attr.iteritems():
+ if self.is_noxml: val.define(self.gid)
+
+ groupsize = 0
+ for var in self.var.values():
+ groupsize = groupsize + var.bytes()
+
+ set_group_size(fd, groupsize)
+
+ for var in self.var.values():
+ var.write(fd)
+
+ close(fd)
+
+ def __repr__(self):
+ return ("AdiosWriter (fname=%r, gname=%r, "
+ "method=%r, method_params=%r, var=%r, attr=%r)") % \
+ (self.fname,
+ self.gname,
+ self.method,
+ self.method_params,
+ self.var.keys(),
+ self.attr.keys())
+
+cdef class attrinfo:
+ cdef bytes name
+ cdef bint is_static # Use define_byvalue, if True
+ cdef dtype
+ cdef value # Either varname or nparray
+
+ property name:
+ def __get__(self):
+ return self.name
+
+ property is_static:
+ def __get__(self):
+ return self.is_static
+
+ property dtype:
+ def __get__(self):
+ return self.dtype
+
+ property value:
+ def __get__(self):
+ return self.value
+
+ def __set__(self, value):
+ self.value = value
+
+ def __init__(self, char * name,
+ value = None,
+ dtype = None,
+ bint is_static = True):
+ self.name = name
+ self.value = value
+ self.dtype = dtype
+ self.is_static = is_static
+
+ def define(self, int64_t gid):
+ if self.is_static:
+ if self.value is None:
+ raise TypeError("Value is none")
+
+ define_attribute_byvalue(gid, self.name, "", self.value)
+ else:
+ ##atype = np2adiostype(np.dtype(self.dtype))
+ ##define_attribute(gid, self.name, "",
+ ## atype, "", str(self.value))
+ raise NotImplementedError
+
+ def __repr__(self):
+ return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ (self.name,
+ self.is_static,
+ self.value,
+ self.dtype)
+
+cdef class varinfo:
+ cdef bytes name
+ cdef public ldim
+ cdef public gdim
+ cdef public offset
+ cdef public value
+
+ def __init__(self, char * name,
+ ldim = tuple(),
+ gdim = tuple(),
+ offset = tuple()):
+ self.name = name
+ self.ldim = ldim
+ self.gdim = gdim
+ self.offset = offset
+
+ def define(self, int64_t gid):
+ if self.value is None:
+ raise TypeError("Value is none")
+
+ ldim_ = self.ldim
+ if isinstance(self.ldim, (tuple, list)):
+ ldim_ = tuple(self.ldim)
+
+ gdim_ = self.gdim
+ if isinstance(self.gdim, (tuple, list)):
+ gdim_ = tuple(self.gdim)
+
+ offset_ = self.offset
+ if isinstance(self.offset, (tuple, list)):
+ offset_ = tuple(self.offset)
+
+ val_ = self.value
+ if not isinstance(self.value, (np.ndarray)):
+ val_ = np.array(self.value)
+
+ atype = np2adiostype(val_.dtype)
+ ## No space allowed
+ define_var(gid, self.name, "", atype,
+ str(ldim_).replace(' ', '').strip('(,)'),
+ str(gdim_).replace(' ', '').strip('(,)'),
+ str(offset_).replace(' ', '').strip('(,)'))
+
+ def bytes(self):
+ val_ = self.value
+ if not isinstance(self.value, (np.ndarray)):
+ val_ = np.array(self.value)
+
+ return val_.size * val_.itemsize
+
+ def write(self, int64_t fd):
+ val_ = self.value
+ if not isinstance(self.value, (np.ndarray)):
+ val_ = np.array(self.value)
+
+ write(fd, self.name, val_)
+
+ def __repr__(self):
+ return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ (self.name, self.ldim, self.gdim, self.offset, self.value)
+
## ====================
## ADIOS Global functions
## ====================
def readvar(fname, varname):
+ """ Retrieve a variable value from an Adios file.
+
+ Args:
+ fname (str): Adios file name
+ varname (str): Variable name to retrieve
+
+ Returns:
+ NumPy ndarray: variable value
+ """
f = file(fname, comm=MPI_COMM_SELF)
if not f.var.has_key(varname):
print "No valid variable"
@@ -668,6 +1481,14 @@ def readvar(fname, varname):
return v.read(from_steps=0, nsteps=v.nsteps)
def bpls(fname):
+ """ Return meta data of an Adios file as a Python dictionary object.
+
+ Args:
+ fname (str): Adios file name
+
+ Returns:
+ dict: Adios file meta data
+ """
f = file(fname, comm=MPI_COMM_SELF)
return {'nvars': f.nvars,
'nattrs': f.nattrs,
diff --git a/wrappers/numpy/adios_mpi.cpp b/wrappers/numpy/adios_mpi.cpp
index c8671db..ffaa23b 100644
--- a/wrappers/numpy/adios_mpi.cpp
+++ b/wrappers/numpy/adios_mpi.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.21.1 */
+/* Generated by Cython 0.22 */
#define PY_SSIZE_T_CLEAN
#ifndef CYTHON_USE_PYLONG_INTERNALS
@@ -19,7 +19,7 @@
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
#error Cython requires Python 2.6+ or Python 3.2+.
#else
-#define CYTHON_ABI "0_21_1"
+#define CYTHON_ABI "0_22"
#include <stddef.h>
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
@@ -54,7 +54,7 @@
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 1
#endif
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
#define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
@@ -203,11 +203,22 @@ static CYTHON_INLINE float __PYX_NAN() {
return value;
}
#endif
+#define __Pyx_void_to_None(void_result) (void_result, Py_INCREF(Py_None), Py_None)
#ifdef __cplusplus
template<typename T>
void __Pyx_call_destructor(T* x) {
x->~T();
}
+template<typename T>
+class __Pyx_FakeReference {
+ public:
+ __Pyx_FakeReference() : ptr(NULL) { }
+ __Pyx_FakeReference(T& ref) : ptr(&ref) { }
+ T *operator->() { return ptr; }
+ operator T&() { return *ptr; }
+ private:
+ T *ptr;
+};
#endif
@@ -299,11 +310,11 @@ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#endif
#define __Pyx_PyObject_AsSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
-#define __Pyx_PyObject_FromUString(s) __Pyx_PyObject_FromString((const char*)s)
-#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((const char*)s)
-#define __Pyx_PyByteArray_FromUString(s) __Pyx_PyByteArray_FromString((const char*)s)
-#define __Pyx_PyStr_FromUString(s) __Pyx_PyStr_FromString((const char*)s)
-#define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((const char*)s)
+#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
+#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
+#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
+#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
+#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
{
@@ -339,7 +350,7 @@ static int __Pyx_init_sys_getdefaultencoding_params(void) {
const char* default_encoding_c;
sys = PyImport_ImportModule("sys");
if (!sys) goto bad;
- default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
+ default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
Py_DECREF(sys);
if (!default_encoding) goto bad;
default_encoding_c = PyBytes_AsString(default_encoding);
@@ -453,7 +464,7 @@ static const char *__pyx_f[] = {
"MPI.pxd",
};
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":723
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
* # in Cython to enable them only on the right systems.
*
* ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
@@ -462,7 +473,7 @@ static const char *__pyx_f[] = {
*/
typedef npy_int8 __pyx_t_5numpy_int8_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":724
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":727
*
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
@@ -471,7 +482,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
*/
typedef npy_int16 __pyx_t_5numpy_int16_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":728
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
@@ -480,7 +491,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
*/
typedef npy_int32 __pyx_t_5numpy_int32_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":729
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t
* ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
@@ -489,7 +500,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
*/
typedef npy_int64 __pyx_t_5numpy_int64_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":730
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
* #ctypedef npy_int128 int128_t
*
* ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
@@ -498,7 +509,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
*/
typedef npy_uint8 __pyx_t_5numpy_uint8_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":731
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":734
*
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
@@ -507,7 +518,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
*/
typedef npy_uint16 __pyx_t_5numpy_uint16_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":735
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
@@ -516,7 +527,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
*/
typedef npy_uint32 __pyx_t_5numpy_uint32_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":736
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t
* ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
@@ -525,7 +536,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
*/
typedef npy_uint64 __pyx_t_5numpy_uint64_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":737
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
* #ctypedef npy_uint128 uint128_t
*
* ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
@@ -534,7 +545,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
*/
typedef npy_float32 __pyx_t_5numpy_float32_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":738
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":741
*
* ctypedef npy_float32 float32_t
* ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
@@ -543,7 +554,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
*/
typedef npy_float64 __pyx_t_5numpy_float64_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":747
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":750
* # The int types are mapped a bit surprising --
* # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t # <<<<<<<<<<<<<<
@@ -552,7 +563,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t;
*/
typedef npy_long __pyx_t_5numpy_int_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":748
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
* # numpy.int corresponds to 'l' and numpy.long to 'q'
* ctypedef npy_long int_t
* ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
@@ -561,7 +572,7 @@ typedef npy_long __pyx_t_5numpy_int_t;
*/
typedef npy_longlong __pyx_t_5numpy_long_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":752
* ctypedef npy_long int_t
* ctypedef npy_longlong long_t
* ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
@@ -570,7 +581,7 @@ typedef npy_longlong __pyx_t_5numpy_long_t;
*/
typedef npy_longlong __pyx_t_5numpy_longlong_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
* ctypedef npy_longlong longlong_t
*
* ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
@@ -579,7 +590,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t;
*/
typedef npy_ulong __pyx_t_5numpy_uint_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":752
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
*
* ctypedef npy_ulong uint_t
* ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
@@ -588,7 +599,7 @@ typedef npy_ulong __pyx_t_5numpy_uint_t;
*/
typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":756
* ctypedef npy_ulong uint_t
* ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
@@ -597,7 +608,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
*/
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
* ctypedef npy_ulonglong ulonglong_t
*
* ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
@@ -606,7 +617,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
*/
typedef npy_intp __pyx_t_5numpy_intp_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":756
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":759
*
* ctypedef npy_intp intp_t
* ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
@@ -615,7 +626,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
*/
typedef npy_uintp __pyx_t_5numpy_uintp_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":761
* ctypedef npy_uintp uintp_t
*
* ctypedef npy_double float_t # <<<<<<<<<<<<<<
@@ -624,7 +635,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
*/
typedef npy_double __pyx_t_5numpy_float_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":759
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
*
* ctypedef npy_double float_t
* ctypedef npy_double double_t # <<<<<<<<<<<<<<
@@ -633,7 +644,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
*/
typedef npy_double __pyx_t_5numpy_double_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":763
* ctypedef npy_double float_t
* ctypedef npy_double double_t
* ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
@@ -682,8 +693,16 @@ struct PyMPIWinObject;
struct PyMPIFileObject;
struct __pyx_obj_9adios_mpi_file;
struct __pyx_obj_9adios_mpi_var;
-
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
+struct __pyx_obj_9adios_mpi_attr;
+struct __pyx_obj_9adios_mpi_smartdict;
+struct __pyx_obj_9adios_mpi_writer;
+struct __pyx_obj_9adios_mpi_attrinfo;
+struct __pyx_obj_9adios_mpi_varinfo;
+struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__;
+struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr;
+struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr;
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
* ctypedef npy_longdouble longdouble_t
*
* ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
@@ -692,7 +711,7 @@ struct __pyx_obj_9adios_mpi_var;
*/
typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":763
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
*
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
@@ -701,7 +720,7 @@ typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
*/
typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":767
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t
* ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
@@ -710,7 +729,7 @@ typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
*/
typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":769
* ctypedef npy_clongdouble clongdouble_t
*
* ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
@@ -720,17 +739,19 @@ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
typedef npy_cdouble __pyx_t_5numpy_complex_t;
struct __pyx_opt_args_9adios_mpi_init;
struct __pyx_opt_args_9adios_mpi_open;
+struct __pyx_opt_args_9adios_mpi_write;
struct __pyx_opt_args_9adios_mpi_finalize;
struct __pyx_opt_args_9adios_mpi_init_noxml;
struct __pyx_opt_args_9adios_mpi_declare_group;
struct __pyx_opt_args_9adios_mpi_define_var;
struct __pyx_opt_args_9adios_mpi_select_method;
+struct __pyx_opt_args_9adios_mpi_adios2npdtype;
struct __pyx_opt_args_9adios_mpi_read_init;
struct __pyx_opt_args_9adios_mpi_read_finalize;
struct __pyx_opt_args_9adios_mpi_4file_advance;
struct __pyx_opt_args_9adios_mpi_3var_read;
-/* "adios_mpi.pyx":258
+/* "adios_mpi.pyx":304
* ## ====================
*
* cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
@@ -742,7 +763,7 @@ struct __pyx_opt_args_9adios_mpi_init {
struct PyMPICommObject *comm;
};
-/* "adios_mpi.pyx":261
+/* "adios_mpi.pyx":307
* return adios_init(config, comm.ob_mpi)
*
* cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
@@ -754,7 +775,19 @@ struct __pyx_opt_args_9adios_mpi_open {
struct PyMPICommObject *comm;
};
-/* "adios_mpi.pyx":302
+/* "adios_mpi.pyx":322
+ * return total_size
+ *
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None): # <<<<<<<<<<<<<<
+ * cdef np.ndarray val_
+ * if isinstance(val, (np.ndarray)):
+ */
+struct __pyx_opt_args_9adios_mpi_write {
+ int __pyx_n;
+ PyObject *dtype;
+};
+
+/* "adios_mpi.pyx":355
* return adios_close(fd_p)
*
* cpdef int finalize(int mype = 0): # <<<<<<<<<<<<<<
@@ -766,7 +799,7 @@ struct __pyx_opt_args_9adios_mpi_finalize {
int mype;
};
-/* "adios_mpi.pyx":308
+/* "adios_mpi.pyx":361
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
@@ -778,7 +811,7 @@ struct __pyx_opt_args_9adios_mpi_init_noxml {
struct PyMPICommObject *comm;
};
-/* "adios_mpi.pyx":316
+/* "adios_mpi.pyx":369
* buffer_size)
*
* cpdef int64_t declare_group(char * name, # <<<<<<<<<<<<<<
@@ -791,7 +824,7 @@ struct __pyx_opt_args_9adios_mpi_declare_group {
int stats;
};
-/* "adios_mpi.pyx":326
+/* "adios_mpi.pyx":379
* return id
*
* cpdef int define_var(int64_t group_id, # <<<<<<<<<<<<<<
@@ -805,8 +838,8 @@ struct __pyx_opt_args_9adios_mpi_define_var {
char *local_offsets;
};
-/* "adios_mpi.pyx":353
- * var)
+/* "adios_mpi.pyx":449
+ * <void *> val_.data)
*
* cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
* char * method,
@@ -818,7 +851,19 @@ struct __pyx_opt_args_9adios_mpi_select_method {
char *base_path;
};
-/* "adios_mpi.pyx":486
+/* "adios_mpi.pyx":463
+ * ## ====================
+ *
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1): # <<<<<<<<<<<<<<
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
+ */
+struct __pyx_opt_args_9adios_mpi_adios2npdtype {
+ int __pyx_n;
+ int strlen;
+};
+
+/* "adios_mpi.pyx":591
*
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
@@ -832,7 +877,7 @@ struct __pyx_opt_args_9adios_mpi_read_init {
char *parameters;
};
-/* "adios_mpi.pyx":494
+/* "adios_mpi.pyx":599
*
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"): # <<<<<<<<<<<<<<
@@ -844,12 +889,12 @@ struct __pyx_opt_args_9adios_mpi_read_finalize {
char *method_name;
};
-/* "adios_mpi.pyx":567
+/* "adios_mpi.pyx":735
* printfile(self.fp)
*
* cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
- * return adios_advance_step(self.fp, last, timeout_sec)
- *
+ * """
+ * Advance a timestep for stream reader.
*/
struct __pyx_opt_args_9adios_mpi_4file_advance {
int __pyx_n;
@@ -857,12 +902,12 @@ struct __pyx_opt_args_9adios_mpi_4file_advance {
float timeout_sec;
};
-/* "adios_mpi.pyx":610
+/* "adios_mpi.pyx":887
+ * self.nsteps = self.vp.nsteps
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0): # <<<<<<<<<<<<<<
+ * """ Perform read.
*
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1): # <<<<<<<<<<<<<<
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
*/
struct __pyx_opt_args_9adios_mpi_3var_read {
int __pyx_n;
@@ -870,6 +915,7 @@ struct __pyx_opt_args_9adios_mpi_3var_read {
PyObject *count;
PyObject *from_steps;
PyObject *nsteps;
+ PyObject *fill;
};
/* "../../../../Library/Python/2.7/lib/python/site-packages/mpi4py/include/mpi4py/MPI.pxd":49
@@ -1134,12 +1180,12 @@ typedef struct PyMPIFileObject PyMPIFileObject;
__PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIFile_Type;
-/* "adios_mpi.pyx":499
+/* "adios_mpi.pyx":604
*
- * """ Python class for ADIOS_FILE structure """
+ * ## Python class for ADIOS_FILE structure
* cdef class file: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cpdef ADIOS_FILE * fp
+ * """
+ * file class for Adios file read and write.
*/
struct __pyx_obj_9adios_mpi_file {
PyObject_HEAD
@@ -1153,18 +1199,18 @@ struct __pyx_obj_9adios_mpi_file {
int endianness;
int version;
int file_size;
+ int is_stream;
PyObject *var;
PyObject *attr;
- int is_stream;
};
-/* "adios_mpi.pyx":571
+/* "adios_mpi.pyx":797
+ * self.file_size)
*
- * """ Python class for ADIOS_VARINFO structure """
* cdef class var: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cdef file file
+ * """
+ * Adios variable class.
*/
struct __pyx_obj_9adios_mpi_var {
PyObject_HEAD
@@ -1173,20 +1219,152 @@ struct __pyx_obj_9adios_mpi_var {
ADIOS_VARINFO *vp;
PyObject *name;
int varid;
- PyObject *type;
+ PyArray_Descr *dtype;
int ndim;
PyObject *dims;
int nsteps;
};
+/* "adios_mpi.pyx":1062
+ * nsteps=nsteps_)
+ *
+ * cdef class attr: # <<<<<<<<<<<<<<
+ * """
+ * Adios attribute class.
+ */
+struct __pyx_obj_9adios_mpi_attr {
+ PyObject_HEAD
+ struct __pyx_obj_9adios_mpi_file *file;
+ PyObject *name;
+ PyArray_Descr *dtype;
+ PyArrayObject *value;
+};
-/* "adios_mpi.pyx":499
+
+/* "adios_mpi.pyx":1140
+ *
+ * ## Helper dict
+ * cdef class smartdict(dict): # <<<<<<<<<<<<<<
+ * cdef factory
+ * def __init__(self, factory):
+ */
+struct __pyx_obj_9adios_mpi_smartdict {
+ PyDictObject __pyx_base;
+ PyObject *factory;
+};
+
+
+/* "adios_mpi.pyx":1152
+ * self.factory(key, value)
+ *
+ * cdef class writer: # <<<<<<<<<<<<<<
+ * """
+ * writer class for Adios write.
+ */
+struct __pyx_obj_9adios_mpi_writer {
+ PyObject_HEAD
+ int64_t gid;
+ PyObject *fname;
+ PyObject *gname;
+ PyObject *method;
+ PyObject *method_params;
+ int is_noxml;
+ struct PyMPICommObject *comm;
+ PyObject *var;
+ PyObject *attr;
+};
+
+
+/* "adios_mpi.pyx":1346
+ * self.attr.keys())
+ *
+ * cdef class attrinfo: # <<<<<<<<<<<<<<
+ * cdef bytes name
+ * cdef bint is_static # Use define_byvalue, if True
+ */
+struct __pyx_obj_9adios_mpi_attrinfo {
+ PyObject_HEAD
+ PyObject *name;
+ int is_static;
+ PyObject *dtype;
+ PyObject *value;
+};
+
+
+/* "adios_mpi.pyx":1399
+ * self.dtype)
+ *
+ * cdef class varinfo: # <<<<<<<<<<<<<<
+ * cdef bytes name
+ * cdef public ldim
+ */
+struct __pyx_obj_9adios_mpi_varinfo {
+ PyObject_HEAD
+ PyObject *name;
+ PyObject *ldim;
+ PyObject *gdim;
+ PyObject *offset;
+ PyObject *value;
+};
+
+
+/* "adios_mpi.pyx":1009
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
+ */
+struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ {
+ PyObject_HEAD
+ PyObject *__pyx_v_dims_;
+ PyObject *__pyx_v_index_;
+ struct __pyx_obj_9adios_mpi_var *__pyx_v_self;
+};
+
+
+/* "adios_mpi.pyx":1030
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr {
+ PyObject_HEAD
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *__pyx_outer_scope;
+ PyObject *__pyx_v_x;
+ PyObject *__pyx_t_0;
+ Py_ssize_t __pyx_t_1;
+ PyObject *(*__pyx_t_2)(PyObject *);
+};
+
+
+/* "adios_mpi.pyx":1038
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr {
+ PyObject_HEAD
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *__pyx_outer_scope;
+ PyObject *__pyx_v_x;
+ PyObject *__pyx_t_0;
+ Py_ssize_t __pyx_t_1;
+ PyObject *(*__pyx_t_2)(PyObject *);
+};
+
+
+
+/* "adios_mpi.pyx":604
*
- * """ Python class for ADIOS_FILE structure """
+ * ## Python class for ADIOS_FILE structure
* cdef class file: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cpdef ADIOS_FILE * fp
+ * """
+ * file class for Adios file read and write.
*/
struct __pyx_vtabstruct_9adios_mpi_file {
@@ -1197,20 +1375,23 @@ struct __pyx_vtabstruct_9adios_mpi_file {
static struct __pyx_vtabstruct_9adios_mpi_file *__pyx_vtabptr_9adios_mpi_file;
-/* "adios_mpi.pyx":571
+/* "adios_mpi.pyx":797
+ * self.file_size)
*
- * """ Python class for ADIOS_VARINFO structure """
* cdef class var: # <<<<<<<<<<<<<<
- * """ Private Memeber """
- * cdef file file
+ * """
+ * Adios variable class.
*/
struct __pyx_vtabstruct_9adios_mpi_var {
PyObject *(*close)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch);
+ PyObject *(*advance)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch);
PyObject *(*read)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_3var_read *__pyx_optional_args);
PyObject *(*printself)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9adios_mpi_var *__pyx_vtabptr_9adios_mpi_var;
+
+/* --- Runtime support code (head) --- */
#ifndef CYTHON_REFNANNY
#define CYTHON_REFNANNY 0
#endif
@@ -1290,18 +1471,76 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
static PyObject *__Pyx_GetBuiltinName(PyObject *name);
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
+ __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \
+ (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \
+ __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
+ __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
+ (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
+ (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
+ __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
+ (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+ int is_list, int wraparound, int boundscheck);
+
+static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb);
+static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb);
+
+static void __Pyx_WriteUnraisable(const char *name, int clineno,
+ int lineno, const char *filename,
+ int full_traceback);
+
+static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyObject* none = _PyList_Extend((PyListObject*)L, v);
+ if (unlikely(!none))
+ return -1;
+ Py_DECREF(none);
+ return 0;
+#else
+ return PyList_SetSlice(L, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, v);
+#endif
+}
+
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
+ PyListObject* L = (PyListObject*) list;
+ Py_ssize_t len = Py_SIZE(list);
+ if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
+ Py_INCREF(x);
+ PyList_SET_ITEM(list, len, x);
+ Py_SIZE(list) = len+1;
+ return 0;
+ }
+ return PyList_Append(list, x);
+}
+#else
+#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
+#endif
+
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+ Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
const char* function_name);
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
- Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
-
static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
const char *name, int exact);
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
+
static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);
#if CYTHON_COMPILING_IN_CPYTHON
@@ -1310,14 +1549,23 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
+#endif
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb);
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb);
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
-static void __Pyx_WriteUnraisable(const char *name, int clineno,
- int lineno, const char *filename,
- int full_traceback);
+#include <string.h>
+
+static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
+
+static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
+
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
+#else
+#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
+#endif
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
@@ -1335,43 +1583,57 @@ static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif
-#include <string.h>
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+#else
+#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#endif
-static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
-#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
- __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \
- (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \
- __Pyx_GetItemInt_Generic(o, to_py_func(i))))
-#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
- __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
- (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
- __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
- (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
- int is_list, int wraparound, int boundscheck);
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
-#endif
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d);
+
+static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
+ int result = PySequence_Contains(seq, item);
+ return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value);
+
+#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound) \
+ __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)
+static CYTHON_INLINE int __Pyx_PyObject_SetSlice(
+ PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+ int has_cstart, int has_cstop, int wraparound);
+
+static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
+
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+ PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+ int has_cstart, int has_cstop, int wraparound);
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
+static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
#else
-#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#define __Pyx_PyList_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop)
+#define __Pyx_PyTuple_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop)
+#endif
+
+#ifndef __PYX_FORCE_INIT_THREADS
+ #define __PYX_FORCE_INIT_THREADS 0
#endif
+static CYTHON_INLINE int __Pyx_div_int(int, int); /* proto */
+
+#define UNARY_NEG_WOULD_OVERFLOW(x) (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
+
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
PyObject *value;
@@ -1392,6 +1654,23 @@ static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o,n,NULL)
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
+ PyTypeObject* tp = Py_TYPE(obj);
+ if (likely(tp->tp_setattro))
+ return tp->tp_setattro(obj, attr_name, value);
+#if PY_MAJOR_VERSION < 3
+ if (likely(tp->tp_setattr))
+ return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
+#endif
+ return PyObject_SetAttr(obj, attr_name, value);
+}
+#else
+#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
+#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
+#endif
+
static CYTHON_INLINE int __Pyx_IterFinish(void);
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
@@ -1414,8 +1693,6 @@ static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict,
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
-
static int __Pyx_SetVtable(PyObject *dict, void *vtable);
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
@@ -1442,18 +1719,18 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
static void __Pyx_AddTraceback(const char *funcname, int c_line,
int py_line, const char *filename);
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
-
-static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
-
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *);
static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
+
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value);
static int __Pyx_Print(PyObject*, PyObject *, int);
@@ -1568,6 +1845,39 @@ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(do
#endif
#endif
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
+
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
+
+#define __Pyx_Generator_USED
+#include <structmember.h>
+#include <frameobject.h>
+typedef PyObject *(*__pyx_generator_body_t)(PyObject *, PyObject *);
+typedef struct {
+ PyObject_HEAD
+ __pyx_generator_body_t body;
+ PyObject *closure;
+ PyObject *exc_type;
+ PyObject *exc_value;
+ PyObject *exc_traceback;
+ PyObject *gi_weakreflist;
+ PyObject *classobj;
+ PyObject *yieldfrom;
+ PyObject *gi_name;
+ PyObject *gi_qualname;
+ int resume_label;
+ char is_running;
+} __pyx_GeneratorObject;
+static __pyx_GeneratorObject *__Pyx_Generator_New(__pyx_generator_body_t body,
+ PyObject *closure, PyObject *name, PyObject *qualname);
+static int __pyx_Generator_init(void);
+static int __Pyx_Generator_clear(PyObject* self);
+#if 1 || PY_VERSION_HEX < 0x030300B0
+static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue);
+#else
+#define __Pyx_PyGen_FetchStopIterationValue(pvalue) PyGen_FetchStopIterationValue(pvalue)
+#endif
+
static int __Pyx_check_binary_version(void);
#if !defined(__Pyx_PyIdentifier_FromString)
@@ -1588,6 +1898,7 @@ static PyObject *__pyx_f_9adios_mpi_4file_close(struct __pyx_obj_9adios_mpi_file
static PyObject *__pyx_f_9adios_mpi_4file_printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9adios_mpi_4file_advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_4file_advance *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_9adios_mpi_3var_advance(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_3var_read *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
@@ -1639,18 +1950,31 @@ static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_File = 0;
/* Module declarations from 'cython' */
+/* Module declarations from 'cpython.string' */
+
/* Module declarations from 'libc.stdint' */
/* Module declarations from 'adios_mpi' */
static PyTypeObject *__pyx_ptype_9adios_mpi_file = 0;
static PyTypeObject *__pyx_ptype_9adios_mpi_var = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi_attr = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi_smartdict = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi_writer = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi_attrinfo = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi_varinfo = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi___pyx_scope_struct____getitem__ = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi___pyx_scope_struct_1_genexpr = 0;
+static PyTypeObject *__pyx_ptype_9adios_mpi___pyx_scope_struct_2_genexpr = 0;
+static char **__pyx_f_9adios_mpi_to_cstring_array(PyObject *); /*proto*/
+static PyObject *__pyx_f_9adios_mpi___parse_index(PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_9adios_mpi_init(char *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_init *__pyx_optional_args); /*proto*/
static int64_t __pyx_f_9adios_mpi_open(char *, char *, char *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_open *__pyx_optional_args); /*proto*/
static int64_t __pyx_f_9adios_mpi_set_group_size(int64_t, uint64_t, int __pyx_skip_dispatch); /*proto*/
-static int __pyx_f_9adios_mpi_write(int64_t, char *, PyArrayObject *, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_9adios_mpi_write(int64_t, char *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_write *__pyx_optional_args); /*proto*/
static int __pyx_f_9adios_mpi_write_int(int64_t, char *, int, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_write_long(int64_t, char *, long, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_write_float(int64_t, char *, float, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_9adios_mpi_write_double(int64_t, char *, double, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_read(int64_t, char *, PyArrayObject *, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_close(int64_t, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_finalize(int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_finalize *__pyx_optional_args); /*proto*/
@@ -1659,102 +1983,159 @@ static int __pyx_f_9adios_mpi_allocate_buffer(int, uint64_t, int __pyx_skip_disp
static int64_t __pyx_f_9adios_mpi_declare_group(char *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_declare_group *__pyx_optional_args); /*proto*/
static int __pyx_f_9adios_mpi_define_var(int64_t, char *, char *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_define_var *__pyx_optional_args); /*proto*/
static int __pyx_f_9adios_mpi_define_attribute(int64_t, char *, char *, int, char *, char *, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_9adios_mpi_define_attribute_byvalue(int64_t, char *, char *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_select_method(int64_t, char *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_select_method *__pyx_optional_args); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_adios2nptype(ADIOS_DATATYPES); /*proto*/
+static PyArray_Descr *__pyx_f_9adios_mpi_adios2npdtype(ADIOS_DATATYPES, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_adios2npdtype *__pyx_optional_args); /*proto*/
static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *); /*proto*/
static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *); /*proto*/
static ADIOS_READ_METHOD __pyx_f_9adios_mpi_str2adiosreadmethod(PyObject *); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyArray_Descr *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_adiostype2string(ADIOS_DATATYPES, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_9adios_mpi_read_init(int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_read_init *__pyx_optional_args); /*proto*/
static int __pyx_f_9adios_mpi_read_finalize(int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_read_finalize *__pyx_optional_args); /*proto*/
#define __Pyx_MODULE_NAME "adios_mpi"
int __pyx_module_is_main_adios_mpi = 0;
/* Implementation of 'adios_mpi' */
+static PyObject *__pyx_builtin_xrange;
+static PyObject *__pyx_builtin_Ellipsis;
static PyObject *__pyx_builtin_range;
+static PyObject *__pyx_builtin_KeyError;
+static PyObject *__pyx_builtin_TypeError;
+static PyObject *__pyx_builtin_IndexError;
+static PyObject *__pyx_builtin_zip;
+static PyObject *__pyx_builtin_NotImplementedError;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_RuntimeError;
-static PyObject *__pyx_pf_9adios_mpi_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, struct PyMPICommObject *__pyx_v_comm); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_2open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, struct PyMPICommObject *__pyx_v_comm); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_6write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_8write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_10write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_12write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_14read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_16close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_18finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPICommObject *__pyx_v_comm); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_24declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_26define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_28define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_value, char *__pyx_v_var); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_30select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_32np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nptype); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_34read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, char *__pyx_v_parameters); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_36read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name); /* proto */
-static int __pyx_pf_9adios_mpi_4file___init__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_2__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_4close(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_6printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_8advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec); /* proto */
+static PyObject *__pyx_pf_9adios_mpi___parse_index(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_index, PyObject *__pyx_v_ndim); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_2init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, struct PyMPICommObject *__pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, struct PyMPICommObject *__pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyObject *__pyx_v_val, PyObject *__pyx_v_dtype); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_10write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_12write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_14write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_16write_double(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, double __pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_18read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_20close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_22finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_24init_noxml(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPICommObject *__pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_26allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_28declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_30define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_32define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_value, char *__pyx_v_var); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_34define_attribute_byvalue(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, PyObject *__pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_36select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_38adios2npdtype(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_t, int __pyx_v_strlen); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_40np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyArray_Descr *__pyx_v_nptype); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_42adiostype2string(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_type); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_44read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, char *__pyx_v_parameters); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_46read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_4name___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_4name_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_9adios_mpi_4file_4name_4__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_5nvars___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_5nvars_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_6nattrs___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_6nattrs_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_12current_step___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_12current_step_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_9last_step___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_9last_step_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_10endianness___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_10endianness_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_7version___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_7version_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_9file_size___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_9file_size_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_3var___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_10file_sizec___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_9is_stream___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_4file___init__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_2__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_4close(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_6printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_8advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_10__getitem__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_varname); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_12__repr__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4file_3var___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
static int __pyx_pf_9adios_mpi_4file_3var_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9adios_mpi_4file_3var_4__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9adios_mpi_4file_4attr___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
static int __pyx_pf_9adios_mpi_4file_4attr_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9adios_mpi_4file_4attr_4__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_4file_9is_stream___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_4file_9is_stream_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, struct __pyx_obj_9adios_mpi_file *__pyx_v_file, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_3var_2__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_3var_4close(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_3var_6read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_3var_8printself(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9adios_mpi_3var_4name___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4name_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4name_4__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9adios_mpi_3var_5varid___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_3var_5varid_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_3var_4type___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4type_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4type_4__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_5dtype___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9adios_mpi_3var_4ndim___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4ndim_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9adios_mpi_3var_4dims___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4dims_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_9adios_mpi_3var_4dims_4__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9adios_mpi_3var_6nsteps___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
-static int __pyx_pf_9adios_mpi_3var_6nsteps_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_38readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_40bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname); /* proto */
+static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, struct __pyx_obj_9adios_mpi_file *__pyx_v_file, char *__pyx_v_name); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_2__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_4close(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_6advance(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_8read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps, PyObject *__pyx_v_fill); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_10printself(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_12__repr__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_11__getitem___genexpr(PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_11__getitem___3genexpr(PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_3var_14__getitem__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_index); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4attr_4name___get__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4attr_5dtype___get__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4attr_5value___get__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_4attr___init__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self, struct __pyx_obj_9adios_mpi_file *__pyx_v_file, char *__pyx_v_name); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_4attr_2__repr__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_9smartdict___init__(struct __pyx_obj_9adios_mpi_smartdict *__pyx_v_self, PyObject *__pyx_v_factory); /* proto */
+static int __pyx_pf_9adios_mpi_9smartdict_2__setitem__(struct __pyx_obj_9adios_mpi_smartdict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_5fname___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_5gname___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_8is_noxml___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_3var___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_4attr___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_6writer___init__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_fname, int __pyx_v_is_noxml, struct PyMPICommObject *__pyx_v_comm); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_2declare_group(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_gname, char *__pyx_v_method, char *__pyx_v_method_params); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_4define_var(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_varname, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_6define_attr(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_attrname); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_8define_dynamic_attr(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_attrname, char *__pyx_v_varname, PyObject *__pyx_v_dtype); /* proto */
+static int __pyx_pf_9adios_mpi_6writer_10__setitem__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_12__getitem__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_14close(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_6writer_16__repr__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_4name___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_9is_static___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_5dtype___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_5value___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_8attrinfo_5value_2__set__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_9adios_mpi_8attrinfo___init__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_value, PyObject *__pyx_v_dtype, int __pyx_v_is_static); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_2define(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self, int64_t __pyx_v_gid); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_4__repr__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo___init__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_2define(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, int64_t __pyx_v_gid); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_4bytes(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_6write(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, int64_t __pyx_v_fd); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_8__repr__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_4ldim___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_4ldim_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_4ldim_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_4gdim___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_4gdim_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_4gdim_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_6offset___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_6offset_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_6offset_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_5value___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_5value_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static int __pyx_pf_9adios_mpi_7varinfo_5value_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_48readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname); /* proto */
+static PyObject *__pyx_pf_9adios_mpi_50bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname); /* proto */
static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
static PyObject *__pyx_tp_new_9adios_mpi_file(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9adios_mpi_var(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi_attr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi_smartdict(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi_writer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi_attrinfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi_varinfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi___pyx_scope_struct____getitem__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_9adios_mpi___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static char __pyx_k_B[] = "B";
static char __pyx_k_H[] = "H";
static char __pyx_k_I[] = "I";
static char __pyx_k_L[] = "L";
static char __pyx_k_O[] = "O";
static char __pyx_k_Q[] = "Q";
+static char __pyx_k_S[] = "S";
static char __pyx_k_b[] = "b";
static char __pyx_k_d[] = "d";
static char __pyx_k_f[] = "f";
@@ -1764,14 +2145,15 @@ static char __pyx_k_i[] = "i";
static char __pyx_k_k[] = "k";
static char __pyx_k_l[] = "l";
static char __pyx_k_q[] = "q";
+static char __pyx_k_t[] = "t";
static char __pyx_k_v[] = "v";
+static char __pyx_k_w[] = "w";
static char __pyx_k_BP[] = "BP";
static char __pyx_k_NO[] = "NO";
static char __pyx_k_Zd[] = "Zd";
static char __pyx_k_Zf[] = "Zf";
static char __pyx_k_Zg[] = "Zg";
-static char __pyx_k__4[] = "";
-static char __pyx_k__8[] = "/";
+static char __pyx_k__7[] = "";
static char __pyx_k_fh[] = "fh";
static char __pyx_k_fp[] = "fp";
static char __pyx_k_np[] = "np";
@@ -1779,26 +2161,37 @@ static char __pyx_k_vp[] = "vp";
static char __pyx_k_MPI[] = "MPI";
static char __pyx_k_NOW[] = "NOW";
static char __pyx_k_YES[] = "YES";
-static char __pyx_k__17[] = "*";
-static char __pyx_k_all[] = "all";
+static char __pyx_k__11[] = "/";
+static char __pyx_k__31[] = " ";
+static char __pyx_k__33[] = "(,)";
+static char __pyx_k__45[] = "*";
+static char __pyx_k_any[] = "any";
static char __pyx_k_doc[] = "__doc__";
static char __pyx_k_end[] = "end";
+static char __pyx_k_get[] = "get";
static char __pyx_k_str[] = "str_";
static char __pyx_k_val[] = "val";
static char __pyx_k_var[] = "var";
+static char __pyx_k_zip[] = "zip";
static char __pyx_k_FLAG[] = "FLAG";
static char __pyx_k_ICEE[] = "ICEE";
+static char __pyx_k_args[] = "args";
static char __pyx_k_bool[] = "bool_";
static char __pyx_k_bpls[] = "bpls";
static char __pyx_k_byte[] = "byte";
+static char __pyx_k_char[] = "char";
static char __pyx_k_comm[] = "comm";
static char __pyx_k_copy[] = "copy";
static char __pyx_k_dims[] = "dims";
static char __pyx_k_fd_p[] = "fd_p";
static char __pyx_k_file[] = "file";
static char __pyx_k_fill[] = "fill";
+static char __pyx_k_gdim[] = "gdim";
+static char __pyx_k_init[] = "__init__";
static char __pyx_k_int8[] = "int8";
+static char __pyx_k_keys[] = "keys";
static char __pyx_k_last[] = "last";
+static char __pyx_k_ldim[] = "ldim";
static char __pyx_k_long[] = "long";
static char __pyx_k_main[] = "__main__";
static char __pyx_k_mode[] = "mode";
@@ -1808,7 +2201,9 @@ static char __pyx_k_ndim[] = "ndim";
static char __pyx_k_path[] = "path";
static char __pyx_k_read[] = "read";
static char __pyx_k_real[] = "real";
+static char __pyx_k_send[] = "send";
static char __pyx_k_size[] = "size";
+static char __pyx_k_step[] = "step";
static char __pyx_k_test[] = "__test__";
static char __pyx_k_type[] = "type";
static char __pyx_k_vars[] = "vars";
@@ -1819,6 +2214,7 @@ static char __pyx_k_DIMES[] = "DIMES";
static char __pyx_k_LATER[] = "LATER";
static char __pyx_k_array[] = "array";
static char __pyx_k_attrs[] = "attrs";
+static char __pyx_k_atype[] = "atype";
static char __pyx_k_bytes[] = "(bytes)";
static char __pyx_k_close[] = "close";
static char __pyx_k_count[] = "count";
@@ -1826,7 +2222,9 @@ static char __pyx_k_dtype[] = "dtype";
static char __pyx_k_flags[] = "flags";
static char __pyx_k_float[] = "float_";
static char __pyx_k_fname[] = "fname";
+static char __pyx_k_gname[] = "gname";
static char __pyx_k_group[] = "group";
+static char __pyx_k_index[] = "index";
static char __pyx_k_int16[] = "int16";
static char __pyx_k_int32[] = "int32";
static char __pyx_k_int64[] = "int64";
@@ -1834,15 +2232,21 @@ static char __pyx_k_numpy[] = "numpy";
static char __pyx_k_nvars[] = "nvars";
static char __pyx_k_print[] = "print";
static char __pyx_k_range[] = "range";
+static char __pyx_k_shape[] = "shape";
static char __pyx_k_short[] = "short";
static char __pyx_k_split[] = "split";
static char __pyx_k_stats[] = "stats";
+static char __pyx_k_strip[] = "strip";
+static char __pyx_k_throw[] = "throw";
static char __pyx_k_uint8[] = "uint8";
static char __pyx_k_value[] = "value";
static char __pyx_k_varid[] = "varid";
+static char __pyx_k_write[] = "write";
static char __pyx_k_zeros[] = "zeros";
static char __pyx_k_15s_lu[] = "%15s : %lu";
+static char __pyx_k_POSIX1[] = "POSIX1";
static char __pyx_k_config[] = "config";
+static char __pyx_k_define[] = "define";
static char __pyx_k_double[] = "double";
static char __pyx_k_import[] = "__import__";
static char __pyx_k_method[] = "method";
@@ -1851,44 +2255,65 @@ static char __pyx_k_nattrs[] = "nattrs";
static char __pyx_k_nsteps[] = "nsteps";
static char __pyx_k_offset[] = "offset";
static char __pyx_k_string[] = "string";
+static char __pyx_k_strlen[] = "strlen";
static char __pyx_k_uint16[] = "uint16";
static char __pyx_k_uint32[] = "uint32";
static char __pyx_k_uint64[] = "uint64";
+static char __pyx_k_values[] = "values";
+static char __pyx_k_xrange[] = "xrange";
static char __pyx_k_Reading[] = "Reading ... ";
static char __pyx_k_UNKNOWN[] = "UNKNOWN";
static char __pyx_k_advance[] = "advance";
+static char __pyx_k_bytes_2[] = "bytes";
static char __pyx_k_complex[] = "complex_";
+static char __pyx_k_factory[] = "factory";
static char __pyx_k_float16[] = "float16";
static char __pyx_k_float32[] = "float32";
static char __pyx_k_float64[] = "float64";
+static char __pyx_k_genexpr[] = "genexpr";
+static char __pyx_k_indices[] = "indices";
static char __pyx_k_integer[] = "integer";
static char __pyx_k_prepare[] = "__prepare__";
static char __pyx_k_readvar[] = "readvar";
+static char __pyx_k_replace[] = "replace";
+static char __pyx_k_setitem[] = "__setitem__";
+static char __pyx_k_squeeze[] = "squeeze";
static char __pyx_k_unknown[] = "unknown";
static char __pyx_k_varname[] = "varname";
static char __pyx_k_version[] = "version";
static char __pyx_k_DATATYPE[] = "DATATYPE";
+static char __pyx_k_Ellipsis[] = "Ellipsis";
static char __pyx_k_FLEXPATH[] = "FLEXPATH";
+static char __pyx_k_KeyError[] = "KeyError";
+static char __pyx_k_attrname[] = "attrname";
static char __pyx_k_float128[] = "float128";
static char __pyx_k_group_id[] = "group_id";
+static char __pyx_k_is_noxml[] = "is_noxml";
static char __pyx_k_itemsize[] = "itemsize";
static char __pyx_k_iterkeys[] = "iterkeys";
static char __pyx_k_qualname[] = "__qualname__";
+static char __pyx_k_subtract[] = "subtract";
+static char __pyx_k_var_dict[] = "var: dict";
static char __pyx_k_AdiosFile[] = "=== AdiosFile ===";
static char __pyx_k_COMM_SELF[] = "COMM_SELF";
+static char __pyx_k_TypeError[] = "TypeError";
static char __pyx_k_adios_mpi[] = "adios_mpi";
+static char __pyx_k_attr_dict[] = "attr: dict";
static char __pyx_k_base_path[] = "base_path";
static char __pyx_k_complex64[] = "complex64";
static char __pyx_k_complex_2[] = "complex";
static char __pyx_k_data_size[] = "data_size";
static char __pyx_k_file_size[] = "file_size";
+static char __pyx_k_is_static[] = "is_static";
static char __pyx_k_is_stream[] = "is_stream";
+static char __pyx_k_iteritems[] = "iteritems";
static char __pyx_k_last_step[] = "last_step";
static char __pyx_k_lock_mode[] = "lock_mode";
static char __pyx_k_metaclass[] = "__metaclass__";
static char __pyx_k_printself[] = "printself";
static char __pyx_k_COMM_WORLD[] = "COMM_WORLD";
static char __pyx_k_DATASPACES[] = "DATASPACES";
+static char __pyx_k_IndexError[] = "IndexError";
static char __pyx_k_ValueError[] = "ValueError";
static char __pyx_k_complex128[] = "complex128";
static char __pyx_k_contiguous[] = "contiguous";
@@ -1901,101 +2326,181 @@ static char __pyx_k_parameters[] = "parameters";
static char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static char __pyx_k_time_index[] = "time_index";
static char __pyx_k_time_steps[] = "time_steps";
+static char __pyx_k_READ_METHOD[] = "READ_METHOD";
static char __pyx_k_buffer_size[] = "buffer_size";
+static char __pyx_k_gdim_object[] = "gdim: object";
+static char __pyx_k_ldim_object[] = "ldim: object";
static char __pyx_k_long_double[] = "long_double";
static char __pyx_k_method_name[] = "method_name";
static char __pyx_k_timeout_sec[] = "timeout_sec";
static char __pyx_k_BP_AGGREGATE[] = "BP_AGGREGATE";
static char __pyx_k_RuntimeError[] = "RuntimeError";
static char __pyx_k_current_step[] = "current_step";
+static char __pyx_k_string_array[] = "string_array";
+static char __pyx_k_value_object[] = "value: object";
static char __pyx_k_var_namelist[] = "var_namelist";
static char __pyx_k_AdiosVariable[] = "=== AdiosVariable ===";
+static char __pyx_k_Value_is_none[] = "Value is none";
static char __pyx_k_attr_namelist[] = "attr_namelist";
static char __pyx_k_local_offsets[] = "local_offsets";
+static char __pyx_k_method_params[] = "method_params";
+static char __pyx_k_offset_object[] = "offset: object";
static char __pyx_k_unsigned_byte[] = "unsigned_byte";
static char __pyx_k_unsigned_long[] = "unsigned_long";
static char __pyx_k_double_complex[] = "double_complex";
static char __pyx_k_unsigned_short[] = "unsigned_short";
static char __pyx_k_Not_a_valid_var[] = "Not a valid var";
static char __pyx_k_Not_an_open_var[] = "Not an open var";
+static char __pyx_k_Unhashable_type[] = "Unhashable type";
static char __pyx_k_Not_an_open_file[] = "Not an open file";
static char __pyx_k_unsigned_integer[] = "unsigned_integer";
static char __pyx_k_BUFFER_ALLOC_WHEN[] = "BUFFER_ALLOC_WHEN";
static char __pyx_k_No_valid_variable[] = "No valid variable";
+static char __pyx_k_The_variable_name[] = " The variable name. ";
static char __pyx_k_global_dimensions[] = "global_dimensions";
+static char __pyx_k_var_read_line_887[] = "var.read (line 887)";
+static char __pyx_k_The_attribute_name[] = " The attribute name ";
+static char __pyx_k_NotImplementedError[] = "NotImplementedError";
+static char __pyx_k_Internal_variable_id[] = " Internal variable id. ";
static char __pyx_k_Not_an_open_variable[] = "Not an open variable";
+static char __pyx_k_The_version_of_Adios[] = " The version of Adios. ";
+static char __pyx_k_The_attribute_s_value[] = " The attribute's value ";
+static char __pyx_k_The_filename_to_write[] = " The filename to write. ";
static char __pyx_k_Use_default_BP_method[] = ". Use default BP method";
-static char __pyx_k_Count_dimension_mismatch[] = "Count dimension mismatch.";
-static char __pyx_k_Offset_dimension_mismatch[] = "Offset dimension mismatch";
-static char __pyx_k_Count_is_larger_than_shape[] = "Count is larger than shape.";
-static char __pyx_k_Step_index_is_out_of_range[] = "Step index is out of range";
+static char __pyx_k_The_size_of_Adios_file[] = " The size of Adios file. ";
+static char __pyx_k_The_last_timestep_index[] = " The last timestep index. ";
+static char __pyx_k_The_number_of_variables[] = " The number of variables. ";
+static char __pyx_k_The_number_of_attributes[] = " The number of attributes. ";
+static char __pyx_k_getitem___locals_genexpr[] = "__getitem__.<locals>.genexpr";
+static char __pyx_k_The_shape_of_the_variable[] = " The shape of the variable. ";
+static char __pyx_k_Too_many_indices_for_data[] = "Too many indices for data";
+static char __pyx_k_The_current_timestep_index[] = " The current timestep index. ";
static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";
+static char __pyx_k_writer_define_var_line_1243[] = "writer.define_var (line 1243)";
+static char __pyx_k_Step_size_d_is_not_supported[] = "Step size (%d) is not supported.";
+static char __pyx_k_Name_index_r_is_not_supported[] = "Name index (%r) is not supported.";
static char __pyx_k_WARN_Invalid_read_method_name[] = "[WARN] Invalid read method name:";
static char __pyx_k_Data_type_is_not_supported_yet[] = "Data type is not supported yet";
-static char __pyx_k_ADIOS_is_freely_available_under[] = "\n ADIOS is freely available under the terms of the BSD license described\n in the COPYING file in the top level directory of this source distribution.\n\n Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.\n";
+static char __pyx_k_Define_a_group_associated_with[] = "\n Define a group associated with the file.\n\n Args:\n gname (str): group name.\n method (str, optional): Adios write method (default: 'POSIX1')\n method_params (str, optional): parameters for the write method (default: '')\n\n Example:\n\n >>> fw.declare_group('group', method='MPI', method_params='verbose=3')\n \n ";
+static char __pyx_k_Perform_read_Read_data_from_an[] = " Perform read.\n\n Read data from an ADIOS BP file. Subset reading is\n supported. Without any options, this will read out a whole\n data.\n\n Args:\n offset (tuple of int, optional): offset (default: ())\n count (tuple of int, optional): count (default: ())\n from_steps (int, optional): starting step index (default: None)\n nsteps (int, optional): number of tim [...]
+static char __pyx_k_The_attribute_type_as_in_numpy[] = " The attribute type as in numpy.dtype ";
+static char __pyx_k_writer_declare_group_line_1221[] = "writer.declare_group (line 1221)";
+static char __pyx_k_AdiosVar_varid_r_dtype_r_ndim_r[] = "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)";
+static char __pyx_k_AdiosVarinfo_name_r_ldim_r_gdim[] = "AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)";
+static char __pyx_k_Boolean_to_indicate_using_No_XM[] = " Boolean to indicate using No-XML or not. ";
+static char __pyx_k_Define_a_variable_associated_wi[] = "\n Define a variable associated with the file.\n\n Args:\n varname (str): variable name.\n ldim (tuple, optional): local dimension (default: tuple())\n gdim (tuple, optional): global dimension (default: tuple())\n offset (tuple, optional): offset (default: tuple())\n\n Example:\n\n Write 'temperature' variable of size of 2x3 array.\n\n >>> fw.define_var [...]
+static char __pyx_k_Dictionary_of_attributes_to_wri[] = " Dictionary of attributes to write. ";
+static char __pyx_k_Dictionary_of_variables_to_writ[] = " Dictionary of variables to write. ";
+static char __pyx_k_Indicating_reader_type_file_rea[] = " Indicating reader type; file reader or stream reader ";
+static char __pyx_k_Step_index_is_out_of_range_from[] = "Step index is out of range: from_steps=%r, nsteps=%r";
+static char __pyx_k_The_endianness_of_the_stored_da[] = " The endianness of the stored data. ";
+static char __pyx_k_The_filename_or_stream_name_ass[] = " The filename (or stream name) associated with. ";
+static char __pyx_k_The_groupname_associated_with_t[] = " The groupname associated with the file. ";
+static char __pyx_k_The_number_of_dimensions_of_the[] = " The number of dimensions of the variable. ";
+static char __pyx_k_The_number_of_time_steps_of_the[] = " The number of time steps of the variable. ";
static char __pyx_k_Users_jyc_project_adios_devel_w[] = "/Users/jyc/project/adios-devel/wrappers/numpy/adios_mpi.pyx";
+static char __pyx_k_Variable_type_as_in_numpy_dtype[] = " Variable type as in numpy.dtype. ";
+static char __pyx_k_Warning_No_support_yet_s_type_d[] = "Warning: No support yet: %s (type=%d, bytes=%d)";
static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";
+static char __pyx_k_ADIOS_ADIOS_python_module_module[] = "ADIOS: ADIOS python module\n\n.. moduleauthor:: Jong Choi <choij at ornl.gov>\n";
+static char __pyx_k_AdiosAttr_name_r_dtype_r_value_r[] = "AdiosAttr (name=%r, dtype=%r, value=%r)";
+static char __pyx_k_AdiosAttrinfo_name_r_is_static_r[] = "AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)";
+static char __pyx_k_AdiosFile_path_r_nvars_r_var_r_n[] = "AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, current_step=%r, last_step=%r, file_size=%r)";
+static char __pyx_k_AdiosWriter_fname_r_gname_r_meth[] = "AdiosWriter (fname=%r, gname=%r, method=%r, method_params=%r, var=%r, attr=%r)";
+static char __pyx_k_Count_dimension_mismatch_count_d[] = "Count dimension mismatch (count dim: %r)";
static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";
static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";
+static char __pyx_k_Offset_dimension_mismatch_offset[] = "Offset dimension mismatch (offset dim: %r)";
static char __pyx_k_Only_contiguous_arrays_are_suppo[] = "Only contiguous arrays are supported.";
+static char __pyx_k_Requested_is_larger_than_the_sha[] = "Requested is larger than the shape.";
static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";
static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";
static PyObject *__pyx_kp_s_15s_d;
static PyObject *__pyx_kp_s_15s_lu;
static PyObject *__pyx_kp_s_15s_s;
+static PyObject *__pyx_kp_s_AdiosAttr_name_r_dtype_r_value_r;
+static PyObject *__pyx_kp_s_AdiosAttrinfo_name_r_is_static_r;
static PyObject *__pyx_kp_s_AdiosFile;
+static PyObject *__pyx_kp_s_AdiosFile_path_r_nvars_r_var_r_n;
+static PyObject *__pyx_kp_s_AdiosVar_varid_r_dtype_r_ndim_r;
static PyObject *__pyx_kp_s_AdiosVariable;
+static PyObject *__pyx_kp_s_AdiosVarinfo_name_r_ldim_r_gdim;
+static PyObject *__pyx_kp_s_AdiosWriter_fname_r_gname_r_meth;
static PyObject *__pyx_n_s_BP;
static PyObject *__pyx_n_s_BP_AGGREGATE;
static PyObject *__pyx_n_s_BUFFER_ALLOC_WHEN;
static PyObject *__pyx_n_s_COMM_SELF;
static PyObject *__pyx_n_s_COMM_WORLD;
-static PyObject *__pyx_kp_s_Count_dimension_mismatch;
-static PyObject *__pyx_kp_s_Count_is_larger_than_shape;
+static PyObject *__pyx_kp_s_Count_dimension_mismatch_count_d;
static PyObject *__pyx_n_s_DATASPACES;
static PyObject *__pyx_n_s_DATATYPE;
static PyObject *__pyx_n_s_DIMES;
static PyObject *__pyx_kp_s_Data_type_is_not_supported_yet;
+static PyObject *__pyx_kp_u_Define_a_group_associated_with;
+static PyObject *__pyx_kp_u_Define_a_variable_associated_wi;
+static PyObject *__pyx_n_s_Ellipsis;
static PyObject *__pyx_n_s_FLAG;
static PyObject *__pyx_n_s_FLEXPATH;
static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;
static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;
static PyObject *__pyx_n_s_ICEE;
+static PyObject *__pyx_n_s_IndexError;
+static PyObject *__pyx_n_s_KeyError;
static PyObject *__pyx_n_s_LATER;
static PyObject *__pyx_n_s_MPI;
static PyObject *__pyx_n_s_NO;
static PyObject *__pyx_n_s_NOW;
+static PyObject *__pyx_kp_s_Name_index_r_is_not_supported;
static PyObject *__pyx_kp_s_No_valid_variable;
static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;
+static PyObject *__pyx_n_s_NotImplementedError;
static PyObject *__pyx_kp_s_Not_a_valid_var;
static PyObject *__pyx_kp_s_Not_an_open_file;
static PyObject *__pyx_kp_s_Not_an_open_var;
static PyObject *__pyx_kp_s_Not_an_open_variable;
-static PyObject *__pyx_kp_s_Offset_dimension_mismatch;
+static PyObject *__pyx_kp_s_Offset_dimension_mismatch_offset;
static PyObject *__pyx_kp_s_Only_contiguous_arrays_are_suppo;
+static PyObject *__pyx_kp_u_Perform_read_Read_data_from_an;
+static PyObject *__pyx_n_s_READ_METHOD;
static PyObject *__pyx_kp_s_Reading;
+static PyObject *__pyx_kp_s_Requested_is_larger_than_the_sha;
static PyObject *__pyx_n_s_RuntimeError;
-static PyObject *__pyx_kp_s_Step_index_is_out_of_range;
+static PyObject *__pyx_n_s_S;
+static PyObject *__pyx_kp_s_Step_index_is_out_of_range_from;
+static PyObject *__pyx_kp_s_Step_size_d_is_not_supported;
+static PyObject *__pyx_kp_s_Too_many_indices_for_data;
+static PyObject *__pyx_n_s_TypeError;
static PyObject *__pyx_n_s_UNKNOWN;
+static PyObject *__pyx_kp_s_Unhashable_type;
static PyObject *__pyx_kp_s_Use_default_BP_method;
static PyObject *__pyx_kp_s_Users_jyc_project_adios_devel_w;
static PyObject *__pyx_n_s_ValueError;
+static PyObject *__pyx_kp_s_Value_is_none;
static PyObject *__pyx_kp_s_WARN_Invalid_read_method_name;
+static PyObject *__pyx_kp_s_Warning_No_support_yet_s_type_d;
static PyObject *__pyx_n_s_YES;
-static PyObject *__pyx_n_s__17;
-static PyObject *__pyx_kp_s__8;
+static PyObject *__pyx_kp_s__11;
+static PyObject *__pyx_kp_s__31;
+static PyObject *__pyx_kp_s__33;
+static PyObject *__pyx_n_s__45;
+static PyObject *__pyx_kp_s__7;
static PyObject *__pyx_n_s_adios_mpi;
static PyObject *__pyx_n_s_advance;
-static PyObject *__pyx_n_s_all;
+static PyObject *__pyx_n_s_any;
+static PyObject *__pyx_n_s_args;
static PyObject *__pyx_n_s_array;
static PyObject *__pyx_n_s_attr_namelist;
+static PyObject *__pyx_n_s_attrname;
static PyObject *__pyx_n_s_attrs;
+static PyObject *__pyx_n_s_atype;
static PyObject *__pyx_n_s_base_path;
static PyObject *__pyx_n_s_bool;
static PyObject *__pyx_n_s_bpls;
static PyObject *__pyx_n_s_buffer_size;
static PyObject *__pyx_n_s_byte;
static PyObject *__pyx_kp_s_bytes;
+static PyObject *__pyx_n_s_bytes_2;
+static PyObject *__pyx_n_s_char;
static PyObject *__pyx_n_s_close;
static PyObject *__pyx_n_s_comm;
static PyObject *__pyx_n_s_complex;
@@ -2008,6 +2513,7 @@ static PyObject *__pyx_n_s_copy;
static PyObject *__pyx_n_s_count;
static PyObject *__pyx_n_s_current_step;
static PyObject *__pyx_n_s_data_size;
+static PyObject *__pyx_n_s_define;
static PyObject *__pyx_n_s_dimensions;
static PyObject *__pyx_n_s_dims;
static PyObject *__pyx_n_s_doc;
@@ -2017,6 +2523,7 @@ static PyObject *__pyx_n_s_dtype;
static PyObject *__pyx_n_s_end;
static PyObject *__pyx_n_s_endianness;
static PyObject *__pyx_n_s_f;
+static PyObject *__pyx_n_s_factory;
static PyObject *__pyx_n_s_fd_p;
static PyObject *__pyx_n_s_fh;
static PyObject *__pyx_n_s_file;
@@ -2031,22 +2538,35 @@ static PyObject *__pyx_n_s_float64;
static PyObject *__pyx_n_s_fname;
static PyObject *__pyx_n_s_fp;
static PyObject *__pyx_n_s_from_steps;
+static PyObject *__pyx_n_s_gdim;
+static PyObject *__pyx_n_s_genexpr;
+static PyObject *__pyx_n_s_get;
+static PyObject *__pyx_n_s_getitem___locals_genexpr;
static PyObject *__pyx_n_s_global_dimensions;
+static PyObject *__pyx_n_s_gname;
static PyObject *__pyx_n_s_group;
static PyObject *__pyx_n_s_group_id;
static PyObject *__pyx_n_s_group_name;
static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_index;
+static PyObject *__pyx_n_s_indices;
+static PyObject *__pyx_n_s_init;
static PyObject *__pyx_n_s_int16;
static PyObject *__pyx_n_s_int32;
static PyObject *__pyx_n_s_int64;
static PyObject *__pyx_n_s_int8;
static PyObject *__pyx_n_s_integer;
+static PyObject *__pyx_n_s_is_noxml;
+static PyObject *__pyx_n_s_is_static;
static PyObject *__pyx_n_s_is_stream;
static PyObject *__pyx_n_s_itemsize;
+static PyObject *__pyx_n_s_iteritems;
static PyObject *__pyx_n_s_iterkeys;
static PyObject *__pyx_n_s_k;
+static PyObject *__pyx_n_s_keys;
static PyObject *__pyx_n_s_last;
static PyObject *__pyx_n_s_last_step;
+static PyObject *__pyx_n_s_ldim;
static PyObject *__pyx_n_s_local_offsets;
static PyObject *__pyx_n_s_lock_mode;
static PyObject *__pyx_n_s_long;
@@ -2055,6 +2575,7 @@ static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_metaclass;
static PyObject *__pyx_n_s_method;
static PyObject *__pyx_n_s_method_name;
+static PyObject *__pyx_n_s_method_params;
static PyObject *__pyx_n_s_mode;
static PyObject *__pyx_n_s_module;
static PyObject *__pyx_n_s_mpi4py_MPI;
@@ -2080,13 +2601,25 @@ static PyObject *__pyx_n_s_range;
static PyObject *__pyx_n_s_read;
static PyObject *__pyx_n_s_readvar;
static PyObject *__pyx_n_s_real;
+static PyObject *__pyx_n_s_replace;
+static PyObject *__pyx_n_s_send;
+static PyObject *__pyx_n_s_setitem;
+static PyObject *__pyx_n_s_shape;
static PyObject *__pyx_n_s_short;
static PyObject *__pyx_n_s_size;
static PyObject *__pyx_n_s_split;
+static PyObject *__pyx_n_s_squeeze;
static PyObject *__pyx_n_s_stats;
+static PyObject *__pyx_n_s_step;
static PyObject *__pyx_n_s_str;
static PyObject *__pyx_n_s_string;
+static PyObject *__pyx_n_s_string_array;
+static PyObject *__pyx_n_s_strip;
+static PyObject *__pyx_n_s_strlen;
+static PyObject *__pyx_n_s_subtract;
+static PyObject *__pyx_n_s_t;
static PyObject *__pyx_n_s_test;
+static PyObject *__pyx_n_s_throw;
static PyObject *__pyx_n_s_time_index;
static PyObject *__pyx_n_s_time_steps;
static PyObject *__pyx_n_s_timeout_sec;
@@ -2104,18 +2637,26 @@ static PyObject *__pyx_n_s_unsigned_short;
static PyObject *__pyx_n_s_v;
static PyObject *__pyx_n_s_val;
static PyObject *__pyx_n_s_value;
+static PyObject *__pyx_n_s_values;
static PyObject *__pyx_n_s_var;
static PyObject *__pyx_n_s_var_namelist;
+static PyObject *__pyx_kp_u_var_read_line_887;
static PyObject *__pyx_n_s_varid;
static PyObject *__pyx_n_s_varname;
static PyObject *__pyx_n_s_vars;
static PyObject *__pyx_n_s_version;
static PyObject *__pyx_n_s_vp;
static PyObject *__pyx_n_s_when;
+static PyObject *__pyx_n_s_write;
+static PyObject *__pyx_kp_u_writer_declare_group_line_1221;
+static PyObject *__pyx_kp_u_writer_define_var_line_1243;
+static PyObject *__pyx_n_s_xrange;
static PyObject *__pyx_n_s_zeros;
+static PyObject *__pyx_n_s_zip;
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_2;
+static PyObject *__pyx_int_3;
static PyObject *__pyx_int_4;
static PyObject *__pyx_int_5;
static PyObject *__pyx_int_6;
@@ -2123,102 +2664,499 @@ static PyObject *__pyx_int_7;
static PyObject *__pyx_int_9;
static PyObject *__pyx_int_10;
static PyObject *__pyx_int_11;
+static PyObject *__pyx_int_12;
static PyObject *__pyx_int_50;
static PyObject *__pyx_int_51;
static PyObject *__pyx_int_52;
static PyObject *__pyx_int_54;
static PyObject *__pyx_int_neg_1;
-static struct PyMPICommObject *__pyx_k_;
-static struct PyMPICommObject *__pyx_k__2;
-static struct PyMPICommObject *__pyx_k__3;
+static struct PyMPICommObject *__pyx_k__4;
static struct PyMPICommObject *__pyx_k__5;
static struct PyMPICommObject *__pyx_k__6;
-static ADIOS_LOCKMODE __pyx_k__7;
-static PyObject *__pyx_tuple__9;
-static PyObject *__pyx_tuple__10;
-static PyObject *__pyx_tuple__11;
+static struct PyMPICommObject *__pyx_k__8;
+static struct PyMPICommObject *__pyx_k__9;
+static ADIOS_LOCKMODE __pyx_k__10;
+static struct PyMPICommObject *__pyx_k__22;
+static PyObject *__pyx_k__23;
+static PyObject *__pyx_k__24;
+static PyObject *__pyx_k__25;
+static PyObject *__pyx_k__27;
+static PyObject *__pyx_k__28;
+static PyObject *__pyx_k__29;
+static PyObject *__pyx_slice_;
+static PyObject *__pyx_slice__2;
+static PyObject *__pyx_tuple__3;
+static PyObject *__pyx_slice__16;
+static PyObject *__pyx_slice__19;
+static PyObject *__pyx_slice__20;
+static PyObject *__pyx_slice__21;
static PyObject *__pyx_tuple__12;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__14;
static PyObject *__pyx_tuple__15;
-static PyObject *__pyx_tuple__16;
+static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__18;
-static PyObject *__pyx_tuple__20;
-static PyObject *__pyx_codeobj__19;
-static PyObject *__pyx_codeobj__21;
+static PyObject *__pyx_tuple__26;
+static PyObject *__pyx_tuple__30;
+static PyObject *__pyx_tuple__32;
+static PyObject *__pyx_tuple__34;
+static PyObject *__pyx_tuple__35;
+static PyObject *__pyx_tuple__36;
+static PyObject *__pyx_tuple__37;
+static PyObject *__pyx_tuple__38;
+static PyObject *__pyx_tuple__39;
+static PyObject *__pyx_tuple__40;
+static PyObject *__pyx_tuple__41;
+static PyObject *__pyx_tuple__42;
+static PyObject *__pyx_tuple__43;
+static PyObject *__pyx_tuple__44;
+static PyObject *__pyx_tuple__46;
+static PyObject *__pyx_tuple__48;
+static PyObject *__pyx_codeobj__47;
+static PyObject *__pyx_codeobj__49;
+
+/* "adios_mpi.pyx":19
+ * from cpython.string cimport PyString_AsString
+ *
+ * cdef char ** to_cstring_array(list_str): # <<<<<<<<<<<<<<
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)):
+ */
+
+static char **__pyx_f_9adios_mpi_to_cstring_array(PyObject *__pyx_v_list_str) {
+ char **__pyx_v_ret;
+ Py_ssize_t __pyx_v_i;
+ char **__pyx_r;
+ __Pyx_RefNannyDeclarations
+ Py_ssize_t __pyx_t_1;
+ Py_ssize_t __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ char *__pyx_t_4;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("to_cstring_array", 0);
+
+ /* "adios_mpi.pyx":20
+ *
+ * cdef char ** to_cstring_array(list_str):
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *)) # <<<<<<<<<<<<<<
+ * for i in xrange(len(list_str)):
+ * ret[i] = PyString_AsString(list_str[i])
+ */
+ __pyx_t_1 = PyObject_Length(__pyx_v_list_str); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_ret = ((char **)malloc((__pyx_t_1 * (sizeof(char *)))));
+
+ /* "adios_mpi.pyx":21
+ * cdef char ** to_cstring_array(list_str):
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)): # <<<<<<<<<<<<<<
+ * ret[i] = PyString_AsString(list_str[i])
+ * return ret
+ */
+ __pyx_t_1 = PyObject_Length(__pyx_v_list_str); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) {
+ __pyx_v_i = __pyx_t_2;
+
+ /* "adios_mpi.pyx":22
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)):
+ * ret[i] = PyString_AsString(list_str[i]) # <<<<<<<<<<<<<<
+ * return ret
+ *
+ */
+ __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_list_str, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyString_AsString(__pyx_t_3); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ (__pyx_v_ret[__pyx_v_i]) = __pyx_t_4;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
-/* "adios_mpi.pyx":258
+ /* "adios_mpi.pyx":23
+ * for i in xrange(len(list_str)):
+ * ret[i] = PyString_AsString(list_str[i])
+ * return ret # <<<<<<<<<<<<<<
+ *
* ## ====================
+ */
+ __pyx_r = __pyx_v_ret;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":19
+ * from cpython.string cimport PyString_AsString
*
- * cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
- * return adios_init(config, comm.ob_mpi)
+ * cdef char ** to_cstring_array(list_str): # <<<<<<<<<<<<<<
+ * cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ * for i in xrange(len(list_str)):
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_WriteUnraisable("adios_mpi.to_cstring_array", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":277
*
+ *
+ * cpdef __parse_index(index, ndim): # <<<<<<<<<<<<<<
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple):
*/
-static PyObject *__pyx_pw_9adios_mpi_1init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_init(char *__pyx_v_config, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_init *__pyx_optional_args) {
- struct PyMPICommObject *__pyx_v_comm = __pyx_k_;
+static PyObject *__pyx_pw_9adios_mpi_1__parse_index(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_9adios_mpi___parse_index(PyObject *__pyx_v_index, PyObject *__pyx_v_ndim, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_v_fixed = NULL;
+ PyObject *__pyx_v_length = NULL;
+ PyObject *__pyx_v_slice_ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ PyObject *(*__pyx_t_5)(PyObject *);
+ PyObject *__pyx_t_6 = NULL;
+ Py_ssize_t __pyx_t_7;
+ PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
+ int __pyx_t_10;
+ int __pyx_t_11;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("init", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_comm = __pyx_optional_args->comm;
+ __Pyx_RefNannySetupContext("__parse_index", 0);
+ __Pyx_INCREF(__pyx_v_index);
+
+ /* "adios_mpi.pyx":279
+ * cpdef __parse_index(index, ndim):
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple): # <<<<<<<<<<<<<<
+ * index = (index,)
+ *
+ */
+ __pyx_t_1 = PyTuple_Check(__pyx_v_index);
+ __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":280
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple):
+ * index = (index,) # <<<<<<<<<<<<<<
+ *
+ * fixed = []
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_index);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_index);
+ __Pyx_GIVEREF(__pyx_v_index);
+ __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":282
+ * index = (index,)
+ *
+ * fixed = [] # <<<<<<<<<<<<<<
+ * length = len(index)
+ *
+ */
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_fixed = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":283
+ *
+ * fixed = []
+ * length = len(index) # <<<<<<<<<<<<<<
+ *
+ * for slice_ in index:
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_index); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_length = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":285
+ * length = len(index)
+ *
+ * for slice_ in index: # <<<<<<<<<<<<<<
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ */
+ if (likely(PyList_CheckExact(__pyx_v_index)) || PyTuple_CheckExact(__pyx_v_index)) {
+ __pyx_t_3 = __pyx_v_index; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
+ __pyx_t_5 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_index); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ for (;;) {
+ if (likely(!__pyx_t_5)) {
+ if (likely(PyList_CheckExact(__pyx_t_3))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_6 = __pyx_t_5(__pyx_t_3);
+ if (unlikely(!__pyx_t_6)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_6);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_slice_, __pyx_t_6);
+ __pyx_t_6 = 0;
+
+ /* "adios_mpi.pyx":286
+ *
+ * for slice_ in index:
+ * if slice_ is Ellipsis: # <<<<<<<<<<<<<<
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ * elif isinstance(slice_, (int, long)):
+ */
+ __pyx_t_2 = (__pyx_v_slice_ == __pyx_builtin_Ellipsis);
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":287
+ * for slice_ in index:
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1)) # <<<<<<<<<<<<<<
+ * elif isinstance(slice_, (int, long)):
+ * fixed.append(slice(slice_, slice_+1, None))
+ */
+ __pyx_t_6 = PyNumber_Subtract(__pyx_v_ndim, __pyx_v_length); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_7 = PyList_GET_SIZE(__pyx_v_fixed); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_INCREF(__pyx_slice_);
+ PyList_SET_ITEM(__pyx_t_9, 0, __pyx_slice_);
+ __Pyx_GIVEREF(__pyx_slice_);
+ { PyObject* __pyx_temp = PyNumber_InPlaceMultiply(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_temp)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_temp);
+ __Pyx_DECREF(__pyx_t_9);
+ __pyx_t_9 = __pyx_temp;
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_10 = __Pyx_PyList_Extend(__pyx_v_fixed, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ goto __pyx_L6;
+ }
+
+ /* "adios_mpi.pyx":288
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ * elif isinstance(slice_, (int, long)): # <<<<<<<<<<<<<<
+ * fixed.append(slice(slice_, slice_+1, None))
+ * else:
+ */
+ __pyx_t_2 = PyInt_Check(__pyx_v_slice_);
+ __pyx_t_11 = (__pyx_t_2 != 0);
+ if (!__pyx_t_11) {
+ } else {
+ __pyx_t_1 = __pyx_t_11;
+ goto __pyx_L7_bool_binop_done;
}
+ __pyx_t_11 = PyLong_Check(__pyx_v_slice_);
+ __pyx_t_2 = (__pyx_t_11 != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L7_bool_binop_done:;
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":289
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ * elif isinstance(slice_, (int, long)):
+ * fixed.append(slice(slice_, slice_+1, None)) # <<<<<<<<<<<<<<
+ * else:
+ * fixed.append(slice_)
+ */
+ __pyx_t_9 = PyNumber_Add(__pyx_v_slice_, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_8 = PySlice_New(__pyx_v_slice_, __pyx_t_9, Py_None); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_fixed, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L6;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":291
+ * fixed.append(slice(slice_, slice_+1, None))
+ * else:
+ * fixed.append(slice_) # <<<<<<<<<<<<<<
+ * length -= 1
+ *
+ */
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_fixed, __pyx_v_slice_); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L6:;
+
+ /* "adios_mpi.pyx":292
+ * else:
+ * fixed.append(slice_)
+ * length -= 1 # <<<<<<<<<<<<<<
+ *
+ * index = tuple(fixed)
+ */
+ __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_v_length, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF_SET(__pyx_v_length, __pyx_t_8);
+ __pyx_t_8 = 0;
+
+ /* "adios_mpi.pyx":285
+ * length = len(index)
+ *
+ * for slice_ in index: # <<<<<<<<<<<<<<
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ */
}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "adios_mpi.pyx":259
+ /* "adios_mpi.pyx":294
+ * length -= 1
*
- * cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD):
- * return adios_init(config, comm.ob_mpi) # <<<<<<<<<<<<<<
+ * index = tuple(fixed) # <<<<<<<<<<<<<<
+ * if len(index) < ndim:
+ * index += (slice(None),) * (ndim-len(index))
+ */
+ __pyx_t_3 = PyList_AsTuple(__pyx_v_fixed); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":295
*
- * cpdef int64_t open(char * group_name,
+ * index = tuple(fixed)
+ * if len(index) < ndim: # <<<<<<<<<<<<<<
+ * index += (slice(None),) * (ndim-len(index))
+ *
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_index); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_v_ndim, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":296
+ * index = tuple(fixed)
+ * if len(index) < ndim:
+ * index += (slice(None),) * (ndim-len(index)) # <<<<<<<<<<<<<<
+ *
+ * return index
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_index); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_3 = PyNumber_Subtract(__pyx_v_ndim, __pyx_t_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyNumber_Multiply(__pyx_tuple__3, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_index, __pyx_t_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L9;
+ }
+ __pyx_L9:;
+
+ /* "adios_mpi.pyx":298
+ * index += (slice(None),) * (ndim-len(index))
+ *
+ * return index # <<<<<<<<<<<<<<
+ *
+ * ## ====================
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(adios_init(__pyx_v_config, __pyx_v_comm->ob_mpi)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_v_index);
+ __pyx_r = __pyx_v_index;
goto __pyx_L0;
- /* "adios_mpi.pyx":258
- * ## ====================
+ /* "adios_mpi.pyx":277
*
- * cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
- * return adios_init(config, comm.ob_mpi)
*
+ * cpdef __parse_index(index, ndim): # <<<<<<<<<<<<<<
+ * # Fix index, handling ellipsis and incomplete slices.
+ * if not isinstance(index, tuple):
*/
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("adios_mpi.__parse_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_fixed);
+ __Pyx_XDECREF(__pyx_v_length);
+ __Pyx_XDECREF(__pyx_v_slice_);
+ __Pyx_XDECREF(__pyx_v_index);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_1init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_1init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- char *__pyx_v_config;
- struct PyMPICommObject *__pyx_v_comm = 0;
+static PyObject *__pyx_pw_9adios_mpi_1__parse_index(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi___parse_index[] = "__parse_index(index, ndim)";
+static PyObject *__pyx_pw_9adios_mpi_1__parse_index(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_index = 0;
+ PyObject *__pyx_v_ndim = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("init (wrapper)", 0);
+ __Pyx_RefNannySetupContext("__parse_index (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,&__pyx_n_s_comm,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,&__pyx_n_s_ndim,0};
PyObject* values[2] = {0,0};
- values[1] = (PyObject *)__pyx_k_;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -2231,61 +3169,51 @@ static PyObject *__pyx_pw_9adios_mpi_1init(PyObject *__pyx_self, PyObject *__pyx
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_config)) != 0)) kw_args--;
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_index)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
- if (value) { values[1] = value; kw_args--; }
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ndim)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("__parse_index", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__parse_index") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+ goto __pyx_L5_argtuple_error;
} else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_config = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_config) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_comm = ((struct PyMPICommObject *)values[1]);
+ __pyx_v_index = values[0];
+ __pyx_v_ndim = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("init", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__parse_index", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
- __Pyx_AddTraceback("adios_mpi.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.__parse_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_init(__pyx_self, __pyx_v_config, __pyx_v_comm);
+ __pyx_r = __pyx_pf_9adios_mpi___parse_index(__pyx_self, __pyx_v_index, __pyx_v_ndim);
/* function exit code */
- goto __pyx_L0;
- __pyx_L1_error:;
- __pyx_r = NULL;
- __pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, struct PyMPICommObject *__pyx_v_comm) {
+static PyObject *__pyx_pf_9adios_mpi___parse_index(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_index, PyObject *__pyx_v_ndim) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- struct __pyx_opt_args_9adios_mpi_init __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("init", 0);
+ __Pyx_RefNannySetupContext("__parse_index", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2.__pyx_n = 1;
- __pyx_t_2.comm = __pyx_v_comm;
- __pyx_t_1 = __pyx_f_9adios_mpi_init(__pyx_v_config, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi___parse_index(__pyx_v_index, __pyx_v_ndim, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2294,7 +3222,7 @@ static PyObject *__pyx_pf_9adios_mpi_init(CYTHON_UNUSED PyObject *__pyx_self, ch
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.__parse_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -2302,48 +3230,204 @@ static PyObject *__pyx_pf_9adios_mpi_init(CYTHON_UNUSED PyObject *__pyx_self, ch
return __pyx_r;
}
-/* "adios_mpi.pyx":261
+/* "adios_mpi.pyx":304
+ * ## ====================
+ *
+ * cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
* return adios_init(config, comm.ob_mpi)
*
- * cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
- * char * name,
- * char * mode,
*/
-static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int64_t __pyx_f_9adios_mpi_open(char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_open *__pyx_optional_args) {
- struct PyMPICommObject *__pyx_v_comm = __pyx_k__2;
- int64_t __pyx_v_fd;
- CYTHON_UNUSED int __pyx_v_result;
- int64_t __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_3init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_init(char *__pyx_v_config, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_init *__pyx_optional_args) {
+ struct PyMPICommObject *__pyx_v_comm = __pyx_k__4;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("open", 0);
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("init", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_comm = __pyx_optional_args->comm;
}
}
- /* "adios_mpi.pyx":267
- * cdef int64_t fd
- * cdef int result
- * result = adios_open(&fd, group_name, name, mode, comm.ob_mpi) # <<<<<<<<<<<<<<
- * return fd
+ /* "adios_mpi.pyx":305
*
- */
- __pyx_v_result = adios_open((&__pyx_v_fd), __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm->ob_mpi);
-
- /* "adios_mpi.pyx":268
- * cdef int result
- * result = adios_open(&fd, group_name, name, mode, comm.ob_mpi)
- * return fd # <<<<<<<<<<<<<<
+ * cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD):
+ * return adios_init(config, comm.ob_mpi) # <<<<<<<<<<<<<<
*
- * cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size):
+ * cpdef int64_t open(char * group_name,
*/
- __pyx_r = __pyx_v_fd;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(adios_init(__pyx_v_config, __pyx_v_comm->ob_mpi)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
goto __pyx_L0;
- /* "adios_mpi.pyx":261
+ /* "adios_mpi.pyx":304
+ * ## ====================
+ *
+ * cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
+ * return adios_init(config, comm.ob_mpi)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_3init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_2init[] = "init(char *config, Comm comm=MPI.COMM_WORLD)";
+static PyObject *__pyx_pw_9adios_mpi_3init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_config;
+ struct PyMPICommObject *__pyx_v_comm = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("init (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,&__pyx_n_s_comm,0};
+ PyObject* values[2] = {0,0};
+ values[1] = (PyObject *)__pyx_k__4;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_config)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_config = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_config) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_comm = ((struct PyMPICommObject *)values[1]);
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("init", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_2init(__pyx_self, __pyx_v_config, __pyx_v_comm);
+
+ /* function exit code */
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_2init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_config, struct PyMPICommObject *__pyx_v_comm) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ struct __pyx_opt_args_9adios_mpi_init __pyx_t_2;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("init", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2.__pyx_n = 1;
+ __pyx_t_2.comm = __pyx_v_comm;
+ __pyx_t_1 = __pyx_f_9adios_mpi_init(__pyx_v_config, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.init", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":307
+ * return adios_init(config, comm.ob_mpi)
+ *
+ * cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
+ * char * name,
+ * char * mode,
+ */
+
+static PyObject *__pyx_pw_9adios_mpi_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int64_t __pyx_f_9adios_mpi_open(char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_open *__pyx_optional_args) {
+ struct PyMPICommObject *__pyx_v_comm = __pyx_k__5;
+ int64_t __pyx_v_fd;
+ CYTHON_UNUSED int __pyx_v_result;
+ int64_t __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("open", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_comm = __pyx_optional_args->comm;
+ }
+ }
+
+ /* "adios_mpi.pyx":313
+ * cdef int64_t fd
+ * cdef int result
+ * result = adios_open(&fd, group_name, name, mode, comm.ob_mpi) # <<<<<<<<<<<<<<
+ * return fd
+ *
+ */
+ __pyx_v_result = adios_open((&__pyx_v_fd), __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm->ob_mpi);
+
+ /* "adios_mpi.pyx":314
+ * cdef int result
+ * result = adios_open(&fd, group_name, name, mode, comm.ob_mpi)
+ * return fd # <<<<<<<<<<<<<<
+ *
+ * cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size):
+ */
+ __pyx_r = __pyx_v_fd;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":307
* return adios_init(config, comm.ob_mpi)
*
* cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
@@ -2358,8 +3442,9 @@ static int64_t __pyx_f_9adios_mpi_open(char *__pyx_v_group_name, char *__pyx_v_n
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_4open[] = "open(char *group_name, char *name, char *mode, Comm comm=MPI.COMM_WORLD) -> int64_t";
+static PyObject *__pyx_pw_9adios_mpi_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_group_name;
char *__pyx_v_name;
char *__pyx_v_mode;
@@ -2373,7 +3458,7 @@ static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group_name,&__pyx_n_s_name,&__pyx_n_s_mode,&__pyx_n_s_comm,0};
PyObject* values[4] = {0,0,0,0};
- values[3] = (PyObject *)__pyx_k__2;
+ values[3] = (PyObject *)__pyx_k__5;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -2393,12 +3478,12 @@ static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mode)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
if (kw_args > 0) {
@@ -2407,7 +3492,7 @@ static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -2419,21 +3504,21 @@ static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_group_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_group_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_mode = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_mode) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_group_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_mode = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_mode) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_v_comm = ((struct PyMPICommObject *)values[3]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("open", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_2open(__pyx_self, __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_4open(__pyx_self, __pyx_v_group_name, __pyx_v_name, __pyx_v_mode, __pyx_v_comm);
/* function exit code */
goto __pyx_L0;
@@ -2444,7 +3529,7 @@ static PyObject *__pyx_pw_9adios_mpi_3open(PyObject *__pyx_self, PyObject *__pyx
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_2open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, struct PyMPICommObject *__pyx_v_comm) {
+static PyObject *__pyx_pf_9adios_mpi_4open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_group_name, char *__pyx_v_name, char *__pyx_v_mode, struct PyMPICommObject *__pyx_v_comm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int64_t __pyx_t_1;
@@ -2458,7 +3543,7 @@ static PyObject *__pyx_pf_9adios_mpi_2open(CYTHON_UNUSED PyObject *__pyx_self, c
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.comm = __pyx_v_comm;
__pyx_t_1 = __pyx_f_9adios_mpi_open(__pyx_v_group_name, __pyx_v_name, __pyx_v_mode, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -2475,7 +3560,7 @@ static PyObject *__pyx_pf_9adios_mpi_2open(CYTHON_UNUSED PyObject *__pyx_self, c
return __pyx_r;
}
-/* "adios_mpi.pyx":270
+/* "adios_mpi.pyx":316
* return fd
*
* cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size): # <<<<<<<<<<<<<<
@@ -2483,7 +3568,7 @@ static PyObject *__pyx_pf_9adios_mpi_2open(CYTHON_UNUSED PyObject *__pyx_self, c
* cdef int result
*/
-static PyObject *__pyx_pw_9adios_mpi_5set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_7set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int64_t __pyx_f_9adios_mpi_set_group_size(int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size, CYTHON_UNUSED int __pyx_skip_dispatch) {
uint64_t __pyx_v_total_size;
CYTHON_UNUSED int __pyx_v_result;
@@ -2491,7 +3576,7 @@ static int64_t __pyx_f_9adios_mpi_set_group_size(int64_t __pyx_v_fd_p, uint64_t
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_group_size", 0);
- /* "adios_mpi.pyx":273
+ /* "adios_mpi.pyx":319
* cdef uint64_t total_size
* cdef int result
* result = adios_group_size(fd_p, data_size, &total_size) # <<<<<<<<<<<<<<
@@ -2500,17 +3585,17 @@ static int64_t __pyx_f_9adios_mpi_set_group_size(int64_t __pyx_v_fd_p, uint64_t
*/
__pyx_v_result = adios_group_size(__pyx_v_fd_p, __pyx_v_data_size, (&__pyx_v_total_size));
- /* "adios_mpi.pyx":274
+ /* "adios_mpi.pyx":320
* cdef int result
* result = adios_group_size(fd_p, data_size, &total_size)
* return total_size # <<<<<<<<<<<<<<
*
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val):
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None):
*/
__pyx_r = __pyx_v_total_size;
goto __pyx_L0;
- /* "adios_mpi.pyx":270
+ /* "adios_mpi.pyx":316
* return fd
*
* cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size): # <<<<<<<<<<<<<<
@@ -2525,8 +3610,9 @@ static int64_t __pyx_f_9adios_mpi_set_group_size(int64_t __pyx_v_fd_p, uint64_t
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_5set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_5set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_7set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_6set_group_size[] = "set_group_size(int64_t fd_p, uint64_t data_size) -> int64_t";
+static PyObject *__pyx_pw_9adios_mpi_7set_group_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
uint64_t __pyx_v_data_size;
int __pyx_lineno = 0;
@@ -2555,11 +3641,11 @@ static PyObject *__pyx_pw_9adios_mpi_5set_group_size(PyObject *__pyx_self, PyObj
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_data_size)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_group_size") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_group_size") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -2567,25 +3653,25 @@ static PyObject *__pyx_pw_9adios_mpi_5set_group_size(PyObject *__pyx_self, PyObj
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_data_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_data_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_data_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_data_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_group_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.set_group_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_4set_group_size(__pyx_self, __pyx_v_fd_p, __pyx_v_data_size);
+ __pyx_r = __pyx_pf_9adios_mpi_6set_group_size(__pyx_self, __pyx_v_fd_p, __pyx_v_data_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size) {
+static PyObject *__pyx_pf_9adios_mpi_6set_group_size(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, uint64_t __pyx_v_data_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -2594,7 +3680,7 @@ static PyObject *__pyx_pf_9adios_mpi_4set_group_size(CYTHON_UNUSED PyObject *__p
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_group_size", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_f_9adios_mpi_set_group_size(__pyx_v_fd_p, __pyx_v_data_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_f_9adios_mpi_set_group_size(__pyx_v_fd_p, __pyx_v_data_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2611,91 +3697,146 @@ static PyObject *__pyx_pf_9adios_mpi_4set_group_size(CYTHON_UNUSED PyObject *__p
return __pyx_r;
}
-/* "adios_mpi.pyx":276
+/* "adios_mpi.pyx":322
* return total_size
*
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None): # <<<<<<<<<<<<<<
* cdef np.ndarray val_
- * if val.flags.contiguous:
+ * if isinstance(val, (np.ndarray)):
*/
-static PyObject *__pyx_pw_9adios_mpi_7write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_9adios_mpi_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
+static PyObject *__pyx_pw_9adios_mpi_9write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_write *__pyx_optional_args) {
+ PyObject *__pyx_v_dtype = ((PyObject *)Py_None);
PyArrayObject *__pyx_v_val_ = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- int __pyx_t_3;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_dtype = __pyx_optional_args->dtype;
+ }
+ }
- /* "adios_mpi.pyx":278
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val):
+ /* "adios_mpi.pyx":324
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None):
* cdef np.ndarray val_
- * if val.flags.contiguous: # <<<<<<<<<<<<<<
- * val_ = val
- * else:
+ * if isinstance(val, (np.ndarray)): # <<<<<<<<<<<<<<
+ * if val.flags.contiguous:
+ * val_ = val
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_flags); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__pyx_t_3) {
+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
- /* "adios_mpi.pyx":279
+ /* "adios_mpi.pyx":325
* cdef np.ndarray val_
- * if val.flags.contiguous:
- * val_ = val # <<<<<<<<<<<<<<
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous: # <<<<<<<<<<<<<<
+ * val_ = val
+ * else:
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_flags); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":326
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous:
+ * val_ = val # <<<<<<<<<<<<<<
+ * else:
+ * val_ = np.array(val, copy=True)
+ */
+ if (!(likely(((__pyx_v_val) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_val, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_v_val;
+ __Pyx_INCREF(__pyx_t_4);
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_4);
+ __pyx_t_4 = 0;
+ goto __pyx_L4;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":328
+ * val_ = val
+ * else:
+ * val_ = np.array(val, copy=True) # <<<<<<<<<<<<<<
* else:
- * val_ = np.array(val, copy=True)
+ * val_ = np.array(val, dtype=dtype)
*/
- __Pyx_INCREF(((PyObject *)__pyx_v_val));
- __pyx_v_val_ = __pyx_v_val;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_copy, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_6);
+ __pyx_t_6 = 0;
+ }
+ __pyx_L4:;
goto __pyx_L3;
}
/*else*/ {
- /* "adios_mpi.pyx":281
- * val_ = val
+ /* "adios_mpi.pyx":330
+ * val_ = np.array(val, copy=True)
* else:
- * val_ = np.array(val, copy=True) # <<<<<<<<<<<<<<
+ * val_ = np.array(val, dtype=dtype) # <<<<<<<<<<<<<<
*
* return adios_write (fd_p, name, <void *> val_.data)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(((PyObject *)__pyx_v_val));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_val));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_val));
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_copy, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_v_dtype) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_val_ = ((PyArrayObject *)__pyx_t_5);
- __pyx_t_5 = 0;
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_3);
+ __pyx_t_3 = 0;
}
__pyx_L3:;
- /* "adios_mpi.pyx":283
- * val_ = np.array(val, copy=True)
+ /* "adios_mpi.pyx":332
+ * val_ = np.array(val, dtype=dtype)
*
* return adios_write (fd_p, name, <void *> val_.data) # <<<<<<<<<<<<<<
*
@@ -2704,20 +3845,20 @@ static int __pyx_f_9adios_mpi_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, Py
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, ((void *)__pyx_v_val_->data));
goto __pyx_L0;
- /* "adios_mpi.pyx":276
+ /* "adios_mpi.pyx":322
* return total_size
*
- * cpdef int write (int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
+ * cpdef int write (int64_t fd_p, char * name, val, dtype=None): # <<<<<<<<<<<<<<
* cdef np.ndarray val_
- * if val.flags.contiguous:
+ * if isinstance(val, (np.ndarray)):
*/
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
__Pyx_WriteUnraisable("adios_mpi.write", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
__pyx_r = 0;
__pyx_L0:;
@@ -2727,11 +3868,13 @@ static int __pyx_f_9adios_mpi_write(int64_t __pyx_v_fd_p, char *__pyx_v_name, Py
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_7write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_7write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_9write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_8write[] = "write(int64_t fd_p, char *name, val, dtype=None) -> int";
+static PyObject *__pyx_pw_9adios_mpi_9write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
- PyArrayObject *__pyx_v_val = 0;
+ PyObject *__pyx_v_val = 0;
+ PyObject *__pyx_v_dtype = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -2739,12 +3882,14 @@ static PyObject *__pyx_pw_9adios_mpi_7write(PyObject *__pyx_self, PyObject *__py
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd_p,&__pyx_n_s_name,&__pyx_n_s_val,0};
- PyObject* values[3] = {0,0,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd_p,&__pyx_n_s_name,&__pyx_n_s_val,&__pyx_n_s_dtype,0};
+ PyObject* values[4] = {0,0,0,0};
+ values[3] = ((PyObject *)Py_None);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
@@ -2759,66 +3904,75 @@ static PyObject *__pyx_pw_9adios_mpi_7write(PyObject *__pyx_self, PyObject *__py
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype);
+ if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
- } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
- goto __pyx_L5_argtuple_error;
} else {
- values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = ((PyArrayObject *)values[2]);
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = values[2];
+ __pyx_v_dtype = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_5numpy_ndarray, 1, "val", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_6write(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_9adios_mpi_8write(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val, __pyx_v_dtype);
/* function exit code */
- goto __pyx_L0;
- __pyx_L1_error:;
- __pyx_r = NULL;
- __pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_6write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val) {
+static PyObject *__pyx_pf_9adios_mpi_8write(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyObject *__pyx_v_val, PyObject *__pyx_v_dtype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_1;
+ struct __pyx_opt_args_9adios_mpi_write __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_2.__pyx_n = 1;
+ __pyx_t_2.dtype = __pyx_v_dtype;
+ __pyx_t_1 = __pyx_f_9adios_mpi_write(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0, &__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("adios_mpi.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -2827,7 +3981,7 @@ static PyObject *__pyx_pf_9adios_mpi_6write(CYTHON_UNUSED PyObject *__pyx_self,
return __pyx_r;
}
-/* "adios_mpi.pyx":285
+/* "adios_mpi.pyx":334
* return adios_write (fd_p, name, <void *> val_.data)
*
* cpdef int write_int (int64_t fd_p, char * name, int val): # <<<<<<<<<<<<<<
@@ -2835,13 +3989,13 @@ static PyObject *__pyx_pf_9adios_mpi_6write(CYTHON_UNUSED PyObject *__pyx_self,
*
*/
-static PyObject *__pyx_pw_9adios_mpi_9write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_11write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_write_int(int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write_int", 0);
- /* "adios_mpi.pyx":286
+ /* "adios_mpi.pyx":335
*
* cpdef int write_int (int64_t fd_p, char * name, int val):
* return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
@@ -2851,7 +4005,7 @@ static int __pyx_f_9adios_mpi_write_int(int64_t __pyx_v_fd_p, char *__pyx_v_name
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
goto __pyx_L0;
- /* "adios_mpi.pyx":285
+ /* "adios_mpi.pyx":334
* return adios_write (fd_p, name, <void *> val_.data)
*
* cpdef int write_int (int64_t fd_p, char * name, int val): # <<<<<<<<<<<<<<
@@ -2866,8 +4020,9 @@ static int __pyx_f_9adios_mpi_write_int(int64_t __pyx_v_fd_p, char *__pyx_v_name
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_9write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_9write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_11write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_10write_int[] = "write_int(int64_t fd_p, char *name, int val) -> int";
+static PyObject *__pyx_pw_9adios_mpi_11write_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
int __pyx_v_val;
@@ -2898,16 +4053,16 @@ static PyObject *__pyx_pw_9adios_mpi_9write_int(PyObject *__pyx_self, PyObject *
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_int") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_int") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -2916,26 +4071,26 @@ static PyObject *__pyx_pw_9adios_mpi_9write_int(PyObject *__pyx_self, PyObject *
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_int", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.write_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_8write_int(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_9adios_mpi_10write_int(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_8write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val) {
+static PyObject *__pyx_pf_9adios_mpi_10write_int(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, int __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -2944,7 +4099,7 @@ static PyObject *__pyx_pf_9adios_mpi_8write_int(CYTHON_UNUSED PyObject *__pyx_se
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write_int", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_int(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_int(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -2961,7 +4116,7 @@ static PyObject *__pyx_pf_9adios_mpi_8write_int(CYTHON_UNUSED PyObject *__pyx_se
return __pyx_r;
}
-/* "adios_mpi.pyx":288
+/* "adios_mpi.pyx":337
* return adios_write (fd_p, name, &val)
*
* cpdef int write_long (int64_t fd_p, char * name, long val): # <<<<<<<<<<<<<<
@@ -2969,13 +4124,13 @@ static PyObject *__pyx_pf_9adios_mpi_8write_int(CYTHON_UNUSED PyObject *__pyx_se
*
*/
-static PyObject *__pyx_pw_9adios_mpi_11write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_13write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_write_long(int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write_long", 0);
- /* "adios_mpi.pyx":289
+ /* "adios_mpi.pyx":338
*
* cpdef int write_long (int64_t fd_p, char * name, long val):
* return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
@@ -2985,7 +4140,7 @@ static int __pyx_f_9adios_mpi_write_long(int64_t __pyx_v_fd_p, char *__pyx_v_nam
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
goto __pyx_L0;
- /* "adios_mpi.pyx":288
+ /* "adios_mpi.pyx":337
* return adios_write (fd_p, name, &val)
*
* cpdef int write_long (int64_t fd_p, char * name, long val): # <<<<<<<<<<<<<<
@@ -3000,8 +4155,9 @@ static int __pyx_f_9adios_mpi_write_long(int64_t __pyx_v_fd_p, char *__pyx_v_nam
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_11write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_11write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_13write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_12write_long[] = "write_long(int64_t fd_p, char *name, long val) -> int";
+static PyObject *__pyx_pw_9adios_mpi_13write_long(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
long __pyx_v_val;
@@ -3032,16 +4188,16 @@ static PyObject *__pyx_pw_9adios_mpi_11write_long(PyObject *__pyx_self, PyObject
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_long") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_long") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -3050,26 +4206,26 @@ static PyObject *__pyx_pw_9adios_mpi_11write_long(PyObject *__pyx_self, PyObject
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = __Pyx_PyInt_As_long(values[2]); if (unlikely((__pyx_v_val == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __Pyx_PyInt_As_long(values[2]); if (unlikely((__pyx_v_val == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_long", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.write_long", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_10write_long(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_9adios_mpi_12write_long(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_10write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val) {
+static PyObject *__pyx_pf_9adios_mpi_12write_long(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, long __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3078,7 +4234,7 @@ static PyObject *__pyx_pf_9adios_mpi_10write_long(CYTHON_UNUSED PyObject *__pyx_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write_long", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_long(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_long(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3095,7 +4251,7 @@ static PyObject *__pyx_pf_9adios_mpi_10write_long(CYTHON_UNUSED PyObject *__pyx_
return __pyx_r;
}
-/* "adios_mpi.pyx":291
+/* "adios_mpi.pyx":340
* return adios_write (fd_p, name, &val)
*
* cpdef int write_float (int64_t fd_p, char * name, float val): # <<<<<<<<<<<<<<
@@ -3103,23 +4259,23 @@ static PyObject *__pyx_pf_9adios_mpi_10write_long(CYTHON_UNUSED PyObject *__pyx_
*
*/
-static PyObject *__pyx_pw_9adios_mpi_13write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_15write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_write_float(int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("write_float", 0);
- /* "adios_mpi.pyx":292
+ /* "adios_mpi.pyx":341
*
* cpdef int write_float (int64_t fd_p, char * name, float val):
* return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
*
- * cpdef int read(int64_t fd_p, char * name, np.ndarray val):
+ * cpdef int write_double (int64_t fd_p, char * name, double val):
*/
__pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
goto __pyx_L0;
- /* "adios_mpi.pyx":291
+ /* "adios_mpi.pyx":340
* return adios_write (fd_p, name, &val)
*
* cpdef int write_float (int64_t fd_p, char * name, float val): # <<<<<<<<<<<<<<
@@ -3134,8 +4290,9 @@ static int __pyx_f_9adios_mpi_write_float(int64_t __pyx_v_fd_p, char *__pyx_v_na
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_13write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_13write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_15write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_14write_float[] = "write_float(int64_t fd_p, char *name, float val) -> int";
+static PyObject *__pyx_pw_9adios_mpi_15write_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
float __pyx_v_val;
@@ -3166,16 +4323,16 @@ static PyObject *__pyx_pw_9adios_mpi_13write_float(PyObject *__pyx_self, PyObjec
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_float") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_float") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -3184,26 +4341,26 @@ static PyObject *__pyx_pw_9adios_mpi_13write_float(PyObject *__pyx_self, PyObjec
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_val = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_val == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_val == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("write_float", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.write_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_12write_float(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ __pyx_r = __pyx_pf_9adios_mpi_14write_float(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_12write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val) {
+static PyObject *__pyx_pf_9adios_mpi_14write_float(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, float __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3212,7 +4369,7 @@ static PyObject *__pyx_pf_9adios_mpi_12write_float(CYTHON_UNUSED PyObject *__pyx
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("write_float", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_float(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_float(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3229,15 +4386,150 @@ static PyObject *__pyx_pf_9adios_mpi_12write_float(CYTHON_UNUSED PyObject *__pyx
return __pyx_r;
}
-/* "adios_mpi.pyx":294
+/* "adios_mpi.pyx":343
+ * return adios_write (fd_p, name, &val)
+ *
+ * cpdef int write_double (int64_t fd_p, char * name, double val): # <<<<<<<<<<<<<<
+ * return adios_write (fd_p, name, &val)
+ *
+ */
+
+static PyObject *__pyx_pw_9adios_mpi_17write_double(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_write_double(int64_t __pyx_v_fd_p, char *__pyx_v_name, double __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("write_double", 0);
+
+ /* "adios_mpi.pyx":344
+ *
+ * cpdef int write_double (int64_t fd_p, char * name, double val):
+ * return adios_write (fd_p, name, &val) # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_r = adios_write(__pyx_v_fd_p, __pyx_v_name, (&__pyx_v_val));
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":343
* return adios_write (fd_p, name, &val)
*
+ * cpdef int write_double (int64_t fd_p, char * name, double val): # <<<<<<<<<<<<<<
+ * return adios_write (fd_p, name, &val)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_17write_double(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_16write_double[] = "write_double(int64_t fd_p, char *name, double val) -> int";
+static PyObject *__pyx_pw_9adios_mpi_17write_double(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int64_t __pyx_v_fd_p;
+ char *__pyx_v_name;
+ double __pyx_v_val;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("write_double (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd_p,&__pyx_n_s_name,&__pyx_n_s_val,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fd_p)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("write_double", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 2:
+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("write_double", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_double") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ }
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("write_double", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.write_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_16write_double(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_16write_double(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, double __pyx_v_val) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("write_double", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_write_double(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.write_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":347
+ *
+ *
* cpdef int read(int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
* print "Reading ... ", val.itemsize * val.size, "(bytes)"
*/
-static PyObject *__pyx_pw_9adios_mpi_15read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_19read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
@@ -3251,7 +4543,7 @@ static int __pyx_f_9adios_mpi_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyA
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read", 0);
- /* "adios_mpi.pyx":295
+ /* "adios_mpi.pyx":348
*
* cpdef int read(int64_t fd_p, char * name, np.ndarray val):
* assert val.flags.contiguous, 'Only contiguous arrays are supported.' # <<<<<<<<<<<<<<
@@ -3260,36 +4552,36 @@ static int __pyx_f_9adios_mpi_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyA
*/
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_flags); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_flags); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_3)) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Only_contiguous_arrays_are_suppo);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios_mpi.pyx":296
+ /* "adios_mpi.pyx":349
* cpdef int read(int64_t fd_p, char * name, np.ndarray val):
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
* print "Reading ... ", val.itemsize * val.size, "(bytes)" # <<<<<<<<<<<<<<
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_kp_s_Reading);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_Reading);
@@ -3300,31 +4592,31 @@ static int __pyx_f_9adios_mpi_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyA
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_s_bytes);
__Pyx_GIVEREF(__pyx_kp_s_bytes);
__pyx_t_4 = 0;
- if (__Pyx_Print(0, __pyx_t_1, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_Print(0, __pyx_t_1, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":297
+ /* "adios_mpi.pyx":350
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
* print "Reading ... ", val.itemsize * val.size, "(bytes)"
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size) # <<<<<<<<<<<<<<
*
* cpdef int close(int64_t fd_p):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val), __pyx_n_s_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = adios_read(__pyx_v_fd_p, __pyx_v_name, ((void *)__pyx_v_val->data), __pyx_t_5);
goto __pyx_L0;
- /* "adios_mpi.pyx":294
- * return adios_write (fd_p, name, &val)
+ /* "adios_mpi.pyx":347
+ *
*
* cpdef int read(int64_t fd_p, char * name, np.ndarray val): # <<<<<<<<<<<<<<
* assert val.flags.contiguous, 'Only contiguous arrays are supported.'
@@ -3344,8 +4636,9 @@ static int __pyx_f_9adios_mpi_read(int64_t __pyx_v_fd_p, char *__pyx_v_name, PyA
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_15read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_15read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_19read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_18read[] = "read(int64_t fd_p, char *name, ndarray val) -> int";
+static PyObject *__pyx_pw_9adios_mpi_19read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_fd_p;
char *__pyx_v_name;
PyArrayObject *__pyx_v_val = 0;
@@ -3376,16 +4669,16 @@ static PyObject *__pyx_pw_9adios_mpi_15read(PyObject *__pyx_self, PyObject *__py
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -3394,20 +4687,20 @@ static PyObject *__pyx_pw_9adios_mpi_15read(PyObject *__pyx_self, PyObject *__py
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_v_val = ((PyArrayObject *)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_5numpy_ndarray, 1, "val", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_14read(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_5numpy_ndarray, 1, "val", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_18read(__pyx_self, __pyx_v_fd_p, __pyx_v_name, __pyx_v_val);
/* function exit code */
goto __pyx_L0;
@@ -3418,7 +4711,7 @@ static PyObject *__pyx_pw_9adios_mpi_15read(PyObject *__pyx_self, PyObject *__py
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_14read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val) {
+static PyObject *__pyx_pf_9adios_mpi_18read(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p, char *__pyx_v_name, PyArrayObject *__pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3427,7 +4720,7 @@ static PyObject *__pyx_pf_9adios_mpi_14read(CYTHON_UNUSED PyObject *__pyx_self,
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_read(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_read(__pyx_v_fd_p, __pyx_v_name, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3444,7 +4737,7 @@ static PyObject *__pyx_pf_9adios_mpi_14read(CYTHON_UNUSED PyObject *__pyx_self,
return __pyx_r;
}
-/* "adios_mpi.pyx":299
+/* "adios_mpi.pyx":352
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size)
*
* cpdef int close(int64_t fd_p): # <<<<<<<<<<<<<<
@@ -3452,13 +4745,13 @@ static PyObject *__pyx_pf_9adios_mpi_14read(CYTHON_UNUSED PyObject *__pyx_self,
*
*/
-static PyObject *__pyx_pw_9adios_mpi_17close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_21close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
static int __pyx_f_9adios_mpi_close(int64_t __pyx_v_fd_p, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("close", 0);
- /* "adios_mpi.pyx":300
+ /* "adios_mpi.pyx":353
*
* cpdef int close(int64_t fd_p):
* return adios_close(fd_p) # <<<<<<<<<<<<<<
@@ -3468,7 +4761,7 @@ static int __pyx_f_9adios_mpi_close(int64_t __pyx_v_fd_p, CYTHON_UNUSED int __py
__pyx_r = adios_close(__pyx_v_fd_p);
goto __pyx_L0;
- /* "adios_mpi.pyx":299
+ /* "adios_mpi.pyx":352
* return adios_read(fd_p, name, <void *> val.data, val.itemsize * val.size)
*
* cpdef int close(int64_t fd_p): # <<<<<<<<<<<<<<
@@ -3483,8 +4776,9 @@ static int __pyx_f_9adios_mpi_close(int64_t __pyx_v_fd_p, CYTHON_UNUSED int __py
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_17close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_17close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p) {
+static PyObject *__pyx_pw_9adios_mpi_21close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p); /*proto*/
+static char __pyx_doc_9adios_mpi_20close[] = "close(int64_t fd_p) -> int";
+static PyObject *__pyx_pw_9adios_mpi_21close(PyObject *__pyx_self, PyObject *__pyx_arg_fd_p) {
int64_t __pyx_v_fd_p;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -3493,7 +4787,7 @@ static PyObject *__pyx_pw_9adios_mpi_17close(PyObject *__pyx_self, PyObject *__p
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("close (wrapper)", 0);
assert(__pyx_arg_fd_p); {
- __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(__pyx_arg_fd_p); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_fd_p = __Pyx_PyInt_As_int64_t(__pyx_arg_fd_p); if (unlikely((__pyx_v_fd_p == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L3_error:;
@@ -3501,14 +4795,14 @@ static PyObject *__pyx_pw_9adios_mpi_17close(PyObject *__pyx_self, PyObject *__p
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_16close(__pyx_self, ((int64_t)__pyx_v_fd_p));
+ __pyx_r = __pyx_pf_9adios_mpi_20close(__pyx_self, ((int64_t)__pyx_v_fd_p));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_16close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p) {
+static PyObject *__pyx_pf_9adios_mpi_20close(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_fd_p) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3517,7 +4811,7 @@ static PyObject *__pyx_pf_9adios_mpi_16close(CYTHON_UNUSED PyObject *__pyx_self,
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_close(__pyx_v_fd_p, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_close(__pyx_v_fd_p, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3534,7 +4828,7 @@ static PyObject *__pyx_pf_9adios_mpi_16close(CYTHON_UNUSED PyObject *__pyx_self,
return __pyx_r;
}
-/* "adios_mpi.pyx":302
+/* "adios_mpi.pyx":355
* return adios_close(fd_p)
*
* cpdef int finalize(int mype = 0): # <<<<<<<<<<<<<<
@@ -3542,7 +4836,7 @@ static PyObject *__pyx_pf_9adios_mpi_16close(CYTHON_UNUSED PyObject *__pyx_self,
*
*/
-static PyObject *__pyx_pw_9adios_mpi_19finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_23finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_finalize *__pyx_optional_args) {
int __pyx_v_mype = ((int)0);
int __pyx_r;
@@ -3554,7 +4848,7 @@ static int __pyx_f_9adios_mpi_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, st
}
}
- /* "adios_mpi.pyx":303
+ /* "adios_mpi.pyx":356
*
* cpdef int finalize(int mype = 0):
* return adios_finalize(mype) # <<<<<<<<<<<<<<
@@ -3564,7 +4858,7 @@ static int __pyx_f_9adios_mpi_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, st
__pyx_r = adios_finalize(__pyx_v_mype);
goto __pyx_L0;
- /* "adios_mpi.pyx":302
+ /* "adios_mpi.pyx":355
* return adios_close(fd_p)
*
* cpdef int finalize(int mype = 0): # <<<<<<<<<<<<<<
@@ -3579,8 +4873,9 @@ static int __pyx_f_9adios_mpi_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, st
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_19finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_19finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_23finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_22finalize[] = "finalize(int mype=0) -> int";
+static PyObject *__pyx_pw_9adios_mpi_23finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int __pyx_v_mype;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -3608,7 +4903,7 @@ static PyObject *__pyx_pw_9adios_mpi_19finalize(PyObject *__pyx_self, PyObject *
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -3618,27 +4913,27 @@ static PyObject *__pyx_pw_9adios_mpi_19finalize(PyObject *__pyx_self, PyObject *
}
}
if (values[0]) {
- __pyx_v_mype = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_mype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_mype = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_mype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_mype = ((int)0);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.finalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_18finalize(__pyx_self, __pyx_v_mype);
+ __pyx_r = __pyx_pf_9adios_mpi_22finalize(__pyx_self, __pyx_v_mype);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_18finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype) {
+static PyObject *__pyx_pf_9adios_mpi_22finalize(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_mype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -3652,7 +4947,7 @@ static PyObject *__pyx_pf_9adios_mpi_18finalize(CYTHON_UNUSED PyObject *__pyx_se
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.mype = __pyx_v_mype;
__pyx_t_1 = __pyx_f_9adios_mpi_finalize(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -3669,7 +4964,7 @@ static PyObject *__pyx_pf_9adios_mpi_18finalize(CYTHON_UNUSED PyObject *__pyx_se
return __pyx_r;
}
-/* "adios_mpi.pyx":308
+/* "adios_mpi.pyx":361
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
@@ -3677,9 +4972,9 @@ static PyObject *__pyx_pf_9adios_mpi_18finalize(CYTHON_UNUSED PyObject *__pyx_se
*
*/
-static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_25init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_init_noxml *__pyx_optional_args) {
- struct PyMPICommObject *__pyx_v_comm = __pyx_k__3;
+ struct PyMPICommObject *__pyx_v_comm = __pyx_k__6;
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("init_noxml", 0);
@@ -3689,7 +4984,7 @@ static int __pyx_f_9adios_mpi_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch,
}
}
- /* "adios_mpi.pyx":309
+ /* "adios_mpi.pyx":362
* ## ====================
* cpdef int init_noxml(MPI.Comm comm = MPI.COMM_WORLD):
* return adios_init_noxml(comm.ob_mpi) # <<<<<<<<<<<<<<
@@ -3699,7 +4994,7 @@ static int __pyx_f_9adios_mpi_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch,
__pyx_r = adios_init_noxml(__pyx_v_comm->ob_mpi);
goto __pyx_L0;
- /* "adios_mpi.pyx":308
+ /* "adios_mpi.pyx":361
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
@@ -3714,8 +5009,9 @@ static int __pyx_f_9adios_mpi_init_noxml(CYTHON_UNUSED int __pyx_skip_dispatch,
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_25init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_24init_noxml[] = "init_noxml(Comm comm=MPI.COMM_WORLD) -> int";
+static PyObject *__pyx_pw_9adios_mpi_25init_noxml(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
struct PyMPICommObject *__pyx_v_comm = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -3726,7 +5022,7 @@ static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0};
PyObject* values[1] = {0};
- values[0] = (PyObject *)__pyx_k__3;
+ values[0] = (PyObject *)__pyx_k__6;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -3744,7 +5040,7 @@ static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init_noxml") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init_noxml") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -3757,14 +5053,14 @@ static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("init_noxml", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("init_noxml", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.init_noxml", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_20init_noxml(__pyx_self, __pyx_v_comm);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_24init_noxml(__pyx_self, __pyx_v_comm);
/* function exit code */
goto __pyx_L0;
@@ -3775,7 +5071,7 @@ static PyObject *__pyx_pw_9adios_mpi_21init_noxml(PyObject *__pyx_self, PyObject
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_20init_noxml(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPICommObject *__pyx_v_comm) {
+static PyObject *__pyx_pf_9adios_mpi_24init_noxml(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPICommObject *__pyx_v_comm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -3789,7 +5085,7 @@ static PyObject *__pyx_pf_9adios_mpi_20init_noxml(CYTHON_UNUSED PyObject *__pyx_
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.comm = __pyx_v_comm;
__pyx_t_1 = __pyx_f_9adios_mpi_init_noxml(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -3806,7 +5102,7 @@ static PyObject *__pyx_pf_9adios_mpi_20init_noxml(CYTHON_UNUSED PyObject *__pyx_
return __pyx_r;
}
-/* "adios_mpi.pyx":311
+/* "adios_mpi.pyx":364
* return adios_init_noxml(comm.ob_mpi)
*
* cpdef int allocate_buffer(int when, # <<<<<<<<<<<<<<
@@ -3814,13 +5110,13 @@ static PyObject *__pyx_pf_9adios_mpi_20init_noxml(CYTHON_UNUSED PyObject *__pyx_
* return adios_allocate_buffer(<ADIOS_BUFFER_ALLOC_WHEN> when,
*/
-static PyObject *__pyx_pw_9adios_mpi_23allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_27allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_allocate_buffer(int __pyx_v_when, uint64_t __pyx_v_buffer_size, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("allocate_buffer", 0);
- /* "adios_mpi.pyx":313
+ /* "adios_mpi.pyx":366
* cpdef int allocate_buffer(int when,
* uint64_t buffer_size):
* return adios_allocate_buffer(<ADIOS_BUFFER_ALLOC_WHEN> when, # <<<<<<<<<<<<<<
@@ -3830,7 +5126,7 @@ static int __pyx_f_9adios_mpi_allocate_buffer(int __pyx_v_when, uint64_t __pyx_v
__pyx_r = adios_allocate_buffer(((ADIOS_BUFFER_ALLOC_WHEN)__pyx_v_when), __pyx_v_buffer_size);
goto __pyx_L0;
- /* "adios_mpi.pyx":311
+ /* "adios_mpi.pyx":364
* return adios_init_noxml(comm.ob_mpi)
*
* cpdef int allocate_buffer(int when, # <<<<<<<<<<<<<<
@@ -3845,8 +5141,9 @@ static int __pyx_f_9adios_mpi_allocate_buffer(int __pyx_v_when, uint64_t __pyx_v
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_23allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_23allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_27allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_26allocate_buffer[] = "allocate_buffer(int when, uint64_t buffer_size) -> int";
+static PyObject *__pyx_pw_9adios_mpi_27allocate_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int __pyx_v_when;
uint64_t __pyx_v_buffer_size;
int __pyx_lineno = 0;
@@ -3875,11 +5172,11 @@ static PyObject *__pyx_pw_9adios_mpi_23allocate_buffer(PyObject *__pyx_self, PyO
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffer_size)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allocate_buffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allocate_buffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -3887,25 +5184,25 @@ static PyObject *__pyx_pw_9adios_mpi_23allocate_buffer(PyObject *__pyx_self, PyO
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_when = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_when == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_buffer_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_buffer_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_when = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_when == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_buffer_size = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_buffer_size == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("allocate_buffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_22allocate_buffer(__pyx_self, __pyx_v_when, __pyx_v_buffer_size);
+ __pyx_r = __pyx_pf_9adios_mpi_26allocate_buffer(__pyx_self, __pyx_v_when, __pyx_v_buffer_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_22allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size) {
+static PyObject *__pyx_pf_9adios_mpi_26allocate_buffer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_when, uint64_t __pyx_v_buffer_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -3914,7 +5211,7 @@ static PyObject *__pyx_pf_9adios_mpi_22allocate_buffer(CYTHON_UNUSED PyObject *_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("allocate_buffer", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_allocate_buffer(__pyx_v_when, __pyx_v_buffer_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_allocate_buffer(__pyx_v_when, __pyx_v_buffer_size, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -3931,7 +5228,7 @@ static PyObject *__pyx_pf_9adios_mpi_22allocate_buffer(CYTHON_UNUSED PyObject *_
return __pyx_r;
}
-/* "adios_mpi.pyx":316
+/* "adios_mpi.pyx":369
* buffer_size)
*
* cpdef int64_t declare_group(char * name, # <<<<<<<<<<<<<<
@@ -3939,9 +5236,9 @@ static PyObject *__pyx_pf_9adios_mpi_22allocate_buffer(CYTHON_UNUSED PyObject *_
* int stats = 1):
*/
-static PyObject *__pyx_pw_9adios_mpi_25declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_29declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int64_t __pyx_f_9adios_mpi_declare_group(char *__pyx_v_name, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_declare_group *__pyx_optional_args) {
- char *__pyx_v_time_index = ((char *)__pyx_k__4);
+ char *__pyx_v_time_index = ((char *)__pyx_k__7);
int __pyx_v_stats = ((int)1);
int64_t __pyx_v_id;
int64_t __pyx_r;
@@ -3956,7 +5253,7 @@ static int64_t __pyx_f_9adios_mpi_declare_group(char *__pyx_v_name, CYTHON_UNUSE
}
}
- /* "adios_mpi.pyx":319
+ /* "adios_mpi.pyx":372
* char * time_index = "",
* int stats = 1):
* cdef int64_t id = 0 # <<<<<<<<<<<<<<
@@ -3965,7 +5262,7 @@ static int64_t __pyx_f_9adios_mpi_declare_group(char *__pyx_v_name, CYTHON_UNUSE
*/
__pyx_v_id = 0;
- /* "adios_mpi.pyx":320
+ /* "adios_mpi.pyx":373
* int stats = 1):
* cdef int64_t id = 0
* adios_declare_group (&id, # <<<<<<<<<<<<<<
@@ -3974,7 +5271,7 @@ static int64_t __pyx_f_9adios_mpi_declare_group(char *__pyx_v_name, CYTHON_UNUSE
*/
adios_declare_group((&__pyx_v_id), __pyx_v_name, __pyx_v_time_index, ((ADIOS_FLAG)__pyx_v_stats));
- /* "adios_mpi.pyx":324
+ /* "adios_mpi.pyx":377
* time_index,
* <ADIOS_FLAG> stats)
* return id # <<<<<<<<<<<<<<
@@ -3984,7 +5281,7 @@ static int64_t __pyx_f_9adios_mpi_declare_group(char *__pyx_v_name, CYTHON_UNUSE
__pyx_r = __pyx_v_id;
goto __pyx_L0;
- /* "adios_mpi.pyx":316
+ /* "adios_mpi.pyx":369
* buffer_size)
*
* cpdef int64_t declare_group(char * name, # <<<<<<<<<<<<<<
@@ -3999,8 +5296,9 @@ static int64_t __pyx_f_9adios_mpi_declare_group(char *__pyx_v_name, CYTHON_UNUSE
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_25declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_25declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_29declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_28declare_group[] = "declare_group(char *name, char *time_index='', int stats=1) -> int64_t";
+static PyObject *__pyx_pw_9adios_mpi_29declare_group(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_name;
char *__pyx_v_time_index;
int __pyx_v_stats;
@@ -4040,7 +5338,7 @@ static PyObject *__pyx_pw_9adios_mpi_25declare_group(PyObject *__pyx_self, PyObj
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare_group") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare_group") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -4051,34 +5349,34 @@ static PyObject *__pyx_pw_9adios_mpi_25declare_group(PyObject *__pyx_self, PyObj
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[1]) {
- __pyx_v_time_index = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_time_index) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_time_index = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_time_index) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_time_index = ((char *)__pyx_k__4);
+ __pyx_v_time_index = ((char *)__pyx_k__7);
}
if (values[2]) {
- __pyx_v_stats = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_stats == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_stats = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_stats == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_stats = ((int)1);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("declare_group", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("declare_group", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.declare_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_24declare_group(__pyx_self, __pyx_v_name, __pyx_v_time_index, __pyx_v_stats);
+ __pyx_r = __pyx_pf_9adios_mpi_28declare_group(__pyx_self, __pyx_v_name, __pyx_v_time_index, __pyx_v_stats);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_24declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats) {
+static PyObject *__pyx_pf_9adios_mpi_28declare_group(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, char *__pyx_v_time_index, int __pyx_v_stats) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int64_t __pyx_t_1;
@@ -4093,7 +5391,7 @@ static PyObject *__pyx_pf_9adios_mpi_24declare_group(CYTHON_UNUSED PyObject *__p
__pyx_t_2.time_index = __pyx_v_time_index;
__pyx_t_2.stats = __pyx_v_stats;
__pyx_t_1 = __pyx_f_9adios_mpi_declare_group(__pyx_v_name, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -4110,7 +5408,7 @@ static PyObject *__pyx_pf_9adios_mpi_24declare_group(CYTHON_UNUSED PyObject *__p
return __pyx_r;
}
-/* "adios_mpi.pyx":326
+/* "adios_mpi.pyx":379
* return id
*
* cpdef int define_var(int64_t group_id, # <<<<<<<<<<<<<<
@@ -4118,11 +5416,11 @@ static PyObject *__pyx_pf_9adios_mpi_24declare_group(CYTHON_UNUSED PyObject *__p
* char * path,
*/
-static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_9adios_mpi_define_var(int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_define_var *__pyx_optional_args) {
- char *__pyx_v_dimensions = ((char *)__pyx_k__4);
- char *__pyx_v_global_dimensions = ((char *)__pyx_k__4);
- char *__pyx_v_local_offsets = ((char *)__pyx_k__4);
+static PyObject *__pyx_pw_9adios_mpi_31define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_define_var(int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_define_var *__pyx_optional_args) {
+ char *__pyx_v_dimensions = ((char *)__pyx_k__7);
+ char *__pyx_v_global_dimensions = ((char *)__pyx_k__7);
+ char *__pyx_v_local_offsets = ((char *)__pyx_k__7);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_var", 0);
@@ -4138,17 +5436,17 @@ static int __pyx_f_9adios_mpi_define_var(int64_t __pyx_v_group_id, char *__pyx_v
}
}
- /* "adios_mpi.pyx":333
+ /* "adios_mpi.pyx":386
* char * global_dimensions = "",
* char * local_offsets = ""):
* return adios_define_var(group_id, # <<<<<<<<<<<<<<
* name, path,
- * <ADIOS_DATATYPES> type,
+ * <ADIOS_DATATYPES> atype,
*/
- __pyx_r = adios_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_type), __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
+ __pyx_r = adios_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_atype), __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
goto __pyx_L0;
- /* "adios_mpi.pyx":326
+ /* "adios_mpi.pyx":379
* return id
*
* cpdef int define_var(int64_t group_id, # <<<<<<<<<<<<<<
@@ -4163,12 +5461,13 @@ static int __pyx_f_9adios_mpi_define_var(int64_t __pyx_v_group_id, char *__pyx_v
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_31define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_30define_var[] = "define_var(int64_t group_id, char *name, char *path, int atype, char *dimensions='', char *global_dimensions='', char *local_offsets='') -> int";
+static PyObject *__pyx_pw_9adios_mpi_31define_var(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_group_id;
char *__pyx_v_name;
char *__pyx_v_path;
- int __pyx_v_type;
+ int __pyx_v_atype;
char *__pyx_v_dimensions;
char *__pyx_v_global_dimensions;
char *__pyx_v_local_offsets;
@@ -4179,7 +5478,7 @@ static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_var (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group_id,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_type,&__pyx_n_s_dimensions,&__pyx_n_s_global_dimensions,&__pyx_n_s_local_offsets,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group_id,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_atype,&__pyx_n_s_dimensions,&__pyx_n_s_global_dimensions,&__pyx_n_s_local_offsets,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -4203,17 +5502,17 @@ static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
- if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_atype)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 4:
if (kw_args > 0) {
@@ -4232,7 +5531,7 @@ static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_var") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_var") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -4247,42 +5546,42 @@ static PyObject *__pyx_pw_9adios_mpi_27define_var(PyObject *__pyx_self, PyObject
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_group_id = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group_id == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_type = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group_id = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group_id == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_atype = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_atype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[4]) {
- __pyx_v_dimensions = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_dimensions = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_dimensions = ((char *)__pyx_k__4);
+ __pyx_v_dimensions = ((char *)__pyx_k__7);
}
if (values[5]) {
- __pyx_v_global_dimensions = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_global_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_global_dimensions = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_global_dimensions) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_global_dimensions = ((char *)__pyx_k__4);
+ __pyx_v_global_dimensions = ((char *)__pyx_k__7);
}
if (values[6]) {
- __pyx_v_local_offsets = __Pyx_PyObject_AsString(values[6]); if (unlikely((!__pyx_v_local_offsets) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_local_offsets = __Pyx_PyObject_AsString(values[6]); if (unlikely((!__pyx_v_local_offsets) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_local_offsets = ((char *)__pyx_k__4);
+ __pyx_v_local_offsets = ((char *)__pyx_k__7);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.define_var", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_26define_var(__pyx_self, __pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_type, __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
+ __pyx_r = __pyx_pf_9adios_mpi_30define_var(__pyx_self, __pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_atype, __pyx_v_dimensions, __pyx_v_global_dimensions, __pyx_v_local_offsets);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_26define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets) {
+static PyObject *__pyx_pf_9adios_mpi_30define_var(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group_id, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_dimensions, char *__pyx_v_global_dimensions, char *__pyx_v_local_offsets) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -4297,8 +5596,8 @@ static PyObject *__pyx_pf_9adios_mpi_26define_var(CYTHON_UNUSED PyObject *__pyx_
__pyx_t_2.dimensions = __pyx_v_dimensions;
__pyx_t_2.global_dimensions = __pyx_v_global_dimensions;
__pyx_t_2.local_offsets = __pyx_v_local_offsets;
- __pyx_t_1 = __pyx_f_9adios_mpi_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_type, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_define_var(__pyx_v_group_id, __pyx_v_name, __pyx_v_path, __pyx_v_atype, 0, &__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -4315,7 +5614,7 @@ static PyObject *__pyx_pf_9adios_mpi_26define_var(CYTHON_UNUSED PyObject *__pyx_
return __pyx_r;
}
-/* "adios_mpi.pyx":340
+/* "adios_mpi.pyx":393
* local_offsets)
*
* cpdef int define_attribute (int64_t group, # <<<<<<<<<<<<<<
@@ -4323,23 +5622,23 @@ static PyObject *__pyx_pf_9adios_mpi_26define_var(CYTHON_UNUSED PyObject *__pyx_
* char * path,
*/
-static PyObject *__pyx_pw_9adios_mpi_29define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_9adios_mpi_define_attribute(int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_value, char *__pyx_v_var, CYTHON_UNUSED int __pyx_skip_dispatch) {
+static PyObject *__pyx_pw_9adios_mpi_33define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_define_attribute(int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_value, char *__pyx_v_var, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_attribute", 0);
- /* "adios_mpi.pyx":346
+ /* "adios_mpi.pyx":399
* char * value,
* char * var):
* return adios_define_attribute (group, # <<<<<<<<<<<<<<
* name,
* path,
*/
- __pyx_r = adios_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_type), __pyx_v_value, __pyx_v_var);
+ __pyx_r = adios_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_v_atype), __pyx_v_value, __pyx_v_var);
goto __pyx_L0;
- /* "adios_mpi.pyx":340
+ /* "adios_mpi.pyx":393
* local_offsets)
*
* cpdef int define_attribute (int64_t group, # <<<<<<<<<<<<<<
@@ -4354,12 +5653,13 @@ static int __pyx_f_9adios_mpi_define_attribute(int64_t __pyx_v_group, char *__py
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_29define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_29define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_33define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_32define_attribute[] = "define_attribute(int64_t group, char *name, char *path, int atype, char *value, char *var) -> int";
+static PyObject *__pyx_pw_9adios_mpi_33define_attribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
int64_t __pyx_v_group;
char *__pyx_v_name;
char *__pyx_v_path;
- int __pyx_v_type;
+ int __pyx_v_atype;
char *__pyx_v_value;
char *__pyx_v_var;
int __pyx_lineno = 0;
@@ -4369,7 +5669,7 @@ static PyObject *__pyx_pw_9adios_mpi_29define_attribute(PyObject *__pyx_self, Py
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("define_attribute (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_type,&__pyx_n_s_value,&__pyx_n_s_var,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_atype,&__pyx_n_s_value,&__pyx_n_s_var,0};
PyObject* values[6] = {0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -4392,31 +5692,31 @@ static PyObject *__pyx_pw_9adios_mpi_29define_attribute(PyObject *__pyx_self, Py
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
- if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_atype)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 4:
if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 5:
if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_attribute") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_attribute") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
goto __pyx_L5_argtuple_error;
@@ -4428,29 +5728,29 @@ static PyObject *__pyx_pw_9adios_mpi_29define_attribute(PyObject *__pyx_self, Py
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
}
- __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_type = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_value = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_var = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_var) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_atype = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_atype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_value = __Pyx_PyObject_AsString(values[4]); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_var = __Pyx_PyObject_AsString(values[5]); if (unlikely((!__pyx_v_var) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("define_attribute", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.define_attribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_28define_attribute(__pyx_self, __pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_type, __pyx_v_value, __pyx_v_var);
+ __pyx_r = __pyx_pf_9adios_mpi_32define_attribute(__pyx_self, __pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_atype, __pyx_v_value, __pyx_v_var);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_28define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_type, char *__pyx_v_value, char *__pyx_v_var) {
+static PyObject *__pyx_pf_9adios_mpi_32define_attribute(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, int __pyx_v_atype, char *__pyx_v_value, char *__pyx_v_var) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -4459,7 +5759,7 @@ static PyObject *__pyx_pf_9adios_mpi_28define_attribute(CYTHON_UNUSED PyObject *
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("define_attribute", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_type, __pyx_v_value, __pyx_v_var, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_define_attribute(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_atype, __pyx_v_value, __pyx_v_var, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -4476,72 +5776,527 @@ static PyObject *__pyx_pf_9adios_mpi_28define_attribute(CYTHON_UNUSED PyObject *
return __pyx_r;
}
-/* "adios_mpi.pyx":353
+/* "adios_mpi.pyx":406
* var)
*
- * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
- * char * method,
- * char * parameters = "",
+ * cpdef int define_attribute_byvalue (int64_t group, # <<<<<<<<<<<<<<
+ * char * name,
+ * char * path,
*/
-static PyObject *__pyx_pw_9adios_mpi_31select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_9adios_mpi_select_method(int64_t __pyx_v_group, char *__pyx_v_method, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_select_method *__pyx_optional_args) {
- char *__pyx_v_parameters = ((char *)__pyx_k__4);
- char *__pyx_v_base_path = ((char *)__pyx_k__4);
+static PyObject *__pyx_pw_9adios_mpi_35define_attribute_byvalue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_define_attribute_byvalue(int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, PyObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyArrayObject *__pyx_v_val_ = 0;
+ PyObject *__pyx_v_atype = NULL;
+ char *__pyx_v_pt1;
+ char **__pyx_v_pt2;
int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("select_method", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_parameters = __pyx_optional_args->parameters;
- if (__pyx_optional_args->__pyx_n > 1) {
- __pyx_v_base_path = __pyx_optional_args->base_path;
- }
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ char *__pyx_t_7;
+ ADIOS_DATATYPES __pyx_t_8;
+ Py_ssize_t __pyx_t_9;
+ int __pyx_t_10;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define_attribute_byvalue", 0);
+
+ /* "adios_mpi.pyx":411
+ * val):
+ * cdef np.ndarray val_
+ * if isinstance(val, (np.ndarray)): # <<<<<<<<<<<<<<
+ * if val.flags.contiguous:
+ * val_ = val
+ */
+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":412
+ * cdef np.ndarray val_
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous: # <<<<<<<<<<<<<<
+ * val_ = val
+ * else:
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_flags); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_contiguous); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":413
+ * if isinstance(val, (np.ndarray)):
+ * if val.flags.contiguous:
+ * val_ = val # <<<<<<<<<<<<<<
+ * else:
+ * val_ = np.array(val, copy=True)
+ */
+ if (!(likely(((__pyx_v_val) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_val, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_v_val;
+ __Pyx_INCREF(__pyx_t_4);
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_4);
+ __pyx_t_4 = 0;
+ goto __pyx_L4;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":415
+ * val_ = val
+ * else:
+ * val_ = np.array(val, copy=True) # <<<<<<<<<<<<<<
+ * else:
+ * val_ = np.array(val)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_copy, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_6);
+ __pyx_t_6 = 0;
}
+ __pyx_L4:;
+ goto __pyx_L3;
}
+ /*else*/ {
- /* "adios_mpi.pyx":357
- * char * parameters = "",
- * char * base_path = ""):
- * return adios_select_method (group, # <<<<<<<<<<<<<<
- * method,
- * parameters,
+ /* "adios_mpi.pyx":417
+ * val_ = np.array(val, copy=True)
+ * else:
+ * val_ = np.array(val) # <<<<<<<<<<<<<<
+ *
+ * atype = np2adiostype(val_.dtype)
*/
- __pyx_r = adios_select_method(__pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
- goto __pyx_L0;
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ }
+ }
+ if (!__pyx_t_5) {
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_val); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ } else {
+ __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL;
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_val_ = ((PyArrayObject *)__pyx_t_6);
+ __pyx_t_6 = 0;
+ }
+ __pyx_L3:;
- /* "adios_mpi.pyx":353
- * var)
+ /* "adios_mpi.pyx":419
+ * val_ = np.array(val)
*
- * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
- * char * method,
- * char * parameters = "",
+ * atype = np2adiostype(val_.dtype) # <<<<<<<<<<<<<<
+ *
+ * cdef char * pt1
*/
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_9adios_mpi_np2adiostype(((PyArray_Descr *)__pyx_t_6), 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_v_atype = __pyx_t_4;
+ __pyx_t_4 = 0;
- /* function exit code */
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":423
+ * cdef char * pt1
+ * cdef char ** pt2
+ * if (val_.dtype.char == 'S'): # <<<<<<<<<<<<<<
+ * if (val_.size == 1):
+ * pt1 = PyString_AsString(val)
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_char); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (__pyx_t_2) {
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_31select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_31select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- int64_t __pyx_v_group;
- char *__pyx_v_method;
- char *__pyx_v_parameters;
- char *__pyx_v_base_path;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("select_method (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_method,&__pyx_n_s_parameters,&__pyx_n_s_base_path,0};
- PyObject* values[4] = {0,0,0,0};
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
+ /* "adios_mpi.pyx":424
+ * cdef char ** pt2
+ * if (val_.dtype.char == 'S'):
+ * if (val_.size == 1): # <<<<<<<<<<<<<<
+ * pt1 = PyString_AsString(val)
+ * adios_define_attribute_byvalue (group,
+ */
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":425
+ * if (val_.dtype.char == 'S'):
+ * if (val_.size == 1):
+ * pt1 = PyString_AsString(val) # <<<<<<<<<<<<<<
+ * adios_define_attribute_byvalue (group,
+ * name,
+ */
+ __pyx_t_7 = PyString_AsString(__pyx_v_val); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_pt1 = __pyx_t_7;
+
+ /* "adios_mpi.pyx":429
+ * name,
+ * path,
+ * DATATYPE.string, # <<<<<<<<<<<<<<
+ * 1,
+ * <void *> pt1)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_string); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_8 = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_t_6)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+ /* "adios_mpi.pyx":426
+ * if (val_.size == 1):
+ * pt1 = PyString_AsString(val)
+ * adios_define_attribute_byvalue (group, # <<<<<<<<<<<<<<
+ * name,
+ * path,
+ */
+ adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_t_8, 1, ((void *)__pyx_v_pt1));
+ goto __pyx_L6;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":433
+ * <void *> pt1)
+ * else:
+ * pt2 = to_cstring_array(val) # <<<<<<<<<<<<<<
+ * adios_define_attribute_byvalue (group,
+ * name,
+ */
+ __pyx_v_pt2 = __pyx_f_9adios_mpi_to_cstring_array(__pyx_v_val);
+
+ /* "adios_mpi.pyx":437
+ * name,
+ * path,
+ * DATATYPE.string_array, # <<<<<<<<<<<<<<
+ * len(val),
+ * <void *> pt2)
+ */
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_string_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_8 = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_t_4)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "adios_mpi.pyx":438
+ * path,
+ * DATATYPE.string_array,
+ * len(val), # <<<<<<<<<<<<<<
+ * <void *> pt2)
+ * free(pt2)
+ */
+ __pyx_t_9 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":434
+ * else:
+ * pt2 = to_cstring_array(val)
+ * adios_define_attribute_byvalue (group, # <<<<<<<<<<<<<<
+ * name,
+ * path,
+ */
+ adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_t_8, __pyx_t_9, ((void *)__pyx_v_pt2));
+
+ /* "adios_mpi.pyx":440
+ * len(val),
+ * <void *> pt2)
+ * free(pt2) # <<<<<<<<<<<<<<
+ * else:
+ * adios_define_attribute_byvalue (group,
+ */
+ free(__pyx_v_pt2);
+ }
+ __pyx_L6:;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":445
+ * name,
+ * path,
+ * <ADIOS_DATATYPES> atype, # <<<<<<<<<<<<<<
+ * val_.size,
+ * <void *> val_.data)
+ */
+ __pyx_t_8 = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_v_atype)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":446
+ * path,
+ * <ADIOS_DATATYPES> atype,
+ * val_.size, # <<<<<<<<<<<<<<
+ * <void *> val_.data)
+ *
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_val_), __pyx_n_s_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "adios_mpi.pyx":442
+ * free(pt2)
+ * else:
+ * adios_define_attribute_byvalue (group, # <<<<<<<<<<<<<<
+ * name,
+ * path,
+ */
+ adios_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, ((ADIOS_DATATYPES)__pyx_t_8), __pyx_t_10, ((void *)__pyx_v_val_->data));
+ }
+ __pyx_L5:;
+
+ /* "adios_mpi.pyx":406
+ * var)
+ *
+ * cpdef int define_attribute_byvalue (int64_t group, # <<<<<<<<<<<<<<
+ * char * name,
+ * char * path,
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_WriteUnraisable("adios_mpi.define_attribute_byvalue", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_val_);
+ __Pyx_XDECREF(__pyx_v_atype);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_35define_attribute_byvalue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_34define_attribute_byvalue[] = "define_attribute_byvalue(int64_t group, char *name, char *path, val) -> int";
+static PyObject *__pyx_pw_9adios_mpi_35define_attribute_byvalue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int64_t __pyx_v_group;
+ char *__pyx_v_name;
+ char *__pyx_v_path;
+ PyObject *__pyx_v_val = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define_attribute_byvalue (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_name,&__pyx_n_s_path,&__pyx_n_s_val,0};
+ PyObject* values[4] = {0,0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 2:
+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 3:
+ if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_attribute_byvalue") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ }
+ __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_path = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_val = values[3];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("define_attribute_byvalue", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.define_attribute_byvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_34define_attribute_byvalue(__pyx_self, __pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_val);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_34define_attribute_byvalue(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_name, char *__pyx_v_path, PyObject *__pyx_v_val) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define_attribute_byvalue", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9adios_mpi_define_attribute_byvalue(__pyx_v_group, __pyx_v_name, __pyx_v_path, __pyx_v_val, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.define_attribute_byvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":449
+ * <void *> val_.data)
+ *
+ * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
+ * char * method,
+ * char * parameters = "",
+ */
+
+static PyObject *__pyx_pw_9adios_mpi_37select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_select_method(int64_t __pyx_v_group, char *__pyx_v_method, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_select_method *__pyx_optional_args) {
+ char *__pyx_v_parameters = ((char *)__pyx_k__7);
+ char *__pyx_v_base_path = ((char *)__pyx_k__7);
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("select_method", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_parameters = __pyx_optional_args->parameters;
+ if (__pyx_optional_args->__pyx_n > 1) {
+ __pyx_v_base_path = __pyx_optional_args->base_path;
+ }
+ }
+ }
+
+ /* "adios_mpi.pyx":453
+ * char * parameters = "",
+ * char * base_path = ""):
+ * return adios_select_method (group, # <<<<<<<<<<<<<<
+ * method,
+ * parameters,
+ */
+ __pyx_r = adios_select_method(__pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":449
+ * <void *> val_.data)
+ *
+ * cpdef int select_method (int64_t group, # <<<<<<<<<<<<<<
+ * char * method,
+ * char * parameters = "",
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_37select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_36select_method[] = "select_method(int64_t group, char *method, char *parameters='', char *base_path='') -> int";
+static PyObject *__pyx_pw_9adios_mpi_37select_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int64_t __pyx_v_group;
+ char *__pyx_v_method;
+ char *__pyx_v_parameters;
+ char *__pyx_v_base_path;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("select_method (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_method,&__pyx_n_s_parameters,&__pyx_n_s_base_path,0};
+ PyObject* values[4] = {0,0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
@@ -4559,7 +6314,7 @@ static PyObject *__pyx_pw_9adios_mpi_31select_method(PyObject *__pyx_self, PyObj
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (kw_args > 0) {
@@ -4573,7 +6328,7 @@ static PyObject *__pyx_pw_9adios_mpi_31select_method(PyObject *__pyx_self, PyObj
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_method") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_method") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -4585,35 +6340,35 @@ static PyObject *__pyx_pw_9adios_mpi_31select_method(PyObject *__pyx_self, PyObj
default: goto __pyx_L5_argtuple_error;
}
}
- __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_method = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_group = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_group == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_method = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
if (values[2]) {
- __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_parameters = ((char *)__pyx_k__4);
+ __pyx_v_parameters = ((char *)__pyx_k__7);
}
if (values[3]) {
- __pyx_v_base_path = __Pyx_PyObject_AsString(values[3]); if (unlikely((!__pyx_v_base_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_base_path = __Pyx_PyObject_AsString(values[3]); if (unlikely((!__pyx_v_base_path) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_base_path = ((char *)__pyx_k__4);
+ __pyx_v_base_path = ((char *)__pyx_k__7);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("select_method", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.select_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_30select_method(__pyx_self, __pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
+ __pyx_r = __pyx_pf_9adios_mpi_36select_method(__pyx_self, __pyx_v_group, __pyx_v_method, __pyx_v_parameters, __pyx_v_base_path);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_30select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path) {
+static PyObject *__pyx_pf_9adios_mpi_36select_method(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_group, char *__pyx_v_method, char *__pyx_v_parameters, char *__pyx_v_base_path) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -4628,7 +6383,7 @@ static PyObject *__pyx_pf_9adios_mpi_30select_method(CYTHON_UNUSED PyObject *__p
__pyx_t_2.parameters = __pyx_v_parameters;
__pyx_t_2.base_path = __pyx_v_base_path;
__pyx_t_1 = __pyx_f_9adios_mpi_select_method(__pyx_v_group, __pyx_v_method, 0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -4645,396 +6400,538 @@ static PyObject *__pyx_pf_9adios_mpi_30select_method(CYTHON_UNUSED PyObject *__p
return __pyx_r;
}
-/* "adios_mpi.pyx":367
+/* "adios_mpi.pyx":463
* ## ====================
*
- * cdef type adios2nptype(ADIOS_DATATYPES t): # <<<<<<<<<<<<<<
- * cdef type ntype = None
- * if t == adios_byte:
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1): # <<<<<<<<<<<<<<
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
*/
-static PyObject *__pyx_f_9adios_mpi_adios2nptype(ADIOS_DATATYPES __pyx_v_t) {
- PyObject *__pyx_v_ntype = 0;
- PyObject *__pyx_r = NULL;
+static PyObject *__pyx_pw_9adios_mpi_39adios2npdtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyArray_Descr *__pyx_f_9adios_mpi_adios2npdtype(ADIOS_DATATYPES __pyx_v_t, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_adios2npdtype *__pyx_optional_args) {
+ int __pyx_v_strlen = ((int)1);
+ PyArray_Descr *__pyx_v_ntype = 0;
+ PyArray_Descr *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("adios2nptype", 0);
+ __Pyx_RefNannySetupContext("adios2npdtype", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_strlen = __pyx_optional_args->strlen;
+ }
+ }
- /* "adios_mpi.pyx":368
- *
- * cdef type adios2nptype(ADIOS_DATATYPES t):
- * cdef type ntype = None # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":465
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1):
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None # <<<<<<<<<<<<<<
* if t == adios_byte:
- * ntype = np.int8
+ * ntype = np.dtype(np.int8)
*/
__Pyx_INCREF(Py_None);
- __pyx_v_ntype = ((PyObject*)Py_None);
+ __pyx_v_ntype = ((PyArray_Descr *)Py_None);
- /* "adios_mpi.pyx":393
- * elif t == adios_complex:
- * ntype = np.complex64
- * elif t == adios_double_complex: # <<<<<<<<<<<<<<
- * ntype = np.complex128
+ /* "adios_mpi.pyx":492
+ * elif t == adios_double_complex:
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string: # <<<<<<<<<<<<<<
+ * ntype = np.dtype((np.str_, strlen))
* else:
*/
switch (__pyx_v_t) {
- /* "adios_mpi.pyx":369
- * cdef type adios2nptype(ADIOS_DATATYPES t):
- * cdef type ntype = None
+ /* "adios_mpi.pyx":466
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
* if t == adios_byte: # <<<<<<<<<<<<<<
- * ntype = np.int8
+ * ntype = np.dtype(np.int8)
* elif t == adios_short:
*/
case adios_byte:
- /* "adios_mpi.pyx":370
- * cdef type ntype = None
+ /* "adios_mpi.pyx":467
+ * cdef np.dtype ntype = None
* if t == adios_byte:
- * ntype = np.int8 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int8) # <<<<<<<<<<<<<<
* elif t == adios_short:
- * ntype = np.int16
+ * ntype = np.dtype(np.int16)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios_mpi.pyx":371
+ /* "adios_mpi.pyx":468
* if t == adios_byte:
- * ntype = np.int8
+ * ntype = np.dtype(np.int8)
* elif t == adios_short: # <<<<<<<<<<<<<<
- * ntype = np.int16
+ * ntype = np.dtype(np.int16)
* elif t == adios_integer:
*/
case adios_short:
- /* "adios_mpi.pyx":372
- * ntype = np.int8
+ /* "adios_mpi.pyx":469
+ * ntype = np.dtype(np.int8)
* elif t == adios_short:
- * ntype = np.int16 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int16) # <<<<<<<<<<<<<<
* elif t == adios_integer:
- * ntype = np.int32
+ * ntype = np.dtype(np.int32)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios_mpi.pyx":373
+ /* "adios_mpi.pyx":470
* elif t == adios_short:
- * ntype = np.int16
+ * ntype = np.dtype(np.int16)
* elif t == adios_integer: # <<<<<<<<<<<<<<
- * ntype = np.int32
+ * ntype = np.dtype(np.int32)
* elif t == adios_long:
*/
case adios_integer:
- /* "adios_mpi.pyx":374
- * ntype = np.int16
+ /* "adios_mpi.pyx":471
+ * ntype = np.dtype(np.int16)
* elif t == adios_integer:
- * ntype = np.int32 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int32) # <<<<<<<<<<<<<<
* elif t == adios_long:
- * ntype = np.int64
+ * ntype = np.dtype(np.int64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios_mpi.pyx":375
+ /* "adios_mpi.pyx":472
* elif t == adios_integer:
- * ntype = np.int32
+ * ntype = np.dtype(np.int32)
* elif t == adios_long: # <<<<<<<<<<<<<<
- * ntype = np.int64
+ * ntype = np.dtype(np.int64)
* elif t == adios_unsigned_byte:
*/
case adios_long:
- /* "adios_mpi.pyx":376
- * ntype = np.int32
+ /* "adios_mpi.pyx":473
+ * ntype = np.dtype(np.int32)
* elif t == adios_long:
- * ntype = np.int64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.int64) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_byte:
- * ntype = np.uint8
+ * ntype = np.dtype(np.uint8)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios_mpi.pyx":377
+ /* "adios_mpi.pyx":474
* elif t == adios_long:
- * ntype = np.int64
+ * ntype = np.dtype(np.int64)
* elif t == adios_unsigned_byte: # <<<<<<<<<<<<<<
- * ntype = np.uint8
+ * ntype = np.dtype(np.uint8)
* elif t == adios_unsigned_short:
*/
case adios_unsigned_byte:
- /* "adios_mpi.pyx":378
- * ntype = np.int64
+ /* "adios_mpi.pyx":475
+ * ntype = np.dtype(np.int64)
* elif t == adios_unsigned_byte:
- * ntype = np.uint8 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint8) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_short:
- * ntype = np.uint16
+ * ntype = np.dtype(np.uint16)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios_mpi.pyx":379
+ /* "adios_mpi.pyx":476
* elif t == adios_unsigned_byte:
- * ntype = np.uint8
+ * ntype = np.dtype(np.uint8)
* elif t == adios_unsigned_short: # <<<<<<<<<<<<<<
- * ntype = np.uint16
+ * ntype = np.dtype(np.uint16)
* elif t == adios_unsigned_integer:
*/
case adios_unsigned_short:
- /* "adios_mpi.pyx":380
- * ntype = np.uint8
+ /* "adios_mpi.pyx":477
+ * ntype = np.dtype(np.uint8)
* elif t == adios_unsigned_short:
- * ntype = np.uint16 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint16) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_integer:
- * ntype = np.uint32
+ * ntype = np.dtype(np.uint32)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios_mpi.pyx":381
+ /* "adios_mpi.pyx":478
* elif t == adios_unsigned_short:
- * ntype = np.uint16
+ * ntype = np.dtype(np.uint16)
* elif t == adios_unsigned_integer: # <<<<<<<<<<<<<<
- * ntype = np.uint32
+ * ntype = np.dtype(np.uint32)
* elif t == adios_unsigned_long:
*/
case adios_unsigned_integer:
- /* "adios_mpi.pyx":382
- * ntype = np.uint16
+ /* "adios_mpi.pyx":479
+ * ntype = np.dtype(np.uint16)
* elif t == adios_unsigned_integer:
- * ntype = np.uint32 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint32) # <<<<<<<<<<<<<<
* elif t == adios_unsigned_long:
- * ntype = np.uint64
+ * ntype = np.dtype(np.uint64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- break;
-
- /* "adios_mpi.pyx":383
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
+ __pyx_t_2 = 0;
+ break;
+
+ /* "adios_mpi.pyx":480
* elif t == adios_unsigned_integer:
- * ntype = np.uint32
+ * ntype = np.dtype(np.uint32)
* elif t == adios_unsigned_long: # <<<<<<<<<<<<<<
- * ntype = np.uint64
+ * ntype = np.dtype(np.uint64)
* elif t == adios_real:
*/
case adios_unsigned_long:
- /* "adios_mpi.pyx":384
- * ntype = np.uint32
+ /* "adios_mpi.pyx":481
+ * ntype = np.dtype(np.uint32)
* elif t == adios_unsigned_long:
- * ntype = np.uint64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.uint64) # <<<<<<<<<<<<<<
* elif t == adios_real:
- * ntype = np.float32
+ * ntype = np.dtype(np.float32)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios_mpi.pyx":385
+ /* "adios_mpi.pyx":482
* elif t == adios_unsigned_long:
- * ntype = np.uint64
+ * ntype = np.dtype(np.uint64)
* elif t == adios_real: # <<<<<<<<<<<<<<
- * ntype = np.float32
+ * ntype = np.dtype(np.float32)
* elif t == adios_double:
*/
case adios_real:
- /* "adios_mpi.pyx":386
- * ntype = np.uint64
+ /* "adios_mpi.pyx":483
+ * ntype = np.dtype(np.uint64)
* elif t == adios_real:
- * ntype = np.float32 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.float32) # <<<<<<<<<<<<<<
* elif t == adios_double:
- * ntype = np.float64
+ * ntype = np.dtype(np.float64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios_mpi.pyx":387
+ /* "adios_mpi.pyx":484
* elif t == adios_real:
- * ntype = np.float32
+ * ntype = np.dtype(np.float32)
* elif t == adios_double: # <<<<<<<<<<<<<<
- * ntype = np.float64
+ * ntype = np.dtype(np.float64)
* elif t == adios_long_double:
*/
case adios_double:
- /* "adios_mpi.pyx":388
- * ntype = np.float32
+ /* "adios_mpi.pyx":485
+ * ntype = np.dtype(np.float32)
* elif t == adios_double:
- * ntype = np.float64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.float64) # <<<<<<<<<<<<<<
* elif t == adios_long_double:
- * ntype = np.float128
+ * ntype = np.dtype(np.float128)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios_mpi.pyx":389
+ /* "adios_mpi.pyx":486
* elif t == adios_double:
- * ntype = np.float64
+ * ntype = np.dtype(np.float64)
* elif t == adios_long_double: # <<<<<<<<<<<<<<
- * ntype = np.float128
+ * ntype = np.dtype(np.float128)
* elif t == adios_complex:
*/
case adios_long_double:
- /* "adios_mpi.pyx":390
- * ntype = np.float64
+ /* "adios_mpi.pyx":487
+ * ntype = np.dtype(np.float64)
* elif t == adios_long_double:
- * ntype = np.float128 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.float128) # <<<<<<<<<<<<<<
* elif t == adios_complex:
- * ntype = np.complex64
+ * ntype = np.dtype(np.complex64)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
__pyx_t_2 = 0;
break;
- /* "adios_mpi.pyx":391
+ /* "adios_mpi.pyx":488
* elif t == adios_long_double:
- * ntype = np.float128
+ * ntype = np.dtype(np.float128)
* elif t == adios_complex: # <<<<<<<<<<<<<<
- * ntype = np.complex64
+ * ntype = np.dtype(np.complex64)
* elif t == adios_double_complex:
*/
case adios_complex:
- /* "adios_mpi.pyx":392
- * ntype = np.float128
+ /* "adios_mpi.pyx":489
+ * ntype = np.dtype(np.float128)
* elif t == adios_complex:
- * ntype = np.complex64 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.complex64) # <<<<<<<<<<<<<<
* elif t == adios_double_complex:
- * ntype = np.complex128
+ * ntype = np.dtype(np.complex128)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_1));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_1));
__pyx_t_1 = 0;
break;
- /* "adios_mpi.pyx":393
+ /* "adios_mpi.pyx":490
* elif t == adios_complex:
- * ntype = np.complex64
+ * ntype = np.dtype(np.complex64)
* elif t == adios_double_complex: # <<<<<<<<<<<<<<
- * ntype = np.complex128
- * else:
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string:
*/
case adios_double_complex:
- /* "adios_mpi.pyx":394
- * ntype = np.complex64
+ /* "adios_mpi.pyx":491
+ * ntype = np.dtype(np.complex64)
+ * elif t == adios_double_complex:
+ * ntype = np.dtype(np.complex128) # <<<<<<<<<<<<<<
+ * elif t == adios_string:
+ * ntype = np.dtype((np.str_, strlen))
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_2));
+ __pyx_t_2 = 0;
+ break;
+
+ /* "adios_mpi.pyx":492
* elif t == adios_double_complex:
- * ntype = np.complex128 # <<<<<<<<<<<<<<
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string: # <<<<<<<<<<<<<<
+ * ntype = np.dtype((np.str_, strlen))
+ * else:
+ */
+ case adios_string:
+
+ /* "adios_mpi.pyx":493
+ * ntype = np.dtype(np.complex128)
+ * elif t == adios_string:
+ * ntype = np.dtype((np.str_, strlen)) # <<<<<<<<<<<<<<
* else:
* ntype = None
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_str); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_strlen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyType_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)__pyx_t_2));
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_1 = 0;
__pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_5numpy_dtype)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)__pyx_t_3));
+ __pyx_t_3 = 0;
break;
default:
- /* "adios_mpi.pyx":396
- * ntype = np.complex128
+ /* "adios_mpi.pyx":495
+ * ntype = np.dtype((np.str_, strlen))
* else:
* ntype = None # <<<<<<<<<<<<<<
*
* return ntype
*/
__Pyx_INCREF(Py_None);
- __Pyx_DECREF_SET(__pyx_v_ntype, ((PyObject*)Py_None));
+ __Pyx_DECREF_SET(__pyx_v_ntype, ((PyArray_Descr *)Py_None));
break;
}
- /* "adios_mpi.pyx":398
+ /* "adios_mpi.pyx":497
* ntype = None
*
* return ntype # <<<<<<<<<<<<<<
@@ -5046,28 +6943,126 @@ static PyObject *__pyx_f_9adios_mpi_adios2nptype(ADIOS_DATATYPES __pyx_v_t) {
__pyx_r = __pyx_v_ntype;
goto __pyx_L0;
- /* "adios_mpi.pyx":367
+ /* "adios_mpi.pyx":463
* ## ====================
*
- * cdef type adios2nptype(ADIOS_DATATYPES t): # <<<<<<<<<<<<<<
- * cdef type ntype = None
- * if t == adios_byte:
+ * cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1): # <<<<<<<<<<<<<<
+ * """ strlen apply only to string type """
+ * cdef np.dtype ntype = None
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
- __Pyx_AddTraceback("adios_mpi.adios2nptype", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.adios2npdtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
- __Pyx_XDECREF(__pyx_v_ntype);
+ __Pyx_XDECREF((PyObject *)__pyx_v_ntype);
+ __Pyx_XGIVEREF((PyObject *)__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_39adios2npdtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_38adios2npdtype[] = "adios2npdtype(ADIOS_DATATYPES t, int strlen=1) -> dtype\n strlen apply only to string type ";
+static PyObject *__pyx_pw_9adios_mpi_39adios2npdtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ ADIOS_DATATYPES __pyx_v_t;
+ int __pyx_v_strlen;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("adios2npdtype (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_t,&__pyx_n_s_strlen,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_strlen);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "adios2npdtype") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_t = ((ADIOS_DATATYPES)PyInt_AsLong(values[0])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_strlen = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_strlen == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_strlen = ((int)1);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("adios2npdtype", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.adios2npdtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_38adios2npdtype(__pyx_self, __pyx_v_t, __pyx_v_strlen);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_38adios2npdtype(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_t, int __pyx_v_strlen) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ struct __pyx_opt_args_9adios_mpi_adios2npdtype __pyx_t_2;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("adios2npdtype", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2.__pyx_n = 1;
+ __pyx_t_2.strlen = __pyx_v_strlen;
+ __pyx_t_1 = ((PyObject *)__pyx_f_9adios_mpi_adios2npdtype(__pyx_v_t, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.adios2npdtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":400
+/* "adios_mpi.pyx":499
* return ntype
*
* cdef printfile(ADIOS_FILE * f): # <<<<<<<<<<<<<<
@@ -5088,16 +7083,16 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("printfile", 0);
- /* "adios_mpi.pyx":401
+ /* "adios_mpi.pyx":500
*
* cdef printfile(ADIOS_FILE * f):
* print '%15s : %lu' % ('fh', f.fh) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('nvars', f.nvars)
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
*/
- __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->fh); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->fh); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_fh);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fh);
@@ -5105,22 +7100,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":402
+ /* "adios_mpi.pyx":501
* cdef printfile(ADIOS_FILE * f):
* print '%15s : %lu' % ('fh', f.fh)
* print '%15s : %d' % ('nvars', f.nvars) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
* print '%15s : %d' % ('nattrs', f.nattrs)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_nvars);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_nvars);
@@ -5128,30 +7123,30 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":403
+ /* "adios_mpi.pyx":502
* print '%15s : %lu' % ('fh', f.fh)
* print '%15s : %d' % ('nvars', f.nvars)
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)]) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('nattrs', f.nattrs)
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_v_f->nvars;
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_i = __pyx_t_4;
- __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_var_namelist);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_var_namelist);
@@ -5159,22 +7154,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":404
+ /* "adios_mpi.pyx":503
* print '%15s : %d' % ('nvars', f.nvars)
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
* print '%15s : %d' % ('nattrs', f.nattrs) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
* print '%15s : %d' % ('current_step', f.current_step)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_nattrs);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_nattrs);
@@ -5182,30 +7177,30 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":405
+ /* "adios_mpi.pyx":504
* print '%15s : %s' % ('var_namelist', [f.var_namelist[i] for i in range(f.nvars)])
* print '%15s : %d' % ('nattrs', f.nattrs)
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)]) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('current_step', f.current_step)
* print '%15s : %d' % ('last_step', f.last_step)
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_v_f->nattrs;
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_i = __pyx_t_4;
- __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->attr_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_f->attr_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_attr_namelist);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_attr_namelist);
@@ -5213,22 +7208,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":406
+ /* "adios_mpi.pyx":505
* print '%15s : %d' % ('nattrs', f.nattrs)
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
* print '%15s : %d' % ('current_step', f.current_step) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('last_step', f.last_step)
* print '%15s : %s' % ('path', f.path)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_current_step);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_current_step);
@@ -5236,22 +7231,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":407
+ /* "adios_mpi.pyx":506
* print '%15s : %s' % ('attr_namelist', [f.attr_namelist[i] for i in range(f.nattrs)])
* print '%15s : %d' % ('current_step', f.current_step)
* print '%15s : %d' % ('last_step', f.last_step) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('path', f.path)
* print '%15s : %d' % ('endianness', f.endianness)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_last_step);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_last_step);
@@ -5259,22 +7254,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":408
+ /* "adios_mpi.pyx":507
* print '%15s : %d' % ('current_step', f.current_step)
* print '%15s : %d' % ('last_step', f.last_step)
* print '%15s : %s' % ('path', f.path) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('endianness', f.endianness)
* print '%15s : %d' % ('version', f.version)
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_f->path); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_f->path); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_path);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_path);
@@ -5282,22 +7277,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":409
+ /* "adios_mpi.pyx":508
* print '%15s : %d' % ('last_step', f.last_step)
* print '%15s : %s' % ('path', f.path)
* print '%15s : %d' % ('endianness', f.endianness) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('version', f.version)
* print '%15s : %lu' % ('file_size', f.file_size)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_endianness);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_endianness);
@@ -5305,22 +7300,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":410
+ /* "adios_mpi.pyx":509
* print '%15s : %s' % ('path', f.path)
* print '%15s : %d' % ('endianness', f.endianness)
* print '%15s : %d' % ('version', f.version) # <<<<<<<<<<<<<<
* print '%15s : %lu' % ('file_size', f.file_size)
*
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_version);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_version);
@@ -5328,22 +7323,22 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":411
+ /* "adios_mpi.pyx":510
* print '%15s : %d' % ('endianness', f.endianness)
* print '%15s : %d' % ('version', f.version)
* print '%15s : %lu' % ('file_size', f.file_size) # <<<<<<<<<<<<<<
*
* cdef printvar(ADIOS_VARINFO * v):
*/
- __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_f->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_file_size);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_file_size);
@@ -5351,13 +7346,13 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":400
+ /* "adios_mpi.pyx":499
* return ntype
*
* cdef printfile(ADIOS_FILE * f): # <<<<<<<<<<<<<<
@@ -5379,12 +7374,12 @@ static PyObject *__pyx_f_9adios_mpi_printfile(ADIOS_FILE *__pyx_v_f) {
return __pyx_r;
}
-/* "adios_mpi.pyx":413
+/* "adios_mpi.pyx":512
* print '%15s : %lu' % ('file_size', f.file_size)
*
* cdef printvar(ADIOS_VARINFO * v): # <<<<<<<<<<<<<<
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
*/
static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
@@ -5400,16 +7395,16 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("printvar", 0);
- /* "adios_mpi.pyx":414
+ /* "adios_mpi.pyx":513
*
* cdef printvar(ADIOS_VARINFO * v):
* print '%15s : %d' % ('varid', v.varid) # <<<<<<<<<<<<<<
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
* print '%15s : %d' % ('ndim', v.ndim)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_varid);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_varid);
@@ -5417,22 +7412,22 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":415
+ /* "adios_mpi.pyx":514
* cdef printvar(ADIOS_VARINFO * v):
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type)) # <<<<<<<<<<<<<<
+ * print '%15s : %s' % ('type', adios2npdtype(v.type)) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('ndim', v.ndim)
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
*/
- __pyx_t_1 = ((PyObject *)__pyx_f_9adios_mpi_adios2nptype(__pyx_v_v->type)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_9adios_mpi_adios2npdtype(__pyx_v_v->type, 0, NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_type);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_type);
@@ -5440,22 +7435,22 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":416
+ /* "adios_mpi.pyx":515
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
* print '%15s : %d' % ('ndim', v.ndim) # <<<<<<<<<<<<<<
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
* print '%15s : %d' % ('nsteps', v.nsteps)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_ndim);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ndim);
@@ -5463,30 +7458,30 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":417
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ /* "adios_mpi.pyx":516
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
* print '%15s : %d' % ('ndim', v.ndim)
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)]) # <<<<<<<<<<<<<<
* print '%15s : %d' % ('nsteps', v.nsteps)
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_v_v->ndim;
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_i = __pyx_t_4;
- __pyx_t_2 = __Pyx_PyInt_From_uint64_t((__pyx_v_v->dims[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyInt_From_uint64_t((__pyx_v_v->dims[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_dims);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_dims);
@@ -5494,22 +7489,22 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":418
+ /* "adios_mpi.pyx":517
* print '%15s : %d' % ('ndim', v.ndim)
* print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
* print '%15s : %d' % ('nsteps', v.nsteps) # <<<<<<<<<<<<<<
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_v->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_nsteps);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_nsteps);
@@ -5517,18 +7512,18 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_d, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":413
+ /* "adios_mpi.pyx":512
* print '%15s : %lu' % ('file_size', f.file_size)
*
* cdef printvar(ADIOS_VARINFO * v): # <<<<<<<<<<<<<<
* print '%15s : %d' % ('varid', v.varid)
- * print '%15s : %s' % ('type', adios2nptype(v.type))
+ * print '%15s : %s' % ('type', adios2npdtype(v.type))
*/
/* function exit code */
@@ -5545,167 +7540,205 @@ static PyObject *__pyx_f_9adios_mpi_printvar(ADIOS_VARINFO *__pyx_v_v) {
return __pyx_r;
}
-/* "adios_mpi.pyx":420
+/* "adios_mpi.pyx":519
* print '%15s : %d' % ('nsteps', v.nsteps)
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name): # <<<<<<<<<<<<<<
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
*/
static ADIOS_READ_METHOD __pyx_f_9adios_mpi_str2adiosreadmethod(PyObject *__pyx_v_name) {
- ADIOS_READ_METHOD __pyx_v_method;
+ PyObject *__pyx_v_method = NULL;
ADIOS_READ_METHOD __pyx_r;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ ADIOS_READ_METHOD __pyx_t_5;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("str2adiosreadmethod", 0);
- /* "adios_mpi.pyx":421
+ /* "adios_mpi.pyx":520
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
* if (name == "BP"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
* elif (name == "BP_AGGREGATE"):
*/
- __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "adios_mpi.pyx":422
+ /* "adios_mpi.pyx":521
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP # <<<<<<<<<<<<<<
+ * method = READ_METHOD.BP # <<<<<<<<<<<<<<
* elif (name == "BP_AGGREGATE"):
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ * method = READ_METHOD.BP_AGGREGATE
*/
- __pyx_v_method = ADIOS_READ_METHOD_BP;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L3;
}
- /* "adios_mpi.pyx":423
+ /* "adios_mpi.pyx":522
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
* elif (name == "BP_AGGREGATE"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ * method = READ_METHOD.BP_AGGREGATE
* elif (name == "DATASPACES"):
*/
- __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP_AGGREGATE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_BP_AGGREGATE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "adios_mpi.pyx":424
- * method = ADIOS_READ_METHOD_BP
+ /* "adios_mpi.pyx":523
+ * method = READ_METHOD.BP
* elif (name == "BP_AGGREGATE"):
- * method = ADIOS_READ_METHOD_BP_AGGREGATE # <<<<<<<<<<<<<<
+ * method = READ_METHOD.BP_AGGREGATE # <<<<<<<<<<<<<<
* elif (name == "DATASPACES"):
- * method = ADIOS_READ_METHOD_DATASPACES
+ * method = READ_METHOD.DATASPACES
*/
- __pyx_v_method = ADIOS_READ_METHOD_BP_AGGREGATE;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BP_AGGREGATE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3;
}
- /* "adios_mpi.pyx":425
+ /* "adios_mpi.pyx":524
* elif (name == "BP_AGGREGATE"):
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ * method = READ_METHOD.BP_AGGREGATE
* elif (name == "DATASPACES"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_DATASPACES
+ * method = READ_METHOD.DATASPACES
* elif (name == "DIMES"):
*/
- __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DATASPACES, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DATASPACES, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "adios_mpi.pyx":426
- * method = ADIOS_READ_METHOD_BP_AGGREGATE
+ /* "adios_mpi.pyx":525
+ * method = READ_METHOD.BP_AGGREGATE
* elif (name == "DATASPACES"):
- * method = ADIOS_READ_METHOD_DATASPACES # <<<<<<<<<<<<<<
+ * method = READ_METHOD.DATASPACES # <<<<<<<<<<<<<<
* elif (name == "DIMES"):
- * method = ADIOS_READ_METHOD_DIMES
+ * method = READ_METHOD.DIMES
*/
- __pyx_v_method = ADIOS_READ_METHOD_DATASPACES;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_DATASPACES); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L3;
}
- /* "adios_mpi.pyx":427
+ /* "adios_mpi.pyx":526
* elif (name == "DATASPACES"):
- * method = ADIOS_READ_METHOD_DATASPACES
+ * method = READ_METHOD.DATASPACES
* elif (name == "DIMES"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_DIMES
+ * method = READ_METHOD.DIMES
* elif (name == "FLEXPATH"):
*/
- __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DIMES, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_DIMES, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "adios_mpi.pyx":428
- * method = ADIOS_READ_METHOD_DATASPACES
+ /* "adios_mpi.pyx":527
+ * method = READ_METHOD.DATASPACES
* elif (name == "DIMES"):
- * method = ADIOS_READ_METHOD_DIMES # <<<<<<<<<<<<<<
+ * method = READ_METHOD.DIMES # <<<<<<<<<<<<<<
* elif (name == "FLEXPATH"):
- * method = ADIOS_READ_METHOD_FLEXPATH
+ * method = READ_METHOD.FLEXPATH
*/
- __pyx_v_method = ADIOS_READ_METHOD_DIMES;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_DIMES); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3;
}
- /* "adios_mpi.pyx":429
+ /* "adios_mpi.pyx":528
* elif (name == "DIMES"):
- * method = ADIOS_READ_METHOD_DIMES
+ * method = READ_METHOD.DIMES
* elif (name == "FLEXPATH"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_FLEXPATH
+ * method = READ_METHOD.FLEXPATH
* elif (name == "ICEE"):
*/
- __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_FLEXPATH, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_FLEXPATH, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "adios_mpi.pyx":430
- * method = ADIOS_READ_METHOD_DIMES
+ /* "adios_mpi.pyx":529
+ * method = READ_METHOD.DIMES
* elif (name == "FLEXPATH"):
- * method = ADIOS_READ_METHOD_FLEXPATH # <<<<<<<<<<<<<<
+ * method = READ_METHOD.FLEXPATH # <<<<<<<<<<<<<<
* elif (name == "ICEE"):
- * method = ADIOS_READ_METHOD_ICEE
+ * method = READ_METHOD.ICEE
*/
- __pyx_v_method = ADIOS_READ_METHOD_FLEXPATH;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_FLEXPATH); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L3;
}
- /* "adios_mpi.pyx":431
+ /* "adios_mpi.pyx":530
* elif (name == "FLEXPATH"):
- * method = ADIOS_READ_METHOD_FLEXPATH
+ * method = READ_METHOD.FLEXPATH
* elif (name == "ICEE"): # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_ICEE
+ * method = READ_METHOD.ICEE
* else:
*/
- __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_ICEE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_name, __pyx_n_s_ICEE, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "adios_mpi.pyx":432
- * method = ADIOS_READ_METHOD_FLEXPATH
+ /* "adios_mpi.pyx":531
+ * method = READ_METHOD.FLEXPATH
* elif (name == "ICEE"):
- * method = ADIOS_READ_METHOD_ICEE # <<<<<<<<<<<<<<
+ * method = READ_METHOD.ICEE # <<<<<<<<<<<<<<
* else:
* print '[WARN] Invalid read method name:', name, '. Use default BP method'
*/
- __pyx_v_method = ADIOS_READ_METHOD_ICEE;
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ICEE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3;
}
/*else*/ {
- /* "adios_mpi.pyx":434
- * method = ADIOS_READ_METHOD_ICEE
+ /* "adios_mpi.pyx":533
+ * method = READ_METHOD.ICEE
* else:
* print '[WARN] Invalid read method name:', name, '. Use default BP method' # <<<<<<<<<<<<<<
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
*
*/
- __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_kp_s_WARN_Invalid_read_method_name);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_s_WARN_Invalid_read_method_name);
@@ -5716,57 +7749,66 @@ static ADIOS_READ_METHOD __pyx_f_9adios_mpi_str2adiosreadmethod(PyObject *__pyx_
__Pyx_INCREF(__pyx_kp_s_Use_default_BP_method);
PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_s_Use_default_BP_method);
__Pyx_GIVEREF(__pyx_kp_s_Use_default_BP_method);
- if (__Pyx_Print(0, __pyx_t_3, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_Print(0, __pyx_t_3, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "adios_mpi.pyx":435
+ /* "adios_mpi.pyx":534
* else:
* print '[WARN] Invalid read method name:', name, '. Use default BP method'
- * method = ADIOS_READ_METHOD_BP # <<<<<<<<<<<<<<
+ * method = READ_METHOD.BP # <<<<<<<<<<<<<<
*
* return method
*/
- __pyx_v_method = ADIOS_READ_METHOD_BP;
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_READ_METHOD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_method = __pyx_t_4;
+ __pyx_t_4 = 0;
}
__pyx_L3:;
- /* "adios_mpi.pyx":437
- * method = ADIOS_READ_METHOD_BP
+ /* "adios_mpi.pyx":536
+ * method = READ_METHOD.BP
*
* return method # <<<<<<<<<<<<<<
*
- * cpdef np2adiostype(type nptype):
+ * cpdef np2adiostype(np.dtype nptype):
*/
- __pyx_r = __pyx_v_method;
+ __pyx_t_5 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_t_5;
goto __pyx_L0;
- /* "adios_mpi.pyx":420
+ /* "adios_mpi.pyx":519
* print '%15s : %d' % ('nsteps', v.nsteps)
*
* cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name): # <<<<<<<<<<<<<<
* if (name == "BP"):
- * method = ADIOS_READ_METHOD_BP
+ * method = READ_METHOD.BP
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_WriteUnraisable("adios_mpi.str2adiosreadmethod", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_method);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":439
+/* "adios_mpi.pyx":538
* return method
*
- * cpdef np2adiostype(type nptype): # <<<<<<<<<<<<<<
- * """ Ignored: int_, intc, intp """
- *
+ * cpdef np2adiostype(np.dtype nptype): # <<<<<<<<<<<<<<
+ * """ Convert Numpy.dtype to Adios Datatype
+ * """
*/
-static PyObject *__pyx_pw_9adios_mpi_33np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHON_UNUSED int __pyx_skip_dispatch) {
+static PyObject *__pyx_pw_9adios_mpi_41np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyArray_Descr *__pyx_v_nptype, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_atype = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -5778,49 +7820,49 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("np2adiostype", 0);
- /* "adios_mpi.pyx":442
- * """ Ignored: int_, intc, intp """
+ /* "adios_mpi.pyx":542
+ * """
*
* cdef atype = DATATYPE.unknown # <<<<<<<<<<<<<<
*
* if (nptype == np.bool_):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unknown); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unknown); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_atype = __pyx_t_2;
__pyx_t_2 = 0;
- /* "adios_mpi.pyx":444
+ /* "adios_mpi.pyx":544
* cdef atype = DATATYPE.unknown
*
* if (nptype == np.bool_): # <<<<<<<<<<<<<<
* atype = DATATYPE.integer
* elif (nptype == np.int8):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bool); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":445
+ /* "adios_mpi.pyx":545
*
* if (nptype == np.bool_):
* atype = DATATYPE.integer # <<<<<<<<<<<<<<
* elif (nptype == np.int8):
* atype = DATATYPE.byte
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_integer); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_integer); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5828,34 +7870,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":446
+ /* "adios_mpi.pyx":546
* if (nptype == np.bool_):
* atype = DATATYPE.integer
* elif (nptype == np.int8): # <<<<<<<<<<<<<<
* atype = DATATYPE.byte
* elif (nptype == np.int16):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":447
+ /* "adios_mpi.pyx":547
* atype = DATATYPE.integer
* elif (nptype == np.int8):
* atype = DATATYPE.byte # <<<<<<<<<<<<<<
* elif (nptype == np.int16):
* atype = DATATYPE.short
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5863,34 +7905,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":448
+ /* "adios_mpi.pyx":548
* elif (nptype == np.int8):
* atype = DATATYPE.byte
* elif (nptype == np.int16): # <<<<<<<<<<<<<<
* atype = DATATYPE.short
* elif (nptype == np.int32):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":449
+ /* "adios_mpi.pyx":549
* atype = DATATYPE.byte
* elif (nptype == np.int16):
* atype = DATATYPE.short # <<<<<<<<<<<<<<
* elif (nptype == np.int32):
* atype = DATATYPE.integer
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5898,34 +7940,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":450
+ /* "adios_mpi.pyx":550
* elif (nptype == np.int16):
* atype = DATATYPE.short
* elif (nptype == np.int32): # <<<<<<<<<<<<<<
* atype = DATATYPE.integer
* elif (nptype == np.int64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":451
+ /* "adios_mpi.pyx":551
* atype = DATATYPE.short
* elif (nptype == np.int32):
* atype = DATATYPE.integer # <<<<<<<<<<<<<<
* elif (nptype == np.int64):
* atype = DATATYPE.long
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -5933,34 +7975,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":452
+ /* "adios_mpi.pyx":552
* elif (nptype == np.int32):
* atype = DATATYPE.integer
* elif (nptype == np.int64): # <<<<<<<<<<<<<<
* atype = DATATYPE.long
* elif (nptype == np.uint8):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":453
+ /* "adios_mpi.pyx":553
* atype = DATATYPE.integer
* elif (nptype == np.int64):
* atype = DATATYPE.long # <<<<<<<<<<<<<<
* elif (nptype == np.uint8):
* atype = DATATYPE.unsigned_byte
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -5968,34 +8010,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":454
+ /* "adios_mpi.pyx":554
* elif (nptype == np.int64):
* atype = DATATYPE.long
* elif (nptype == np.uint8): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_byte
* elif (nptype == np.uint16):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":455
+ /* "adios_mpi.pyx":555
* atype = DATATYPE.long
* elif (nptype == np.uint8):
* atype = DATATYPE.unsigned_byte # <<<<<<<<<<<<<<
* elif (nptype == np.uint16):
* atype = DATATYPE.unsigned_short
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_byte); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6003,34 +8045,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":456
+ /* "adios_mpi.pyx":556
* elif (nptype == np.uint8):
* atype = DATATYPE.unsigned_byte
* elif (nptype == np.uint16): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_short
* elif (nptype == np.uint32):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":457
+ /* "adios_mpi.pyx":557
* atype = DATATYPE.unsigned_byte
* elif (nptype == np.uint16):
* atype = DATATYPE.unsigned_short # <<<<<<<<<<<<<<
* elif (nptype == np.uint32):
* atype = DATATYPE.unsigned_integer
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_short); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -6038,34 +8080,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":458
+ /* "adios_mpi.pyx":558
* elif (nptype == np.uint16):
* atype = DATATYPE.unsigned_short
* elif (nptype == np.uint32): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_integer
* elif (nptype == np.uint64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":459
+ /* "adios_mpi.pyx":559
* atype = DATATYPE.unsigned_short
* elif (nptype == np.uint32):
* atype = DATATYPE.unsigned_integer # <<<<<<<<<<<<<<
* elif (nptype == np.uint64):
* atype = DATATYPE.unsigned_long
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unsigned_integer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6073,34 +8115,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":460
+ /* "adios_mpi.pyx":560
* elif (nptype == np.uint32):
* atype = DATATYPE.unsigned_integer
* elif (nptype == np.uint64): # <<<<<<<<<<<<<<
* atype = DATATYPE.unsigned_long
* elif (nptype == np.float_):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":461
+ /* "adios_mpi.pyx":561
* atype = DATATYPE.unsigned_integer
* elif (nptype == np.uint64):
* atype = DATATYPE.unsigned_long # <<<<<<<<<<<<<<
* elif (nptype == np.float_):
* atype = DATATYPE.double
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_unsigned_long); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -6108,34 +8150,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":462
+ /* "adios_mpi.pyx":562
* elif (nptype == np.uint64):
* atype = DATATYPE.unsigned_long
* elif (nptype == np.float_): # <<<<<<<<<<<<<<
* atype = DATATYPE.double
* elif (nptype == np.float16):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":463
+ /* "adios_mpi.pyx":563
* atype = DATATYPE.unsigned_long
* elif (nptype == np.float_):
* atype = DATATYPE.double # <<<<<<<<<<<<<<
* elif (nptype == np.float16):
* atype = DATATYPE.real
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6143,34 +8185,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":464
+ /* "adios_mpi.pyx":564
* elif (nptype == np.float_):
* atype = DATATYPE.double
* elif (nptype == np.float16): # <<<<<<<<<<<<<<
* atype = DATATYPE.real
* elif (nptype == np.float32):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":465
+ /* "adios_mpi.pyx":565
* atype = DATATYPE.double
* elif (nptype == np.float16):
* atype = DATATYPE.real # <<<<<<<<<<<<<<
* elif (nptype == np.float32):
* atype = DATATYPE.real
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_real); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_real); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -6178,34 +8220,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":466
+ /* "adios_mpi.pyx":566
* elif (nptype == np.float16):
* atype = DATATYPE.real
* elif (nptype == np.float32): # <<<<<<<<<<<<<<
* atype = DATATYPE.real
* elif (nptype == np.float64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":467
+ /* "adios_mpi.pyx":567
* atype = DATATYPE.real
* elif (nptype == np.float32):
* atype = DATATYPE.real # <<<<<<<<<<<<<<
* elif (nptype == np.float64):
* atype = DATATYPE.double
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_real); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_real); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6213,34 +8255,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":468
+ /* "adios_mpi.pyx":568
* elif (nptype == np.float32):
* atype = DATATYPE.real
* elif (nptype == np.float64): # <<<<<<<<<<<<<<
* atype = DATATYPE.double
* elif (nptype == np.complex_):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_float64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":469
+ /* "adios_mpi.pyx":569
* atype = DATATYPE.real
* elif (nptype == np.float64):
* atype = DATATYPE.double # <<<<<<<<<<<<<<
* elif (nptype == np.complex_):
* atype = DATATYPE.double_complex
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -6248,34 +8290,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":470
+ /* "adios_mpi.pyx":570
* elif (nptype == np.float64):
* atype = DATATYPE.double
* elif (nptype == np.complex_): # <<<<<<<<<<<<<<
* atype = DATATYPE.double_complex
* elif (nptype == np.complex64):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":471
+ /* "adios_mpi.pyx":571
* atype = DATATYPE.double
* elif (nptype == np.complex_):
* atype = DATATYPE.double_complex # <<<<<<<<<<<<<<
* elif (nptype == np.complex64):
* atype = DATATYPE.complex
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6283,34 +8325,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":472
+ /* "adios_mpi.pyx":572
* elif (nptype == np.complex_):
* atype = DATATYPE.double_complex
* elif (nptype == np.complex64): # <<<<<<<<<<<<<<
* atype = DATATYPE.complex
* elif (nptype == np.complex128):
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex64); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":473
+ /* "adios_mpi.pyx":573
* atype = DATATYPE.double_complex
* elif (nptype == np.complex64):
* atype = DATATYPE.complex # <<<<<<<<<<<<<<
* elif (nptype == np.complex128):
* atype = DATATYPE.double_complex
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_complex_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
@@ -6318,34 +8360,34 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":474
+ /* "adios_mpi.pyx":574
* elif (nptype == np.complex64):
* atype = DATATYPE.complex
* elif (nptype == np.complex128): # <<<<<<<<<<<<<<
* atype = DATATYPE.double_complex
- * elif (nptype == np.str_):
+ * elif (nptype.char == 'S'):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_complex128); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":475
+ /* "adios_mpi.pyx":575
* atype = DATATYPE.complex
* elif (nptype == np.complex128):
* atype = DATATYPE.double_complex # <<<<<<<<<<<<<<
- * elif (nptype == np.str_):
- * atype = DATATYPE.byte
+ * elif (nptype.char == 'S'):
+ * atype = DATATYPE.string
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_double_complex); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
@@ -6353,60 +8395,72 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
goto __pyx_L3;
}
- /* "adios_mpi.pyx":476
+ /* "adios_mpi.pyx":576
* elif (nptype == np.complex128):
* atype = DATATYPE.double_complex
- * elif (nptype == np.str_): # <<<<<<<<<<<<<<
- * atype = DATATYPE.byte
- *
+ * elif (nptype.char == 'S'): # <<<<<<<<<<<<<<
+ * atype = DATATYPE.string
+ * else:
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_nptype), __pyx_n_s_char); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_str); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nptype), __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_3) {
- /* "adios_mpi.pyx":477
+ /* "adios_mpi.pyx":577
* atype = DATATYPE.double_complex
- * elif (nptype == np.str_):
- * atype = DATATYPE.byte # <<<<<<<<<<<<<<
- *
- * return atype
+ * elif (nptype.char == 'S'):
+ * atype = DATATYPE.string # <<<<<<<<<<<<<<
+ * else:
+ * atype = DATATYPE.unknown
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_byte); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_string); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_1);
__pyx_t_1 = 0;
goto __pyx_L3;
}
+ /*else*/ {
+
+ /* "adios_mpi.pyx":579
+ * atype = DATATYPE.string
+ * else:
+ * atype = DATATYPE.unknown # <<<<<<<<<<<<<<
+ *
+ * return atype
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_unknown); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_atype, __pyx_t_2);
+ __pyx_t_2 = 0;
+ }
__pyx_L3:;
- /* "adios_mpi.pyx":479
- * atype = DATATYPE.byte
+ /* "adios_mpi.pyx":581
+ * atype = DATATYPE.unknown
*
* return atype # <<<<<<<<<<<<<<
*
- * ## ====================
+ * cpdef str adiostype2string (ADIOS_DATATYPES type):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_atype);
__pyx_r = __pyx_v_atype;
goto __pyx_L0;
- /* "adios_mpi.pyx":439
+ /* "adios_mpi.pyx":538
* return method
*
- * cpdef np2adiostype(type nptype): # <<<<<<<<<<<<<<
- * """ Ignored: int_, intc, intp """
- *
+ * cpdef np2adiostype(np.dtype nptype): # <<<<<<<<<<<<<<
+ * """ Convert Numpy.dtype to Adios Datatype
+ * """
*/
/* function exit code */
@@ -6423,17 +8477,17 @@ static PyObject *__pyx_f_9adios_mpi_np2adiostype(PyObject *__pyx_v_nptype, CYTHO
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_33np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
-static char __pyx_doc_9adios_mpi_32np2adiostype[] = " Ignored: int_, intc, intp ";
-static PyObject *__pyx_pw_9adios_mpi_33np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype) {
+static PyObject *__pyx_pw_9adios_mpi_41np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype); /*proto*/
+static char __pyx_doc_9adios_mpi_40np2adiostype[] = "np2adiostype(dtype nptype)\n Convert Numpy.dtype to Adios Datatype\n ";
+static PyObject *__pyx_pw_9adios_mpi_41np2adiostype(PyObject *__pyx_self, PyObject *__pyx_v_nptype) {
CYTHON_UNUSED int __pyx_lineno = 0;
CYTHON_UNUSED const char *__pyx_filename = NULL;
CYTHON_UNUSED int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("np2adiostype (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nptype), (&PyType_Type), 1, "nptype", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_32np2adiostype(__pyx_self, ((PyObject*)__pyx_v_nptype));
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nptype), __pyx_ptype_5numpy_dtype, 1, "nptype", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_40np2adiostype(__pyx_self, ((PyArray_Descr *)__pyx_v_nptype));
/* function exit code */
goto __pyx_L0;
@@ -6444,7 +8498,7 @@ static PyObject *__pyx_pw_9adios_mpi_33np2adiostype(PyObject *__pyx_self, PyObje
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_32np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nptype) {
+static PyObject *__pyx_pf_9adios_mpi_40np2adiostype(CYTHON_UNUSED PyObject *__pyx_self, PyArray_Descr *__pyx_v_nptype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -6453,7 +8507,7 @@ static PyObject *__pyx_pf_9adios_mpi_32np2adiostype(CYTHON_UNUSED PyObject *__py
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("np2adiostype", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_9adios_mpi_np2adiostype(__pyx_v_nptype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_np2adiostype(__pyx_v_nptype, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -6470,68 +8524,183 @@ static PyObject *__pyx_pf_9adios_mpi_32np2adiostype(CYTHON_UNUSED PyObject *__py
return __pyx_r;
}
-/* "adios_mpi.pyx":486
+/* "adios_mpi.pyx":583
+ * return atype
+ *
+ * cpdef str adiostype2string (ADIOS_DATATYPES type): # <<<<<<<<<<<<<<
+ * return str(adios_type_to_string(<ADIOS_DATATYPES> type))
*
- * """ Call adios_read_init_method """
- * cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
- * MPI.Comm comm = MPI.COMM_WORLD,
- * char * parameters = ""):
*/
-static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_9adios_mpi_read_init(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_read_init *__pyx_optional_args) {
- char *__pyx_v_method_name = ((char *)__pyx_k_BP);
- struct PyMPICommObject *__pyx_v_comm = __pyx_k__5;
- char *__pyx_v_parameters = ((char *)__pyx_k__4);
- PyObject *__pyx_v_method = 0;
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_43adiostype2string(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_adiostype2string(ADIOS_DATATYPES __pyx_v_type, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
- ADIOS_READ_METHOD __pyx_t_3;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("read_init", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_method_name = __pyx_optional_args->method_name;
- if (__pyx_optional_args->__pyx_n > 1) {
- __pyx_v_comm = __pyx_optional_args->comm;
- if (__pyx_optional_args->__pyx_n > 2) {
- __pyx_v_parameters = __pyx_optional_args->parameters;
- }
- }
- }
- }
+ __Pyx_RefNannySetupContext("adiostype2string", 0);
- /* "adios_mpi.pyx":489
- * MPI.Comm comm = MPI.COMM_WORLD,
- * char * parameters = ""):
- * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
- * return adios_read_init_method (method, comm.ob_mpi, parameters)
+ /* "adios_mpi.pyx":584
*
+ * cpdef str adiostype2string (ADIOS_DATATYPES type):
+ * return str(adios_type_to_string(<ADIOS_DATATYPES> type)) # <<<<<<<<<<<<<<
+ *
+ * ## ====================
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBytes_FromString(adios_type_to_string(((ADIOS_DATATYPES)__pyx_v_type))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyInt_FromLong(__pyx_f_9adios_mpi_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_method = __pyx_t_2;
- __pyx_t_2 = 0;
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":490
- * char * parameters = ""):
- * cdef method = str2adiosreadmethod(method_name)
+ /* "adios_mpi.pyx":583
+ * return atype
+ *
+ * cpdef str adiostype2string (ADIOS_DATATYPES type): # <<<<<<<<<<<<<<
+ * return str(adios_type_to_string(<ADIOS_DATATYPES> type))
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios_mpi.adiostype2string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_43adiostype2string(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
+static char __pyx_doc_9adios_mpi_42adiostype2string[] = "adiostype2string(ADIOS_DATATYPES type) -> str";
+static PyObject *__pyx_pw_9adios_mpi_43adiostype2string(PyObject *__pyx_self, PyObject *__pyx_arg_type) {
+ ADIOS_DATATYPES __pyx_v_type;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("adiostype2string (wrapper)", 0);
+ assert(__pyx_arg_type); {
+ __pyx_v_type = ((ADIOS_DATATYPES)PyInt_AsLong(__pyx_arg_type)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.adiostype2string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_42adiostype2string(__pyx_self, ((ADIOS_DATATYPES)__pyx_v_type));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_42adiostype2string(CYTHON_UNUSED PyObject *__pyx_self, ADIOS_DATATYPES __pyx_v_type) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("adiostype2string", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_9adios_mpi_adiostype2string(__pyx_v_type, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.adiostype2string", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":591
+ *
+ * """ Call adios_read_init_method """
+ * cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
+ * MPI.Comm comm = MPI.COMM_WORLD,
+ * char * parameters = ""):
+ */
+
+static PyObject *__pyx_pw_9adios_mpi_45read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_9adios_mpi_read_init(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_read_init *__pyx_optional_args) {
+ char *__pyx_v_method_name = ((char *)__pyx_k_BP);
+ struct PyMPICommObject *__pyx_v_comm = __pyx_k__8;
+ char *__pyx_v_parameters = ((char *)__pyx_k__7);
+ PyObject *__pyx_v_method = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ ADIOS_READ_METHOD __pyx_t_3;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("read_init", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_method_name = __pyx_optional_args->method_name;
+ if (__pyx_optional_args->__pyx_n > 1) {
+ __pyx_v_comm = __pyx_optional_args->comm;
+ if (__pyx_optional_args->__pyx_n > 2) {
+ __pyx_v_parameters = __pyx_optional_args->parameters;
+ }
+ }
+ }
+ }
+
+ /* "adios_mpi.pyx":594
+ * MPI.Comm comm = MPI.COMM_WORLD,
+ * char * parameters = ""):
+ * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
+ * return adios_read_init_method (method, comm.ob_mpi, parameters)
+ *
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyInt_FromLong(__pyx_f_9adios_mpi_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_method = __pyx_t_2;
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":595
+ * char * parameters = ""):
+ * cdef method = str2adiosreadmethod(method_name)
* return adios_read_init_method (method, comm.ob_mpi, parameters) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = adios_read_init_method(__pyx_t_3, __pyx_v_comm->ob_mpi, __pyx_v_parameters);
goto __pyx_L0;
- /* "adios_mpi.pyx":486
+ /* "adios_mpi.pyx":591
*
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
@@ -6552,8 +8721,9 @@ static int __pyx_f_9adios_mpi_read_init(CYTHON_UNUSED int __pyx_skip_dispatch, s
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_45read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_44read_init[] = "read_init(char *method_name='BP', Comm comm=MPI.COMM_WORLD, char *parameters='') -> int";
+static PyObject *__pyx_pw_9adios_mpi_45read_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_method_name;
struct PyMPICommObject *__pyx_v_comm = 0;
char *__pyx_v_parameters;
@@ -6566,7 +8736,7 @@ static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_method_name,&__pyx_n_s_comm,&__pyx_n_s_parameters,0};
PyObject* values[3] = {0,0,0};
- values[1] = (PyObject *)__pyx_k__5;
+ values[1] = (PyObject *)__pyx_k__8;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -6596,7 +8766,7 @@ static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_init") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6608,27 +8778,27 @@ static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject
}
}
if (values[0]) {
- __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_method_name = ((char *)__pyx_k_BP);
}
__pyx_v_comm = ((struct PyMPICommObject *)values[1]);
if (values[2]) {
- __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_parameters = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_parameters) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- __pyx_v_parameters = ((char *)__pyx_k__4);
+ __pyx_v_parameters = ((char *)__pyx_k__7);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read_init", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read_init", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.read_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_34read_init(__pyx_self, __pyx_v_method_name, __pyx_v_comm, __pyx_v_parameters);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_44read_init(__pyx_self, __pyx_v_method_name, __pyx_v_comm, __pyx_v_parameters);
/* function exit code */
goto __pyx_L0;
@@ -6639,7 +8809,7 @@ static PyObject *__pyx_pw_9adios_mpi_35read_init(PyObject *__pyx_self, PyObject
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_34read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, char *__pyx_v_parameters) {
+static PyObject *__pyx_pf_9adios_mpi_44read_init(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, char *__pyx_v_parameters) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -6655,7 +8825,7 @@ static PyObject *__pyx_pf_9adios_mpi_34read_init(CYTHON_UNUSED PyObject *__pyx_s
__pyx_t_2.comm = __pyx_v_comm;
__pyx_t_2.parameters = __pyx_v_parameters;
__pyx_t_1 = __pyx_f_9adios_mpi_read_init(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -6672,7 +8842,7 @@ static PyObject *__pyx_pf_9adios_mpi_34read_init(CYTHON_UNUSED PyObject *__pyx_s
return __pyx_r;
}
-/* "adios_mpi.pyx":494
+/* "adios_mpi.pyx":599
*
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"): # <<<<<<<<<<<<<<
@@ -6680,7 +8850,7 @@ static PyObject *__pyx_pf_9adios_mpi_34read_init(CYTHON_UNUSED PyObject *__pyx_s
* return adios_read_finalize_method (method)
*/
-static PyObject *__pyx_pw_9adios_mpi_37read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_47read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_9adios_mpi_read_finalize(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_read_finalize *__pyx_optional_args) {
char *__pyx_v_method_name = ((char *)__pyx_k_BP);
PyObject *__pyx_v_method = 0;
@@ -6699,33 +8869,33 @@ static int __pyx_f_9adios_mpi_read_finalize(CYTHON_UNUSED int __pyx_skip_dispatc
}
}
- /* "adios_mpi.pyx":495
+ /* "adios_mpi.pyx":600
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"):
* cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
* return adios_read_finalize_method (method)
*
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyInt_FromLong(__pyx_f_9adios_mpi_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyInt_FromLong(__pyx_f_9adios_mpi_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_method = __pyx_t_2;
__pyx_t_2 = 0;
- /* "adios_mpi.pyx":496
+ /* "adios_mpi.pyx":601
* cpdef int read_finalize(char * method_name = "BP"):
* cdef method = str2adiosreadmethod(method_name)
* return adios_read_finalize_method (method) # <<<<<<<<<<<<<<
*
- * """ Python class for ADIOS_FILE structure """
+ * ## Python class for ADIOS_FILE structure
*/
- __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = adios_read_finalize_method(__pyx_t_3);
goto __pyx_L0;
- /* "adios_mpi.pyx":494
+ /* "adios_mpi.pyx":599
*
* """ Call adios_read_finalize_method """
* cpdef int read_finalize(char * method_name = "BP"): # <<<<<<<<<<<<<<
@@ -6746,8 +8916,9 @@ static int __pyx_f_9adios_mpi_read_finalize(CYTHON_UNUSED int __pyx_skip_dispatc
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_37read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_37read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_47read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_46read_finalize[] = "read_finalize(char *method_name='BP') -> int";
+static PyObject *__pyx_pw_9adios_mpi_47read_finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
char *__pyx_v_method_name;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
@@ -6775,7 +8946,7 @@ static PyObject *__pyx_pw_9adios_mpi_37read_finalize(PyObject *__pyx_self, PyObj
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_finalize") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6785,27 +8956,27 @@ static PyObject *__pyx_pw_9adios_mpi_37read_finalize(PyObject *__pyx_self, PyObj
}
}
if (values[0]) {
- __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_method_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_method_name = ((char *)__pyx_k_BP);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read_finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read_finalize", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.read_finalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_36read_finalize(__pyx_self, __pyx_v_method_name);
+ __pyx_r = __pyx_pf_9adios_mpi_46read_finalize(__pyx_self, __pyx_v_method_name);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_36read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name) {
+static PyObject *__pyx_pf_9adios_mpi_46read_finalize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_method_name) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
@@ -6819,7 +8990,7 @@ static PyObject *__pyx_pf_9adios_mpi_36read_finalize(CYTHON_UNUSED PyObject *__p
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.method_name = __pyx_v_method_name;
__pyx_t_1 = __pyx_f_9adios_mpi_read_finalize(0, &__pyx_t_2);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
@@ -6836,529 +9007,430 @@ static PyObject *__pyx_pf_9adios_mpi_36read_finalize(CYTHON_UNUSED PyObject *__p
return __pyx_r;
}
-/* "adios_mpi.pyx":519
+/* "adios_mpi.pyx":640
+ * property name:
+ * """ The filename (or stream name) associated with. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * """ Initialization. Call adios_read_open and populate public members """
- * def __init__(self, char * fname, # <<<<<<<<<<<<<<
- * char * method_name = "BP",
- * MPI.Comm comm = MPI.COMM_WORLD,
*/
/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- char *__pyx_v_fname;
- char *__pyx_v_method_name;
- struct PyMPICommObject *__pyx_v_comm = 0;
- PyObject *__pyx_v_is_stream = 0;
- ADIOS_LOCKMODE __pyx_v_lock_mode;
- float __pyx_v_timeout_sec;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4file_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_4name_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_method_name,&__pyx_n_s_comm,&__pyx_n_s_is_stream,&__pyx_n_s_lock_mode,&__pyx_n_s_timeout_sec,0};
- PyObject* values[6] = {0,0,0,0,0,0};
- values[2] = (PyObject *)__pyx_k__6;
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_4name___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
- /* "adios_mpi.pyx":522
- * char * method_name = "BP",
- * MPI.Comm comm = MPI.COMM_WORLD,
- * is_stream = False, # <<<<<<<<<<<<<<
- * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
- * float timeout_sec = 0.0):
- */
- values[3] = ((PyObject *)Py_False);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_name);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
- if (value) { values[2] = value; kw_args--; }
- }
- case 3:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_stream);
- if (value) { values[3] = value; kw_args--; }
- }
- case 4:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lock_mode);
- if (value) { values[4] = value; kw_args--; }
- }
- case 5:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
- if (value) { values[5] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
- case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
- case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_fname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- if (values[1]) {
- __pyx_v_method_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_method_name = ((char *)__pyx_k_BP);
- }
- __pyx_v_comm = ((struct PyMPICommObject *)values[2]);
- __pyx_v_is_stream = values[3];
- if (values[4]) {
- __pyx_v_lock_mode = ((ADIOS_LOCKMODE)PyInt_AsLong(values[4])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_lock_mode = __pyx_k__7;
- }
- if (values[5]) {
- __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[5]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_timeout_sec = ((float)0.0);
- }
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("adios_mpi.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ /* function exit code */
__Pyx_RefNannyFinishContext();
- return -1;
- __pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_4file___init__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), __pyx_v_fname, __pyx_v_method_name, __pyx_v_comm, __pyx_v_is_stream, __pyx_v_lock_mode, __pyx_v_timeout_sec);
+ return __pyx_r;
+}
- /* "adios_mpi.pyx":519
+static PyObject *__pyx_pf_9adios_mpi_4file_4name___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":641
+ * """ The filename (or stream name) associated with. """
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property nvars:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":640
+ * property name:
+ * """ The filename (or stream name) associated with. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * """ Initialization. Call adios_read_open and populate public members """
- * def __init__(self, char * fname, # <<<<<<<<<<<<<<
- * char * method_name = "BP",
- * MPI.Comm comm = MPI.COMM_WORLD,
*/
/* function exit code */
- goto __pyx_L0;
- __pyx_L1_error:;
- __pyx_r = -1;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_9adios_mpi_4file___init__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec) {
- PyObject *__pyx_v_method = 0;
- PyObject *__pyx_v_varname = NULL;
- int __pyx_v_i;
- int __pyx_r;
+/* "adios_mpi.pyx":645
+ * property nvars:
+ * """ The number of variables. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nvars
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_4file_5nvars_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_5nvars_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_t_2;
- PyObject *__pyx_t_3 = NULL;
- ADIOS_READ_METHOD __pyx_t_4;
- int __pyx_t_5;
- uint64_t __pyx_t_6;
- int __pyx_t_7;
- Py_ssize_t __pyx_t_8;
- PyObject *__pyx_t_9 = NULL;
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_5nvars___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_4file_5nvars___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__init__", 0);
-
- /* "adios_mpi.pyx":525
- * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
- * float timeout_sec = 0.0):
- * self.fp = NULL # <<<<<<<<<<<<<<
- * self.var = {}
- * self.attr = {}
- */
- __pyx_v_self->fp = NULL;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios_mpi.pyx":526
- * float timeout_sec = 0.0):
- * self.fp = NULL
- * self.var = {} # <<<<<<<<<<<<<<
- * self.attr = {}
- * self.is_stream = is_stream
+ /* "adios_mpi.pyx":646
+ * """ The number of variables. """
+ * def __get__(self):
+ * return self.nvars # <<<<<<<<<<<<<<
+ *
+ * property nattrs:
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->var);
- __Pyx_DECREF(__pyx_v_self->var);
- __pyx_v_self->var = ((PyObject*)__pyx_t_1);
+ __pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":527
- * self.fp = NULL
- * self.var = {}
- * self.attr = {} # <<<<<<<<<<<<<<
- * self.is_stream = is_stream
- * cdef method = str2adiosreadmethod(method_name)
+ /* "adios_mpi.pyx":645
+ * property nvars:
+ * """ The number of variables. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nvars
+ *
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->attr);
- __Pyx_DECREF(__pyx_v_self->attr);
- __pyx_v_self->attr = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
- /* "adios_mpi.pyx":528
- * self.var = {}
- * self.attr = {}
- * self.is_stream = is_stream # <<<<<<<<<<<<<<
- * cdef method = str2adiosreadmethod(method_name)
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.file.nvars.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":650
+ * property nattrs:
+ * """ The number of attributes. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nattrs
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->is_stream = __pyx_t_2;
- /* "adios_mpi.pyx":529
- * self.attr = {}
- * self.is_stream = is_stream
- * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_4file_6nattrs_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_6nattrs_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_6nattrs___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_4file_6nattrs___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":651
+ * """ The number of attributes. """
+ * def __get__(self):
+ * return self.nattrs # <<<<<<<<<<<<<<
*
- * if (is_stream):
+ * property current_step:
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = PyInt_FromLong(__pyx_f_9adios_mpi_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_method = __pyx_t_3;
- __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":531
- * cdef method = str2adiosreadmethod(method_name)
+ /* "adios_mpi.pyx":650
+ * property nattrs:
+ * """ The number of attributes. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nattrs
*
- * if (is_stream): # <<<<<<<<<<<<<<
- * self.fp = adios_read_open(fname, method, comm.ob_mpi,
- * lock_mode, timeout_sec)
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (__pyx_t_2) {
- /* "adios_mpi.pyx":532
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.file.nattrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":655
+ * property current_step:
+ * """ The current timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.current_step
*
- * if (is_stream):
- * self.fp = adios_read_open(fname, method, comm.ob_mpi, # <<<<<<<<<<<<<<
- * lock_mode, timeout_sec)
- * else:
*/
- __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":533
- * if (is_stream):
- * self.fp = adios_read_open(fname, method, comm.ob_mpi,
- * lock_mode, timeout_sec) # <<<<<<<<<<<<<<
- * else:
- * self.fp = adios_read_open_file(fname, method, comm.ob_mpi)
- */
- __pyx_v_self->fp = adios_read_open(__pyx_v_fname, __pyx_t_4, __pyx_v_comm->ob_mpi, __pyx_v_lock_mode, __pyx_v_timeout_sec);
- goto __pyx_L3;
- }
- /*else*/ {
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_4file_12current_step_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_12current_step_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_12current_step___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
- /* "adios_mpi.pyx":535
- * lock_mode, timeout_sec)
- * else:
- * self.fp = adios_read_open_file(fname, method, comm.ob_mpi) # <<<<<<<<<<<<<<
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_4file_12current_step___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":656
+ * """ The current timestep index. """
+ * def __get__(self):
+ * return self.current_step # <<<<<<<<<<<<<<
*
- * assert self.fp != NULL, 'Not an open file'
+ * property last_step:
*/
- __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->fp = adios_read_open_file(__pyx_v_fname, __pyx_t_4, __pyx_v_comm->ob_mpi);
- }
- __pyx_L3:;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":537
- * self.fp = adios_read_open_file(fname, method, comm.ob_mpi)
+ /* "adios_mpi.pyx":655
+ * property current_step:
+ * """ The current timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.current_step
*
- * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.file.current_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":660
+ * property last_step:
+ * """ The last timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.last_step
*
- * self.name = fname.split('/')[-1] ## basename
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
- /* "adios_mpi.pyx":539
- * assert self.fp != NULL, 'Not an open file'
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_4file_9last_step_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_9last_step_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_9last_step___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_4file_9last_step___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":661
+ * """ The last timestep index. """
+ * def __get__(self):
+ * return self.last_step # <<<<<<<<<<<<<<
*
- * self.name = fname.split('/')[-1] ## basename # <<<<<<<<<<<<<<
- * self.nvars = self.fp.nvars
- * self.nattrs = self.fp.nattrs
+ * property endianness:
*/
- __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_fname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":540
+ /* "adios_mpi.pyx":660
+ * property last_step:
+ * """ The last timestep index. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.last_step
*
- * self.name = fname.split('/')[-1] ## basename
- * self.nvars = self.fp.nvars # <<<<<<<<<<<<<<
- * self.nattrs = self.fp.nattrs
- * self.current_step = self.fp.current_step
*/
- __pyx_t_5 = __pyx_v_self->fp->nvars;
- __pyx_v_self->nvars = __pyx_t_5;
- /* "adios_mpi.pyx":541
- * self.name = fname.split('/')[-1] ## basename
- * self.nvars = self.fp.nvars
- * self.nattrs = self.fp.nattrs # <<<<<<<<<<<<<<
- * self.current_step = self.fp.current_step
- * self.last_step = self.fp.last_step
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.file.last_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":665
+ * property endianness:
+ * """ The endianness of the stored data. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.endianness
+ *
*/
- __pyx_t_5 = __pyx_v_self->fp->nattrs;
- __pyx_v_self->nattrs = __pyx_t_5;
-
- /* "adios_mpi.pyx":542
- * self.nvars = self.fp.nvars
- * self.nattrs = self.fp.nattrs
- * self.current_step = self.fp.current_step # <<<<<<<<<<<<<<
- * self.last_step = self.fp.last_step
- * self.endianness = self.fp.endianness
- */
- __pyx_t_5 = __pyx_v_self->fp->current_step;
- __pyx_v_self->current_step = __pyx_t_5;
-
- /* "adios_mpi.pyx":543
- * self.nattrs = self.fp.nattrs
- * self.current_step = self.fp.current_step
- * self.last_step = self.fp.last_step # <<<<<<<<<<<<<<
- * self.endianness = self.fp.endianness
- * self.version = self.fp.version
- */
- __pyx_t_5 = __pyx_v_self->fp->last_step;
- __pyx_v_self->last_step = __pyx_t_5;
- /* "adios_mpi.pyx":544
- * self.current_step = self.fp.current_step
- * self.last_step = self.fp.last_step
- * self.endianness = self.fp.endianness # <<<<<<<<<<<<<<
- * self.version = self.fp.version
- * self.file_size = self.fp.file_size
- */
- __pyx_t_5 = __pyx_v_self->fp->endianness;
- __pyx_v_self->endianness = __pyx_t_5;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_4file_10endianness_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_10endianness_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_10endianness___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
- /* "adios_mpi.pyx":545
- * self.last_step = self.fp.last_step
- * self.endianness = self.fp.endianness
- * self.version = self.fp.version # <<<<<<<<<<<<<<
- * self.file_size = self.fp.file_size
- *
- */
- __pyx_t_5 = __pyx_v_self->fp->version;
- __pyx_v_self->version = __pyx_t_5;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "adios_mpi.pyx":546
- * self.endianness = self.fp.endianness
- * self.version = self.fp.version
- * self.file_size = self.fp.file_size # <<<<<<<<<<<<<<
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]:
- */
- __pyx_t_6 = __pyx_v_self->fp->file_size;
- __pyx_v_self->file_size = __pyx_t_6;
+static PyObject *__pyx_pf_9adios_mpi_4file_10endianness___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios_mpi.pyx":548
- * self.file_size = self.fp.file_size
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
- * self.var[varname] = var(self, varname)
+ /* "adios_mpi.pyx":666
+ * """ The endianness of the stored data. """
+ * def __get__(self):
+ * return self.endianness # <<<<<<<<<<<<<<
*
+ * property version:
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __pyx_v_self->nvars;
- for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_5; __pyx_t_7+=1) {
- __pyx_v_i = __pyx_t_7;
- __pyx_t_3 = __Pyx_PyBytes_FromString((__pyx_v_self->fp->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- }
- __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_varname, __pyx_t_1);
- __pyx_t_1 = 0;
-
- /* "adios_mpi.pyx":549
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]:
- * self.var[varname] = var(self, varname) # <<<<<<<<<<<<<<
- *
- * def __del__(self):
- */
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- __Pyx_INCREF(__pyx_v_varname);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_varname);
- __Pyx_GIVEREF(__pyx_v_varname);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_var)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(__pyx_v_self->var == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_varname, __pyx_t_9) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
- /* "adios_mpi.pyx":548
- * self.file_size = self.fp.file_size
- *
- * for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
- * self.var[varname] = var(self, varname)
- *
- */
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":519
+ /* "adios_mpi.pyx":665
+ * property endianness:
+ * """ The endianness of the stored data. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.endianness
*
- * """ Initialization. Call adios_read_open and populate public members """
- * def __init__(self, char * fname, # <<<<<<<<<<<<<<
- * char * method_name = "BP",
- * MPI.Comm comm = MPI.COMM_WORLD,
*/
/* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("adios_mpi.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_AddTraceback("adios_mpi.file.endianness.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
- __Pyx_XDECREF(__pyx_v_method);
- __Pyx_XDECREF(__pyx_v_varname);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":551
- * self.var[varname] = var(self, varname)
- *
- * def __del__(self): # <<<<<<<<<<<<<<
- * self.close()
+/* "adios_mpi.pyx":670
+ * property version:
+ * """ The version of Adios. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.version
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_9adios_mpi_4file_7version_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_7version_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_2__del__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_7version___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_2__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_7version___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios_mpi.pyx":552
- *
- * def __del__(self):
- * self.close() # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":671
+ * """ The version of Adios. """
+ * def __get__(self):
+ * return self.version # <<<<<<<<<<<<<<
*
- * """ Call adios_read_close """
+ * property file_sizec:
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_9adios_mpi_file *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":551
- * self.var[varname] = var(self, varname)
- *
- * def __del__(self): # <<<<<<<<<<<<<<
- * self.close()
+ /* "adios_mpi.pyx":670
+ * property version:
+ * """ The version of Adios. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.version
*
*/
/* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.__del__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.file.version.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -7366,151 +9438,125 @@ static PyObject *__pyx_pf_9adios_mpi_4file_2__del__(struct __pyx_obj_9adios_mpi_
return __pyx_r;
}
-/* "adios_mpi.pyx":555
+/* "adios_mpi.pyx":675
+ * property file_sizec:
+ * """ The size of Adios file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.file_size
*
- * """ Call adios_read_close """
- * cpdef close(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp)
*/
-static PyObject *__pyx_pw_9adios_mpi_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_4file_close(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch) {
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_4file_10file_sizec_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_10file_sizec_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_10file_sizec___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_4file_10file_sizec___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("close", 0);
- /* Check if called by wrapper */
- if (unlikely(__pyx_skip_dispatch)) ;
- /* Check if overridden in Python */
- else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_4file_5close)) {
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
- }
- }
- if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- } else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
-
- /* "adios_mpi.pyx":556
- * """ Call adios_read_close """
- * cpdef close(self):
- * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
- * adios_read_close(self.fp)
- * self.fp = NULL
- */
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
-
- /* "adios_mpi.pyx":557
- * cpdef close(self):
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp) # <<<<<<<<<<<<<<
- * self.fp = NULL
- *
- */
- adios_read_close(__pyx_v_self->fp);
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "adios_mpi.pyx":558
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp)
- * self.fp = NULL # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":676
+ * """ The size of Adios file. """
+ * def __get__(self):
+ * return self.file_size # <<<<<<<<<<<<<<
*
- * """ Print self """
+ * property is_stream:
*/
- __pyx_v_self->fp = NULL;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "adios_mpi.pyx":555
+ /* "adios_mpi.pyx":675
+ * property file_sizec:
+ * """ The size of Adios file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.file_size
*
- * """ Call adios_read_close """
- * cpdef close(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * adios_read_close(self.fp)
*/
/* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("adios_mpi.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_AddTraceback("adios_mpi.file.file_sizec.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+/* "adios_mpi.pyx":680
+ * property is_stream:
+ * """ Indicating reader type; file reader or stream reader """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_stream
+ *
+ */
+
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_9adios_mpi_4file_9is_stream_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_9is_stream_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("close (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_4close(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_9is_stream___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_4close(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_9is_stream___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("close", 0);
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":681
+ * """ Indicating reader type; file reader or stream reader """
+ * def __get__(self):
+ * return self.is_stream # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, char * fname,
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_9adios_mpi_4file_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_stream); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
+ /* "adios_mpi.pyx":680
+ * property is_stream:
+ * """ Indicating reader type; file reader or stream reader """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_stream
+ *
+ */
+
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.file.is_stream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -7518,546 +9564,738 @@ static PyObject *__pyx_pf_9adios_mpi_4file_4close(struct __pyx_obj_9adios_mpi_fi
return __pyx_r;
}
-/* "adios_mpi.pyx":561
+/* "adios_mpi.pyx":683
+ * return self.is_stream
*
- * """ Print self """
- * cpdef printself(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ==='
+ * def __init__(self, char * fname, # <<<<<<<<<<<<<<
+ * char * method_name = 'BP',
+ * MPI.Comm comm = MPI.COMM_WORLD,
*/
-static PyObject *__pyx_pw_9adios_mpi_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_4file_printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_9adios_mpi_4file_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_fname;
+ char *__pyx_v_method_name;
+ struct PyMPICommObject *__pyx_v_comm = 0;
+ PyObject *__pyx_v_is_stream = 0;
+ ADIOS_LOCKMODE __pyx_v_lock_mode;
+ float __pyx_v_timeout_sec;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("printself", 0);
- /* Check if called by wrapper */
- if (unlikely(__pyx_skip_dispatch)) ;
- /* Check if overridden in Python */
- else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_4file_7printself)) {
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_method_name,&__pyx_n_s_comm,&__pyx_n_s_is_stream,&__pyx_n_s_lock_mode,&__pyx_n_s_timeout_sec,0};
+ PyObject* values[6] = {0,0,0,0,0,0};
+ values[2] = (PyObject *)__pyx_k__9;
+
+ /* "adios_mpi.pyx":686
+ * char * method_name = 'BP',
+ * MPI.Comm comm = MPI.COMM_WORLD,
+ * is_stream = False, # <<<<<<<<<<<<<<
+ * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
+ * float timeout_sec = 0.0):
+ */
+ values[3] = ((PyObject *)Py_False);
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_name);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_stream);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ case 4:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lock_mode);
+ if (value) { values[4] = value; kw_args--; }
+ }
+ case 5:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
+ if (value) { values[5] = value; kw_args--; }
}
}
- if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- } else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L0;
}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- }
-
- /* "adios_mpi.pyx":562
- * """ Print self """
- * cpdef printself(self):
- * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
- * print '=== AdiosFile ==='
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
- */
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_fname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_method_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_method_name = ((char *)__pyx_k_BP);
+ }
+ __pyx_v_comm = ((struct PyMPICommObject *)values[2]);
+ __pyx_v_is_stream = values[3];
+ if (values[4]) {
+ __pyx_v_lock_mode = ((ADIOS_LOCKMODE)PyInt_AsLong(values[4])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_lock_mode = __pyx_k__10;
+ }
+ if (values[5]) {
+ __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[5]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_timeout_sec = ((float)0.0);
}
}
- #endif
-
- /* "adios_mpi.pyx":563
- * cpdef printself(self):
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ===' # <<<<<<<<<<<<<<
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
- * printfile(self.fp)
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosFile) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- /* "adios_mpi.pyx":564
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ==='
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp) # <<<<<<<<<<<<<<
- * printfile(self.fp)
- *
- */
- __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_n_s_fp);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fp);
- __Pyx_GIVEREF(__pyx_n_s_fp);
- PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
- /* "adios_mpi.pyx":565
- * print '=== AdiosFile ==='
- * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
- * printfile(self.fp) # <<<<<<<<<<<<<<
- *
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0):
- */
- __pyx_t_1 = __pyx_f_9adios_mpi_printfile(__pyx_v_self->fp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_4file___init__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), __pyx_v_fname, __pyx_v_method_name, __pyx_v_comm, __pyx_v_is_stream, __pyx_v_lock_mode, __pyx_v_timeout_sec);
- /* "adios_mpi.pyx":561
+ /* "adios_mpi.pyx":683
+ * return self.is_stream
*
- * """ Print self """
- * cpdef printself(self): # <<<<<<<<<<<<<<
- * assert self.fp != NULL, 'Not an open file'
- * print '=== AdiosFile ==='
+ * def __init__(self, char * fname, # <<<<<<<<<<<<<<
+ * char * method_name = 'BP',
+ * MPI.Comm comm = MPI.COMM_WORLD,
*/
/* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("adios_mpi.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __pyx_r = -1;
__pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("printself (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_6printself(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
-
- /* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_6printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
+static int __pyx_pf_9adios_mpi_4file___init__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, char *__pyx_v_fname, char *__pyx_v_method_name, struct PyMPICommObject *__pyx_v_comm, PyObject *__pyx_v_is_stream, ADIOS_LOCKMODE __pyx_v_lock_mode, float __pyx_v_timeout_sec) {
+ PyObject *__pyx_v_method = 0;
+ PyObject *__pyx_v_name = NULL;
+ int __pyx_v_i;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ ADIOS_READ_METHOD __pyx_t_4;
+ int __pyx_t_5;
+ uint64_t __pyx_t_6;
+ int __pyx_t_7;
+ Py_ssize_t __pyx_t_8;
+ PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("printself", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_9adios_mpi_4file_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __Pyx_RefNannySetupContext("__init__", 0);
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":689
+ * ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
+ * float timeout_sec = 0.0):
+ * self.fp = NULL # <<<<<<<<<<<<<<
+ * self.var = {}
+ * self.attr = {}
+ */
+ __pyx_v_self->fp = NULL;
-/* "adios_mpi.pyx":567
- * printfile(self.fp)
+ /* "adios_mpi.pyx":690
+ * float timeout_sec = 0.0):
+ * self.fp = NULL
+ * self.var = {} # <<<<<<<<<<<<<<
+ * self.attr = {}
+ * self.is_stream = is_stream
+ */
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->var);
+ __Pyx_DECREF(__pyx_v_self->var);
+ __pyx_v_self->var = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":691
+ * self.fp = NULL
+ * self.var = {}
+ * self.attr = {} # <<<<<<<<<<<<<<
+ * self.is_stream = is_stream
+ * cdef method = str2adiosreadmethod(method_name)
+ */
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->attr);
+ __Pyx_DECREF(__pyx_v_self->attr);
+ __pyx_v_self->attr = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":692
+ * self.var = {}
+ * self.attr = {}
+ * self.is_stream = is_stream # <<<<<<<<<<<<<<
+ * cdef method = str2adiosreadmethod(method_name)
*
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
- * return adios_advance_step(self.fp, last, timeout_sec)
+ */
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_self->is_stream = __pyx_t_2;
+
+ /* "adios_mpi.pyx":693
+ * self.attr = {}
+ * self.is_stream = is_stream
+ * cdef method = str2adiosreadmethod(method_name) # <<<<<<<<<<<<<<
*
+ * if (is_stream):
*/
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_method_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = PyInt_FromLong(__pyx_f_9adios_mpi_str2adiosreadmethod(((PyObject*)__pyx_t_1))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_method = __pyx_t_3;
+ __pyx_t_3 = 0;
-static PyObject *__pyx_pw_9adios_mpi_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_4file_advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_4file_advance *__pyx_optional_args) {
- int __pyx_v_last = ((int)0);
- float __pyx_v_timeout_sec = ((float)0.0);
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- PyObject *__pyx_t_5 = NULL;
- PyObject *__pyx_t_6 = NULL;
- Py_ssize_t __pyx_t_7;
- PyObject *__pyx_t_8 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("advance", 0);
- if (__pyx_optional_args) {
- if (__pyx_optional_args->__pyx_n > 0) {
- __pyx_v_last = __pyx_optional_args->last;
- if (__pyx_optional_args->__pyx_n > 1) {
- __pyx_v_timeout_sec = __pyx_optional_args->timeout_sec;
- }
- }
+ /* "adios_mpi.pyx":695
+ * cdef method = str2adiosreadmethod(method_name)
+ *
+ * if (is_stream): # <<<<<<<<<<<<<<
+ * self.fp = adios_read_open(fname, method, comm.ob_mpi,
+ * lock_mode, timeout_sec)
+ */
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_stream); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":696
+ *
+ * if (is_stream):
+ * self.fp = adios_read_open(fname, method, comm.ob_mpi, # <<<<<<<<<<<<<<
+ * lock_mode, timeout_sec)
+ * else:
+ */
+ __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":697
+ * if (is_stream):
+ * self.fp = adios_read_open(fname, method, comm.ob_mpi,
+ * lock_mode, timeout_sec) # <<<<<<<<<<<<<<
+ * else:
+ * self.fp = adios_read_open_file(fname, method, comm.ob_mpi)
+ */
+ __pyx_v_self->fp = adios_read_open(__pyx_v_fname, __pyx_t_4, __pyx_v_comm->ob_mpi, __pyx_v_lock_mode, __pyx_v_timeout_sec);
+ goto __pyx_L3;
}
- /* Check if called by wrapper */
- if (unlikely(__pyx_skip_dispatch)) ;
- /* Check if overridden in Python */
- else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_advance); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_4file_9advance)) {
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_last); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyFloat_FromDouble(__pyx_v_timeout_sec); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
- __pyx_t_7 = 0;
- if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_5, function);
- __pyx_t_7 = 1;
- }
- }
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- if (__pyx_t_6) {
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
- }
- PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_4);
- __pyx_t_3 = 0;
- __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L0;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ /*else*/ {
+
+ /* "adios_mpi.pyx":699
+ * lock_mode, timeout_sec)
+ * else:
+ * self.fp = adios_read_open_file(fname, method, comm.ob_mpi) # <<<<<<<<<<<<<<
+ *
+ * assert self.fp != NULL, 'Not an open file'
+ */
+ __pyx_t_4 = ((ADIOS_READ_METHOD)PyInt_AsLong(__pyx_v_method)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_self->fp = adios_read_open_file(__pyx_v_fname, __pyx_t_4, __pyx_v_comm->ob_mpi);
}
+ __pyx_L3:;
- /* "adios_mpi.pyx":568
+ /* "adios_mpi.pyx":701
+ * self.fp = adios_read_open_file(fname, method, comm.ob_mpi)
*
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0):
- * return adios_advance_step(self.fp, last, timeout_sec) # <<<<<<<<<<<<<<
+ * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
*
- * """ Python class for ADIOS_VARINFO structure """
+ * self.name = fname.split('/')[-1] ## basename
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(adios_advance_step(__pyx_v_self->fp, __pyx_v_last, __pyx_v_timeout_sec)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios_mpi.pyx":703
+ * assert self.fp != NULL, 'Not an open file'
+ *
+ * self.name = fname.split('/')[-1] ## basename # <<<<<<<<<<<<<<
+ * self.nvars = self.fp.nvars
+ * self.nattrs = self.fp.nattrs
+ */
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_fname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- goto __pyx_L0;
- /* "adios_mpi.pyx":567
- * printfile(self.fp)
- *
- * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
- * return adios_advance_step(self.fp, last, timeout_sec)
+ /* "adios_mpi.pyx":704
*
+ * self.name = fname.split('/')[-1] ## basename
+ * self.nvars = self.fp.nvars # <<<<<<<<<<<<<<
+ * self.nattrs = self.fp.nattrs
+ * self.current_step = self.fp.current_step
*/
+ __pyx_t_5 = __pyx_v_self->fp->nvars;
+ __pyx_v_self->nvars = __pyx_t_5;
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_XDECREF(__pyx_t_5);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_AddTraceback("adios_mpi.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":705
+ * self.name = fname.split('/')[-1] ## basename
+ * self.nvars = self.fp.nvars
+ * self.nattrs = self.fp.nattrs # <<<<<<<<<<<<<<
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step
+ */
+ __pyx_t_5 = __pyx_v_self->fp->nattrs;
+ __pyx_v_self->nattrs = __pyx_t_5;
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- int __pyx_v_last;
- float __pyx_v_timeout_sec;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("advance (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_last,&__pyx_n_s_timeout_sec,0};
- PyObject* values[2] = {0,0};
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_last);
- if (value) { values[0] = value; kw_args--; }
- }
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "advance") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- if (values[0]) {
- __pyx_v_last = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_last == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_last = ((int)0);
- }
- if (values[1]) {
- __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- } else {
- __pyx_v_timeout_sec = ((float)0.0);
+ /* "adios_mpi.pyx":706
+ * self.nvars = self.fp.nvars
+ * self.nattrs = self.fp.nattrs
+ * self.current_step = self.fp.current_step # <<<<<<<<<<<<<<
+ * self.last_step = self.fp.last_step
+ * self.endianness = self.fp.endianness
+ */
+ __pyx_t_5 = __pyx_v_self->fp->current_step;
+ __pyx_v_self->current_step = __pyx_t_5;
+
+ /* "adios_mpi.pyx":707
+ * self.nattrs = self.fp.nattrs
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step # <<<<<<<<<<<<<<
+ * self.endianness = self.fp.endianness
+ * self.version = self.fp.version
+ */
+ __pyx_t_5 = __pyx_v_self->fp->last_step;
+ __pyx_v_self->last_step = __pyx_t_5;
+
+ /* "adios_mpi.pyx":708
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step
+ * self.endianness = self.fp.endianness # <<<<<<<<<<<<<<
+ * self.version = self.fp.version
+ * self.file_size = self.fp.file_size
+ */
+ __pyx_t_5 = __pyx_v_self->fp->endianness;
+ __pyx_v_self->endianness = __pyx_t_5;
+
+ /* "adios_mpi.pyx":709
+ * self.last_step = self.fp.last_step
+ * self.endianness = self.fp.endianness
+ * self.version = self.fp.version # <<<<<<<<<<<<<<
+ * self.file_size = self.fp.file_size
+ *
+ */
+ __pyx_t_5 = __pyx_v_self->fp->version;
+ __pyx_v_self->version = __pyx_t_5;
+
+ /* "adios_mpi.pyx":710
+ * self.endianness = self.fp.endianness
+ * self.version = self.fp.version
+ * self.file_size = self.fp.file_size # <<<<<<<<<<<<<<
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]:
+ */
+ __pyx_t_6 = __pyx_v_self->fp->file_size;
+ __pyx_v_self->file_size = __pyx_t_6;
+
+ /* "adios_mpi.pyx":712
+ * self.file_size = self.fp.file_size
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
+ * self.var[name] = var(self, name)
+ *
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __pyx_v_self->nvars;
+ for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_5; __pyx_t_7+=1) {
+ __pyx_v_i = __pyx_t_7;
+ __pyx_t_3 = __Pyx_PyBytes_FromString((__pyx_v_self->fp->var_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ }
+ __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ for (;;) {
+ if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":713
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]:
+ * self.var[name] = var(self, name) # <<<<<<<<<<<<<<
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]:
+ */
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_INCREF(__pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_name);
+ __Pyx_GIVEREF(__pyx_v_name);
+ __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_var)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_name, __pyx_t_9) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "adios_mpi.pyx":712
+ * self.file_size = self.fp.file_size
+ *
+ * for name in [self.fp.var_namelist[i] for i in range(self.nvars)]: # <<<<<<<<<<<<<<
+ * self.var[name] = var(self, name)
+ *
+ */
}
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("advance", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("adios_mpi.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_4file_8advance(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), __pyx_v_last, __pyx_v_timeout_sec);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":715
+ * self.var[name] = var(self, name)
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]: # <<<<<<<<<<<<<<
+ * self.attr[name] = attr(self, name)
+ *
+ */
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_5 = __pyx_v_self->nattrs;
+ for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_5; __pyx_t_7+=1) {
+ __pyx_v_i = __pyx_t_7;
+ __pyx_t_9 = __Pyx_PyBytes_FromString((__pyx_v_self->fp->attr_namelist[__pyx_v_i])); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_9))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ }
+ __pyx_t_9 = __pyx_t_3; __Pyx_INCREF(__pyx_t_9); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ for (;;) {
+ if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_9)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_9, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
+ __pyx_t_3 = 0;
-static PyObject *__pyx_pf_9adios_mpi_4file_8advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- struct __pyx_opt_args_9adios_mpi_4file_advance __pyx_t_2;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("advance", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_2.__pyx_n = 2;
- __pyx_t_2.last = __pyx_v_last;
- __pyx_t_2.timeout_sec = __pyx_v_timeout_sec;
- __pyx_t_1 = __pyx_vtabptr_9adios_mpi_file->advance(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ /* "adios_mpi.pyx":716
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]:
+ * self.attr[name] = attr(self, name) # <<<<<<<<<<<<<<
+ *
+ * def __del__(self):
+ */
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_INCREF(__pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_name);
+ __Pyx_GIVEREF(__pyx_v_name);
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_attr)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->attr, __pyx_v_name, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":715
+ * self.var[name] = var(self, name)
+ *
+ * for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]: # <<<<<<<<<<<<<<
+ * self.attr[name] = attr(self, name)
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "adios_mpi.pyx":683
+ * return self.is_stream
+ *
+ * def __init__(self, char * fname, # <<<<<<<<<<<<<<
+ * char * method_name = 'BP',
+ * MPI.Comm comm = MPI.COMM_WORLD,
+ */
/* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("adios_mpi.file.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
__pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_XDECREF(__pyx_v_method);
+ __Pyx_XDECREF(__pyx_v_name);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":504
+/* "adios_mpi.pyx":718
+ * self.attr[name] = attr(self, name)
*
- * """ Public Memeber """
- * cpdef public bytes name # <<<<<<<<<<<<<<
- * cpdef public int nvars
- * cpdef public int nattrs
+ * def __del__(self): # <<<<<<<<<<<<<<
+ * """ Close file on destruction. """
+ * self.close()
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_4name_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_4file_2__del__[] = "file.__del__(self)\n Close file on destruction. ";
+static PyObject *__pyx_pw_9adios_mpi_4file_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_4name___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_2__del__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_4name___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_2__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->name);
- __pyx_r = __pyx_v_self->name;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_4name_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_4file_4name_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyBytes_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_RefNannySetupContext("__del__", 0);
+
+ /* "adios_mpi.pyx":720
+ * def __del__(self):
+ * """ Close file on destruction. """
+ * self.close() # <<<<<<<<<<<<<<
+ *
+ * cpdef close(self):
+ */
+ __pyx_t_1 = ((struct __pyx_vtabstruct_9adios_mpi_file *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":718
+ * self.attr[name] = attr(self, name)
+ *
+ * def __del__(self): # <<<<<<<<<<<<<<
+ * """ Close file on destruction. """
+ * self.close()
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_AddTraceback("adios_mpi.file.__del__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_4name_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_4name_4__del__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+/* "adios_mpi.pyx":722
+ * self.close()
+ *
+ * cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_4file_4name_4__del__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_4file_close(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)Py_None);
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("close", 0);
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_4file_5close)) {
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (__pyx_t_4) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+
+ /* "adios_mpi.pyx":724
+ * cpdef close(self):
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ * adios_read_close(self.fp)
+ * self.fp = NULL
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios_mpi.pyx":725
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file'
+ * adios_read_close(self.fp) # <<<<<<<<<<<<<<
+ * self.fp = NULL
+ *
+ */
+ adios_read_close(__pyx_v_self->fp);
+
+ /* "adios_mpi.pyx":726
+ * assert self.fp != NULL, 'Not an open file'
+ * adios_read_close(self.fp)
+ * self.fp = NULL # <<<<<<<<<<<<<<
+ *
+ * cpdef printself(self):
+ */
+ __pyx_v_self->fp = NULL;
+
+ /* "adios_mpi.pyx":722
+ * self.close()
+ *
+ * cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close the open file. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":505
- * """ Public Memeber """
- * cpdef public bytes name
- * cpdef public int nvars # <<<<<<<<<<<<<<
- * cpdef public int nattrs
- * cpdef public int current_step
- */
-
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_5nvars_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_5nvars_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_4file_4close[] = "file.close(self)\n Close the open file. ";
+static PyObject *__pyx_pw_9adios_mpi_4file_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_5nvars___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("close (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_4close(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_5nvars___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_4close(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nvars); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_4file_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -8066,7 +10304,7 @@ static PyObject *__pyx_pf_9adios_mpi_4file_5nvars___get__(struct __pyx_obj_9adio
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.nvars.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.file.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8074,72 +10312,168 @@ static PyObject *__pyx_pf_9adios_mpi_4file_5nvars___get__(struct __pyx_obj_9adio
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_5nvars_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_5nvars_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_5nvars_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+/* "adios_mpi.pyx":728
+ * self.fp = NULL
+ *
+ * cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
-static int __pyx_pf_9adios_mpi_4file_5nvars_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_4file_printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->nvars = __pyx_t_1;
+ __Pyx_RefNannySetupContext("printself", 0);
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_4file_7printself)) {
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (__pyx_t_4) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+
+ /* "adios_mpi.pyx":730
+ * cpdef printself(self):
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
+ * print '=== AdiosFile ==='
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->fp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios_mpi.pyx":731
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file'
+ * print '=== AdiosFile ===' # <<<<<<<<<<<<<<
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
+ * printfile(self.fp)
+ */
+ if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosFile) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":732
+ * assert self.fp != NULL, 'Not an open file'
+ * print '=== AdiosFile ==='
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp) # <<<<<<<<<<<<<<
+ * printfile(self.fp)
+ *
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_n_s_fp);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fp);
+ __Pyx_GIVEREF(__pyx_n_s_fp);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":733
+ * print '=== AdiosFile ==='
+ * print '%15s : %lu' % ('fp', <unsigned long> self.fp)
+ * printfile(self.fp) # <<<<<<<<<<<<<<
+ *
+ * cpdef advance(self, int last = 0, float timeout_sec = 0.0):
+ */
+ __pyx_t_1 = __pyx_f_9adios_mpi_printfile(__pyx_v_self->fp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":728
+ * self.fp = NULL
+ *
+ * cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_FILE structure. """
+ * assert self.fp != NULL, 'Not an open file'
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.nvars.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":506
- * cpdef public bytes name
- * cpdef public int nvars
- * cpdef public int nattrs # <<<<<<<<<<<<<<
- * cpdef public int current_step
- * cpdef public int last_step
- */
-
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_6nattrs_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_6nattrs_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_4file_6printself[] = "file.printself(self)\n Print native ADIOS_FILE structure. ";
+static PyObject *__pyx_pw_9adios_mpi_4file_7printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_6nattrs___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("printself (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_6printself(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_6nattrs___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_6printself(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("printself", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nattrs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_4file_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -8148,7 +10482,7 @@ static PyObject *__pyx_pf_9adios_mpi_4file_6nattrs___get__(struct __pyx_obj_9adi
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.nattrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.file.printself", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8156,72 +10490,356 @@ static PyObject *__pyx_pf_9adios_mpi_4file_6nattrs___get__(struct __pyx_obj_9adi
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_6nattrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_6nattrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_6nattrs_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+/* "adios_mpi.pyx":735
+ * printfile(self.fp)
+ *
+ * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
+ * """
+ * Advance a timestep for stream reader.
+ */
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_4file_6nattrs_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_4file_advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_4file_advance *__pyx_optional_args) {
+ int __pyx_v_last = ((int)0);
+ float __pyx_v_timeout_sec = ((float)0.0);
+ int __pyx_v_val;
+ PyObject *__pyx_v_v = NULL;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ Py_ssize_t __pyx_t_7;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_t_9;
+ int __pyx_t_10;
+ PyObject *(*__pyx_t_11)(PyObject *);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->nattrs = __pyx_t_1;
+ __Pyx_RefNannySetupContext("advance", 0);
+ if (__pyx_optional_args) {
+ if (__pyx_optional_args->__pyx_n > 0) {
+ __pyx_v_last = __pyx_optional_args->last;
+ if (__pyx_optional_args->__pyx_n > 1) {
+ __pyx_v_timeout_sec = __pyx_optional_args->timeout_sec;
+ }
+ }
+ }
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_advance); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_4file_9advance)) {
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_last); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyFloat_FromDouble(__pyx_v_timeout_sec); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+ __pyx_t_7 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ __pyx_t_7 = 1;
+ }
+ }
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ if (__pyx_t_6) {
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
+ }
+ PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __pyx_t_3 = 0;
+ __pyx_t_4 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
- /* function exit code */
- __pyx_r = 0;
+ /* "adios_mpi.pyx":746
+ * int: 0 if successful, non-zero otherwise.
+ * """
+ * val = adios_advance_step(self.fp, last, timeout_sec) # <<<<<<<<<<<<<<
+ * if (val >= 0):
+ * self.current_step = self.fp.current_step
+ */
+ __pyx_v_val = adios_advance_step(__pyx_v_self->fp, __pyx_v_last, __pyx_v_timeout_sec);
+
+ /* "adios_mpi.pyx":747
+ * """
+ * val = adios_advance_step(self.fp, last, timeout_sec)
+ * if (val >= 0): # <<<<<<<<<<<<<<
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step
+ */
+ __pyx_t_9 = ((__pyx_v_val >= 0) != 0);
+ if (__pyx_t_9) {
+
+ /* "adios_mpi.pyx":748
+ * val = adios_advance_step(self.fp, last, timeout_sec)
+ * if (val >= 0):
+ * self.current_step = self.fp.current_step # <<<<<<<<<<<<<<
+ * self.last_step = self.fp.last_step
+ *
+ */
+ __pyx_t_10 = __pyx_v_self->fp->current_step;
+ __pyx_v_self->current_step = __pyx_t_10;
+
+ /* "adios_mpi.pyx":749
+ * if (val >= 0):
+ * self.current_step = self.fp.current_step
+ * self.last_step = self.fp.last_step # <<<<<<<<<<<<<<
+ *
+ * for v in self.var.values():
+ */
+ __pyx_t_10 = __pyx_v_self->fp->last_step;
+ __pyx_v_self->last_step = __pyx_t_10;
+
+ /* "adios_mpi.pyx":751
+ * self.last_step = self.fp.last_step
+ *
+ * for v in self.var.values(): # <<<<<<<<<<<<<<
+ * v.advance()
+ *
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->var); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+ __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
+ __pyx_t_11 = NULL;
+ } else {
+ __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_11)) {
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_1 = __pyx_t_11(__pyx_t_2);
+ if (unlikely(!__pyx_t_1)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":752
+ *
+ * for v in self.var.values():
+ * v.advance() # <<<<<<<<<<<<<<
+ *
+ * return val
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_advance); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_8 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ if (__pyx_t_8) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ } else {
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":751
+ * self.last_step = self.fp.last_step
+ *
+ * for v in self.var.values(): # <<<<<<<<<<<<<<
+ * v.advance()
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":754
+ * v.advance()
+ *
+ * return val # <<<<<<<<<<<<<<
+ *
+ * def __getitem__(self, varname):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
+
+ /* "adios_mpi.pyx":735
+ * printfile(self.fp)
+ *
+ * cpdef advance(self, int last = 0, float timeout_sec = 0.0): # <<<<<<<<<<<<<<
+ * """
+ * Advance a timestep for stream reader.
+ */
+
+ /* function exit code */
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.nattrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_AddTraceback("adios_mpi.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_v);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":507
- * cpdef public int nvars
- * cpdef public int nattrs
- * cpdef public int current_step # <<<<<<<<<<<<<<
- * cpdef public int last_step
- * cpdef public int endianness
- */
-
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_12current_step_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_12current_step_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_4file_8advance[] = "file.advance(self, int last=0, float timeout_sec=0.0)\n\n Advance a timestep for stream reader.\n\n Args:\n last (int, optional): last timestep index (default: 0).\n timeout_sec (float, optional): timeout seconds (default: 0.0).\n\n Returns:\n int: 0 if successful, non-zero otherwise.\n ";
+static PyObject *__pyx_pw_9adios_mpi_4file_9advance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ int __pyx_v_last;
+ float __pyx_v_timeout_sec;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_12current_step___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("advance (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_last,&__pyx_n_s_timeout_sec,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_last);
+ if (value) { values[0] = value; kw_args--; }
+ }
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout_sec);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "advance") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ if (values[0]) {
+ __pyx_v_last = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_last == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_last = ((int)0);
+ }
+ if (values[1]) {
+ __pyx_v_timeout_sec = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_timeout_sec == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_timeout_sec = ((float)0.0);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("advance", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_4file_8advance(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), __pyx_v_last, __pyx_v_timeout_sec);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_12current_step___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_8advance(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, int __pyx_v_last, float __pyx_v_timeout_sec) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ struct __pyx_opt_args_9adios_mpi_4file_advance __pyx_t_2;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_RefNannySetupContext("advance", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->current_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2.__pyx_n = 2;
+ __pyx_t_2.last = __pyx_v_last;
+ __pyx_t_2.timeout_sec = __pyx_v_timeout_sec;
+ __pyx_t_1 = __pyx_vtabptr_9adios_mpi_file->advance(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -8230,7 +10848,7 @@ static PyObject *__pyx_pf_9adios_mpi_4file_12current_step___get__(struct __pyx_o
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.current_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.file.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -8238,164 +10856,557 @@ static PyObject *__pyx_pf_9adios_mpi_4file_12current_step___get__(struct __pyx_o
return __pyx_r;
}
+/* "adios_mpi.pyx":756
+ * return val
+ *
+ * def __getitem__(self, varname): # <<<<<<<<<<<<<<
+ * """
+ * Return Adios variable.
+ */
+
/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_12current_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_12current_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4file_11__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_varname); /*proto*/
+static char __pyx_doc_9adios_mpi_4file_10__getitem__[] = "\n Return Adios variable.\n\n Args:\n varname (str): variable name.\n\n Raises:\n KeyError: If no varname exists.\n\n ";
+#if CYTHON_COMPILING_IN_CPYTHON
+struct wrapperbase __pyx_wrapperbase_9adios_mpi_4file_10__getitem__;
+#endif
+static PyObject *__pyx_pw_9adios_mpi_4file_11__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_varname) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_12current_step_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_10__getitem__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_varname));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_9adios_mpi_4file_12current_step_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_9adios_mpi_4file_10__getitem__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_varname) {
+ PyObject *__pyx_v_key_ = NULL;
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *(*__pyx_t_6)(PyObject *);
+ PyObject *__pyx_t_7 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->current_step = __pyx_t_1;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.current_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ __Pyx_RefNannySetupContext("__getitem__", 0);
+ __Pyx_INCREF(__pyx_v_varname);
-/* "adios_mpi.pyx":508
- * cpdef public int nattrs
- * cpdef public int current_step
- * cpdef public int last_step # <<<<<<<<<<<<<<
- * cpdef public int endianness
- * cpdef public int version
- */
+ /* "adios_mpi.pyx":767
+ *
+ * """
+ * if not isinstance(varname, tuple): # <<<<<<<<<<<<<<
+ * varname = (varname,)
+ *
+ */
+ __pyx_t_1 = PyTuple_Check(__pyx_v_varname);
+ __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_2) {
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_9last_step_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_9last_step_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_9last_step___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ /* "adios_mpi.pyx":768
+ * """
+ * if not isinstance(varname, tuple):
+ * varname = (varname,) # <<<<<<<<<<<<<<
+ *
+ * if len(varname) > 1:
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_varname);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_varname);
+ __Pyx_GIVEREF(__pyx_v_varname);
+ __Pyx_DECREF_SET(__pyx_v_varname, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":770
+ * varname = (varname,)
+ *
+ * if len(varname) > 1: # <<<<<<<<<<<<<<
+ * raise KeyError(varname)
+ *
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_varname); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((__pyx_t_4 > 1) != 0);
+ if (__pyx_t_2) {
-static PyObject *__pyx_pf_9adios_mpi_4file_9last_step___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ /* "adios_mpi.pyx":771
+ *
+ * if len(varname) > 1:
+ * raise KeyError(varname) # <<<<<<<<<<<<<<
+ *
+ * for key_ in varname:
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_varname);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_varname);
+ __Pyx_GIVEREF(__pyx_v_varname);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":773
+ * raise KeyError(varname)
+ *
+ * for key_ in varname: # <<<<<<<<<<<<<<
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type")
+ */
+ if (likely(PyList_CheckExact(__pyx_v_varname)) || PyTuple_CheckExact(__pyx_v_varname)) {
+ __pyx_t_5 = __pyx_v_varname; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
+ __pyx_t_6 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_varname); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ for (;;) {
+ if (likely(!__pyx_t_6)) {
+ if (likely(PyList_CheckExact(__pyx_t_5))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_3 = __pyx_t_6(__pyx_t_5);
+ if (unlikely(!__pyx_t_3)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ }
+ __pyx_v_key_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":774
+ *
+ * for key_ in varname:
+ * if not isinstance(key_, str): # <<<<<<<<<<<<<<
+ * raise TypeError("Unhashable type")
+ *
+ */
+ __pyx_t_2 = PyString_Check(__pyx_v_key_);
+ __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":775
+ * for key_ in varname:
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type") # <<<<<<<<<<<<<<
+ *
+ * if key_ in self.var.keys():
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":777
+ * raise TypeError("Unhashable type")
+ *
+ * if key_ in self.var.keys(): # <<<<<<<<<<<<<<
+ * return self.var.get(key_)
+ * elif key_ in self.attr.keys():
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Keys(__pyx_v_self->var); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = (__Pyx_PySequence_Contains(__pyx_v_key_, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":778
+ *
+ * if key_ in self.var.keys():
+ * return self.var.get(key_) # <<<<<<<<<<<<<<
+ * elif key_ in self.attr.keys():
+ * return self.attr.get(key_)
+ */
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->var, __pyx_v_key_, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ goto __pyx_L0;
+ }
+
+ /* "adios_mpi.pyx":779
+ * if key_ in self.var.keys():
+ * return self.var.get(key_)
+ * elif key_ in self.attr.keys(): # <<<<<<<<<<<<<<
+ * return self.attr.get(key_)
+ * else:
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Keys(__pyx_v_self->attr); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_key_, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":780
+ * return self.var.get(key_)
+ * elif key_ in self.attr.keys():
+ * return self.attr.get(key_) # <<<<<<<<<<<<<<
+ * else:
+ * raise KeyError(key_)
+ */
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->attr, __pyx_v_key_, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ goto __pyx_L0;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":782
+ * return self.attr.get(key_)
+ * else:
+ * raise KeyError(key_) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_key_);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_key_);
+ __Pyx_GIVEREF(__pyx_v_key_);
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_7, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":773
+ * raise KeyError(varname)
+ *
+ * for key_ in varname: # <<<<<<<<<<<<<<
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type")
+ */
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":756
+ * return val
+ *
+ * def __getitem__(self, varname): # <<<<<<<<<<<<<<
+ * """
+ * Return Adios variable.
+ */
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.last_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios_mpi.file.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_key_);
+ __Pyx_XDECREF(__pyx_v_varname);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+/* "adios_mpi.pyx":784
+ * raise KeyError(key_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ */
+
/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_9last_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_9last_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4file_13__repr__(PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_9adios_mpi_4file_12__repr__[] = " Return string representation. ";
+#if CYTHON_COMPILING_IN_CPYTHON
+struct wrapperbase __pyx_wrapperbase_9adios_mpi_4file_12__repr__;
+#endif
+static PyObject *__pyx_pw_9adios_mpi_4file_13__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_9last_step_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4file_12__repr__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_9adios_mpi_4file_9last_step_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_9adios_mpi_4file_12__repr__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->last_step = __pyx_t_1;
+ __Pyx_RefNannySetupContext("__repr__", 0);
- /* function exit code */
- __pyx_r = 0;
+ /* "adios_mpi.pyx":786
+ * def __repr__(self):
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, " # <<<<<<<<<<<<<<
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path,
+ */
+ __Pyx_XDECREF(__pyx_r);
+
+ /* "adios_mpi.pyx":788
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path, # <<<<<<<<<<<<<<
+ * self.nvars,
+ * self.var.keys(),
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->fp->path); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+
+ /* "adios_mpi.pyx":789
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path,
+ * self.nvars, # <<<<<<<<<<<<<<
+ * self.var.keys(),
+ * self.nattrs,
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->nvars); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+
+ /* "adios_mpi.pyx":790
+ * (self.fp.path,
+ * self.nvars,
+ * self.var.keys(), # <<<<<<<<<<<<<<
+ * self.nattrs,
+ * self.attr.keys(),
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Keys(__pyx_v_self->var); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+
+ /* "adios_mpi.pyx":791
+ * self.nvars,
+ * self.var.keys(),
+ * self.nattrs, # <<<<<<<<<<<<<<
+ * self.attr.keys(),
+ * self.current_step,
+ */
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_self->nattrs); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+
+ /* "adios_mpi.pyx":792
+ * self.var.keys(),
+ * self.nattrs,
+ * self.attr.keys(), # <<<<<<<<<<<<<<
+ * self.current_step,
+ * self.last_step,
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_5 = __Pyx_PyDict_Keys(__pyx_v_self->attr); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+
+ /* "adios_mpi.pyx":793
+ * self.nattrs,
+ * self.attr.keys(),
+ * self.current_step, # <<<<<<<<<<<<<<
+ * self.last_step,
+ * self.file_size)
+ */
+ __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->current_step); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+
+ /* "adios_mpi.pyx":794
+ * self.attr.keys(),
+ * self.current_step,
+ * self.last_step, # <<<<<<<<<<<<<<
+ * self.file_size)
+ *
+ */
+ __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_self->last_step); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+
+ /* "adios_mpi.pyx":795
+ * self.current_step,
+ * self.last_step,
+ * self.file_size) # <<<<<<<<<<<<<<
+ *
+ * cdef class var:
+ */
+ __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_self->file_size); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+
+ /* "adios_mpi.pyx":788
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ * "current_step=%r, last_step=%r, file_size=%r)") % \
+ * (self.fp.path, # <<<<<<<<<<<<<<
+ * self.nvars,
+ * self.var.keys(),
+ */
+ __pyx_t_9 = PyTuple_New(8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_6);
+ __Pyx_GIVEREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_9, 6, __pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_9, 7, __pyx_t_8);
+ __Pyx_GIVEREF(__pyx_t_8);
+ __pyx_t_1 = 0;
+ __pyx_t_2 = 0;
+ __pyx_t_3 = 0;
+ __pyx_t_4 = 0;
+ __pyx_t_5 = 0;
+ __pyx_t_6 = 0;
+ __pyx_t_7 = 0;
+ __pyx_t_8 = 0;
+
+ /* "adios_mpi.pyx":787
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ * "current_step=%r, last_step=%r, file_size=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.fp.path,
+ * self.nvars,
+ */
+ __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_AdiosFile_path_r_nvars_r_var_r_n, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_r = __pyx_t_8;
+ __pyx_t_8 = 0;
goto __pyx_L0;
+
+ /* "adios_mpi.pyx":784
+ * raise KeyError(key_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * """ Return string representation. """
+ * return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ */
+
+ /* function exit code */
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.last_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("adios_mpi.file.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":509
- * cpdef public int current_step
- * cpdef public int last_step
- * cpdef public int endianness # <<<<<<<<<<<<<<
- * cpdef public int version
- * cpdef public int file_size
+/* "adios_mpi.pyx":635
+ *
+ * ## Public Memeber
+ * cpdef public dict var # <<<<<<<<<<<<<<
+ * cpdef public dict attr
+ *
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_10endianness_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_10endianness_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4file_3var_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4file_3var_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_10endianness___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __pyx_r = __pyx_pf_9adios_mpi_4file_3var___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_10endianness___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4file_3var___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->endianness); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_v_self->var);
+ __pyx_r = __pyx_v_self->var;
goto __pyx_L0;
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.endianness.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
@@ -8403,277 +11414,41 @@ static PyObject *__pyx_pf_9adios_mpi_4file_10endianness___get__(struct __pyx_obj
}
/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_10endianness_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_10endianness_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+static int __pyx_pw_9adios_mpi_4file_3var_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_4file_3var_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_10endianness_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __pyx_r = __pyx_pf_9adios_mpi_4file_3var_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_9adios_mpi_4file_10endianness_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
+static int __pyx_pf_9adios_mpi_4file_3var_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
int __pyx_r;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->endianness = __pyx_t_1;
+ if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_v_value;
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->var);
+ __Pyx_DECREF(__pyx_v_self->var);
+ __pyx_v_self->var = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.endianness.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "adios_mpi.pyx":510
- * cpdef public int last_step
- * cpdef public int endianness
- * cpdef public int version # <<<<<<<<<<<<<<
- * cpdef public int file_size
- *
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_7version_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_7version_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_7version___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_9adios_mpi_4file_7version___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.version.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_7version_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_7version_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_7version_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_4file_7version_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->version = __pyx_t_1;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.version.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "adios_mpi.pyx":511
- * cpdef public int endianness
- * cpdef public int version
- * cpdef public int file_size # <<<<<<<<<<<<<<
- *
- * cpdef public dict var
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_9file_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_9file_size_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_9file_size___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_9adios_mpi_4file_9file_size___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->file_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.file_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_9file_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_9file_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_9file_size_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_4file_9file_size_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->file_size = __pyx_t_1;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.file_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* "adios_mpi.pyx":513
- * cpdef public int file_size
- *
- * cpdef public dict var # <<<<<<<<<<<<<<
- * cpdef public dict attr
- *
- */
-
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_3var_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_3var_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_3var___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_9adios_mpi_4file_3var___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->var);
- __pyx_r = __pyx_v_self->var;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_3var_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_3var_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_3var_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_4file_3var_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->var);
- __Pyx_DECREF(__pyx_v_self->var);
- __pyx_v_self->var = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
-
- /* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.var.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.file.var.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
@@ -8709,12 +11484,12 @@ static int __pyx_pf_9adios_mpi_4file_3var_4__del__(struct __pyx_obj_9adios_mpi_f
return __pyx_r;
}
-/* "adios_mpi.pyx":514
- *
+/* "adios_mpi.pyx":636
+ * ## Public Memeber
* cpdef public dict var
* cpdef public dict attr # <<<<<<<<<<<<<<
*
- * cpdef public bint is_stream
+ * property name:
*/
/* Python wrapper */
@@ -8767,7 +11542,7 @@ static int __pyx_pf_9adios_mpi_4file_4attr_2__set__(struct __pyx_obj_9adios_mpi_
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = __pyx_v_value;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -8817,91 +11592,357 @@ static int __pyx_pf_9adios_mpi_4file_4attr_4__del__(struct __pyx_obj_9adios_mpi_
return __pyx_r;
}
-/* "adios_mpi.pyx":516
- * cpdef public dict attr
+/* "adios_mpi.pyx":825
+ * property name:
+ * """ The variable name. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * cpdef public bint is_stream # <<<<<<<<<<<<<<
- *
- * """ Initialization. Call adios_read_open and populate public members """
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_4file_9is_stream_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_4file_9is_stream_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_3var_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_4name_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_9is_stream___get__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self));
+ __pyx_r = __pyx_pf_9adios_mpi_3var_4name___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_4file_9is_stream___get__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_3var_4name___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":826
+ * """ The variable name. """
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property varid:
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_stream); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
goto __pyx_L0;
+ /* "adios_mpi.pyx":825
+ * property name:
+ * """ The variable name. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
+ *
+ */
+
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.file.is_stream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+/* "adios_mpi.pyx":830
+ * property varid:
+ * """ Internal variable id. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.varid
+ *
+ */
+
/* Python wrapper */
-static int __pyx_pw_9adios_mpi_4file_9is_stream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_4file_9is_stream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_3var_5varid_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_5varid_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_4file_9is_stream_2__set__(((struct __pyx_obj_9adios_mpi_file *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_5varid___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_9adios_mpi_4file_9is_stream_2__set__(struct __pyx_obj_9adios_mpi_file *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_9adios_mpi_3var_5varid___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
+ PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->is_stream = __pyx_t_1;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":831
+ * """ Internal variable id. """
+ * def __get__(self):
+ * return self.varid # <<<<<<<<<<<<<<
+ *
+ * property dtype:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":830
+ * property varid:
+ * """ Internal variable id. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.varid
+ *
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.var.varid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":835
+ * property dtype:
+ * """ Variable type as in numpy.dtype. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_3var_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_5dtype_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_5dtype___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_3var_5dtype___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":836
+ * """ Variable type as in numpy.dtype. """
+ * def __get__(self):
+ * return self.dtype # <<<<<<<<<<<<<<
+ *
+ * property ndim:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_r = ((PyObject *)__pyx_v_self->dtype);
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":835
+ * property dtype:
+ * """ Variable type as in numpy.dtype. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":840
+ * property ndim:
+ * """ The number of dimensions of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.ndim
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_3var_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_4ndim_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_4ndim___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_3var_4ndim___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":841
+ * """ The number of dimensions of the variable. """
+ * def __get__(self):
+ * return self.ndim # <<<<<<<<<<<<<<
+ *
+ * property dims:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
goto __pyx_L0;
+
+ /* "adios_mpi.pyx":840
+ * property ndim:
+ * """ The number of dimensions of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.ndim
+ *
+ */
+
+ /* function exit code */
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.file.is_stream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.var.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":845
+ * property dims:
+ * """ The shape of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dims
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_3var_4dims_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_4dims_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_4dims___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_3var_4dims___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":846
+ * """ The shape of the variable. """
+ * def __get__(self):
+ * return self.dims # <<<<<<<<<<<<<<
+ *
+ * property nsteps:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->dims);
+ __pyx_r = __pyx_v_self->dims;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":845
+ * property dims:
+ * """ The shape of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dims
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":850
+ * property nsteps:
+ * """ The number of time steps of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nsteps
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_3var_6nsteps_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_6nsteps_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_6nsteps___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_3var_6nsteps___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":851
+ * """ The number of time steps of the variable. """
+ * def __get__(self):
+ * return self.nsteps # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, file file, char * name):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":850
+ * property nsteps:
+ * """ The number of time steps of the variable. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.nsteps
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.var.nsteps.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":585
+/* "adios_mpi.pyx":853
+ * return self.nsteps
*
- * """ Initialization. Call adios_inq_var and populate public members """
* def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
* self.file = file
* self.vp = NULL
@@ -8938,11 +11979,11 @@ static int __pyx_pw_9adios_mpi_3var_1__init__(PyObject *__pyx_v_self, PyObject *
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -8951,17 +11992,17 @@ static int __pyx_pw_9adios_mpi_3var_1__init__(PyObject *__pyx_v_self, PyObject *
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_file = ((struct __pyx_obj_9adios_mpi_file *)values[0]);
- __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.var.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_9adios_mpi_file, 1, "file", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_9adios_mpi_file, 1, "file", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_9adios_mpi_3var___init__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), __pyx_v_file, __pyx_v_name);
/* function exit code */
@@ -8981,13 +12022,17 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
int __pyx_t_2;
int __pyx_t_3;
PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ int __pyx_t_6;
+ size_t __pyx_t_7;
+ struct __pyx_opt_args_9adios_mpi_adios2npdtype __pyx_t_8;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "adios_mpi.pyx":586
- * """ Initialization. Call adios_inq_var and populate public members """
+ /* "adios_mpi.pyx":854
+ *
* def __init__(self, file file, char * name):
* self.file = file # <<<<<<<<<<<<<<
* self.vp = NULL
@@ -8999,7 +12044,7 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
__Pyx_DECREF(((PyObject *)__pyx_v_self->file));
__pyx_v_self->file = __pyx_v_file;
- /* "adios_mpi.pyx":587
+ /* "adios_mpi.pyx":855
* def __init__(self, file file, char * name):
* self.file = file
* self.vp = NULL # <<<<<<<<<<<<<<
@@ -9008,7 +12053,7 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
*/
__pyx_v_self->vp = NULL;
- /* "adios_mpi.pyx":589
+ /* "adios_mpi.pyx":857
* self.vp = NULL
*
* assert self.file.fp != NULL, 'Not an open file' # <<<<<<<<<<<<<<
@@ -9019,12 +12064,12 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->file->fp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_file);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios_mpi.pyx":590
+ /* "adios_mpi.pyx":858
*
* assert self.file.fp != NULL, 'Not an open file'
* self.vp = adios_inq_var(self.file.fp, name) # <<<<<<<<<<<<<<
@@ -9033,7 +12078,7 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
*/
__pyx_v_self->vp = adios_inq_var(__pyx_v_self->file->fp, __pyx_v_name);
- /* "adios_mpi.pyx":591
+ /* "adios_mpi.pyx":859
* assert self.file.fp != NULL, 'Not an open file'
* self.vp = adios_inq_var(self.file.fp, name)
* assert self.vp != NULL, 'Not a valid var' # <<<<<<<<<<<<<<
@@ -9044,19 +12089,19 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_a_valid_var);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios_mpi.pyx":593
+ /* "adios_mpi.pyx":861
* assert self.vp != NULL, 'Not a valid var'
*
* self.name = name # <<<<<<<<<<<<<<
* self.varid = self.vp.varid
- * self.type = adios2nptype(self.vp.type)
+ * self.ndim = self.vp.ndim
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->name);
@@ -9064,34 +12109,19 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
__pyx_v_self->name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "adios_mpi.pyx":594
+ /* "adios_mpi.pyx":862
*
* self.name = name
* self.varid = self.vp.varid # <<<<<<<<<<<<<<
- * self.type = adios2nptype(self.vp.type)
* self.ndim = self.vp.ndim
+ * self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
*/
__pyx_t_2 = __pyx_v_self->vp->varid;
__pyx_v_self->varid = __pyx_t_2;
- /* "adios_mpi.pyx":595
+ /* "adios_mpi.pyx":863
* self.name = name
* self.varid = self.vp.varid
- * self.type = adios2nptype(self.vp.type) # <<<<<<<<<<<<<<
- * self.ndim = self.vp.ndim
- * self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
- */
- __pyx_t_1 = ((PyObject *)__pyx_f_9adios_mpi_adios2nptype(__pyx_v_self->vp->type)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->type);
- __Pyx_DECREF(((PyObject *)__pyx_v_self->type));
- __pyx_v_self->type = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
-
- /* "adios_mpi.pyx":596
- * self.varid = self.vp.varid
- * self.type = adios2nptype(self.vp.type)
* self.ndim = self.vp.ndim # <<<<<<<<<<<<<<
* self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
* self.nsteps = self.vp.nsteps
@@ -9099,24 +12129,24 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
__pyx_t_2 = __pyx_v_self->vp->ndim;
__pyx_v_self->ndim = __pyx_t_2;
- /* "adios_mpi.pyx":597
- * self.type = adios2nptype(self.vp.type)
+ /* "adios_mpi.pyx":864
+ * self.varid = self.vp.varid
* self.ndim = self.vp.ndim
* self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)]) # <<<<<<<<<<<<<<
* self.nsteps = self.vp.nsteps
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_v_self->vp->ndim;
for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
__pyx_v_i = __pyx_t_3;
- __pyx_t_4 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
- __pyx_t_4 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_4);
@@ -9125,19 +12155,78 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
__pyx_v_self->dims = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "adios_mpi.pyx":598
+ /* "adios_mpi.pyx":865
* self.ndim = self.vp.ndim
* self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
* self.nsteps = self.vp.nsteps # <<<<<<<<<<<<<<
*
- * def __del__(self):
+ * if self.vp.type == DATATYPE.string:
*/
__pyx_t_2 = __pyx_v_self->vp->nsteps;
__pyx_v_self->nsteps = __pyx_t_2;
- /* "adios_mpi.pyx":585
+ /* "adios_mpi.pyx":867
+ * self.nsteps = self.vp.nsteps
+ *
+ * if self.vp.type == DATATYPE.string: # <<<<<<<<<<<<<<
+ * self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value))
+ * else:
+ */
+ __pyx_t_4 = PyInt_FromLong(__pyx_v_self->vp->type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_string); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__pyx_t_6) {
+
+ /* "adios_mpi.pyx":868
+ *
+ * if self.vp.type == DATATYPE.string:
+ * self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value)) # <<<<<<<<<<<<<<
+ * else:
+ * self.dtype = adios2npdtype(self.vp.type)
+ */
+ __pyx_t_7 = strlen(((char *)__pyx_v_self->vp->value));
+ __pyx_t_8.__pyx_n = 1;
+ __pyx_t_8.strlen = __pyx_t_7;
+ __pyx_t_1 = ((PyObject *)__pyx_f_9adios_mpi_adios2npdtype(__pyx_v_self->vp->type, 0, &__pyx_t_8)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":870
+ * self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value))
+ * else:
+ * self.dtype = adios2npdtype(self.vp.type) # <<<<<<<<<<<<<<
+ *
+ * def __del__(self):
+ */
+ __pyx_t_1 = ((PyObject *)__pyx_f_9adios_mpi_adios2npdtype(__pyx_v_self->vp->type, 0, NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_1);
+ __pyx_t_1 = 0;
+ }
+ __pyx_L5:;
+
+ /* "adios_mpi.pyx":853
+ * return self.nsteps
*
- * """ Initialization. Call adios_inq_var and populate public members """
* def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
* self.file = file
* self.vp = NULL
@@ -9149,6 +12238,7 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("adios_mpi.var.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -9156,8 +12246,8 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
return __pyx_r;
}
-/* "adios_mpi.pyx":600
- * self.nsteps = self.vp.nsteps
+/* "adios_mpi.pyx":872
+ * self.dtype = adios2npdtype(self.vp.type)
*
* def __del__(self): # <<<<<<<<<<<<<<
* self.close()
@@ -9166,6 +12256,7 @@ static int __pyx_pf_9adios_mpi_3var___init__(struct __pyx_obj_9adios_mpi_var *__
/* Python wrapper */
static PyObject *__pyx_pw_9adios_mpi_3var_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_3var_2__del__[] = "var.__del__(self)";
static PyObject *__pyx_pw_9adios_mpi_3var_3__del__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
@@ -9186,19 +12277,19 @@ static PyObject *__pyx_pf_9adios_mpi_3var_2__del__(struct __pyx_obj_9adios_mpi_v
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__del__", 0);
- /* "adios_mpi.pyx":601
+ /* "adios_mpi.pyx":873
*
* def __del__(self):
* self.close() # <<<<<<<<<<<<<<
*
- * """ Call adios_free_varinfo """
+ * cpdef close(self):
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_9adios_mpi_var *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((struct __pyx_vtabstruct_9adios_mpi_var *)__pyx_v_self->__pyx_vtab)->close(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":600
- * self.nsteps = self.vp.nsteps
+ /* "adios_mpi.pyx":872
+ * self.dtype = adios2npdtype(self.vp.type)
*
* def __del__(self): # <<<<<<<<<<<<<<
* self.close()
@@ -9218,12 +12309,12 @@ static PyObject *__pyx_pf_9adios_mpi_3var_2__del__(struct __pyx_obj_9adios_mpi_v
return __pyx_r;
}
-/* "adios_mpi.pyx":604
+/* "adios_mpi.pyx":875
+ * self.close()
*
- * """ Call adios_free_varinfo """
* cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var'
- * adios_free_varinfo(self.vp)
*/
static PyObject *__pyx_pw_9adios_mpi_3var_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
@@ -9242,7 +12333,7 @@ static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_3var_5close)) {
__Pyx_XDECREF(__pyx_r);
@@ -9258,10 +12349,10 @@ static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -9273,9 +12364,9 @@ static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "adios_mpi.pyx":605
- * """ Call adios_free_varinfo """
+ /* "adios_mpi.pyx":877
* cpdef close(self):
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var' # <<<<<<<<<<<<<<
* adios_free_varinfo(self.vp)
* self.vp = NULL
@@ -9284,13 +12375,13 @@ static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_var);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios_mpi.pyx":606
- * cpdef close(self):
+ /* "adios_mpi.pyx":878
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var'
* adios_free_varinfo(self.vp) # <<<<<<<<<<<<<<
* self.vp = NULL
@@ -9298,21 +12389,21 @@ static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *
*/
adios_free_varinfo(__pyx_v_self->vp);
- /* "adios_mpi.pyx":607
+ /* "adios_mpi.pyx":879
* assert self.vp != NULL, 'Not an open var'
* adios_free_varinfo(self.vp)
* self.vp = NULL # <<<<<<<<<<<<<<
*
- * """ Call adios_schedule_read and adios_perform_reads """
+ * cpdef advance(self):
*/
__pyx_v_self->vp = NULL;
- /* "adios_mpi.pyx":604
+ /* "adios_mpi.pyx":875
+ * self.close()
*
- * """ Call adios_free_varinfo """
* cpdef close(self): # <<<<<<<<<<<<<<
+ * """ Close and free variable information """
* assert self.vp != NULL, 'Not an open var'
- * adios_free_varinfo(self.vp)
*/
/* function exit code */
@@ -9333,6 +12424,7 @@ static PyObject *__pyx_f_9adios_mpi_3var_close(struct __pyx_obj_9adios_mpi_var *
/* Python wrapper */
static PyObject *__pyx_pw_9adios_mpi_3var_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_3var_4close[] = "var.close(self)\n Close and free variable information ";
static PyObject *__pyx_pw_9adios_mpi_3var_5close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
@@ -9353,7 +12445,7 @@ static PyObject *__pyx_pf_9adios_mpi_3var_4close(struct __pyx_obj_9adios_mpi_var
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_9adios_mpi_3var_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_3var_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -9370,40 +12462,199 @@ static PyObject *__pyx_pf_9adios_mpi_3var_4close(struct __pyx_obj_9adios_mpi_var
return __pyx_r;
}
-/* "adios_mpi.pyx":610
+/* "adios_mpi.pyx":881
+ * self.vp = NULL
*
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1): # <<<<<<<<<<<<<<
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
+ * cpdef advance(self): # <<<<<<<<<<<<<<
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name)
*/
-static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_3var_read *__pyx_optional_args) {
- PyObject *__pyx_v_offset = ((PyObject*)__pyx_empty_tuple);
- PyObject *__pyx_v_count = ((PyObject*)__pyx_empty_tuple);
- PyObject *__pyx_v_from_steps = ((PyObject *)__pyx_int_0);
- PyObject *__pyx_v_nsteps = ((PyObject *)__pyx_int_1);
- PyObject *__pyx_v_lshape = 0;
- PyArrayObject *__pyx_v_npshape = 0;
- PyArrayObject *__pyx_v_npoffset = 0;
- PyArrayObject *__pyx_v_npcount = 0;
- PyObject *__pyx_v_shape = NULL;
- PyArrayObject *__pyx_v_var = 0;
- ADIOS_SELECTION *__pyx_v_sel;
- int __pyx_v_i;
+static PyObject *__pyx_pw_9adios_mpi_3var_7advance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_3var_advance(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- int __pyx_t_7;
- int __pyx_t_8;
- int __pyx_t_9;
+ char const *__pyx_t_5;
+ int __pyx_t_6;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("advance", 0);
+ /* Check if called by wrapper */
+ if (unlikely(__pyx_skip_dispatch)) ;
+ /* Check if overridden in Python */
+ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_advance); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_3var_7advance)) {
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (__pyx_t_4) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+
+ /* "adios_mpi.pyx":883
+ * cpdef advance(self):
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name) # <<<<<<<<<<<<<<
+ * assert self.vp != NULL, 'Not a valid var'
+ * self.nsteps = self.vp.nsteps
+ */
+ __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_self->vp = adios_inq_var(__pyx_v_self->file->fp, __pyx_t_5);
+
+ /* "adios_mpi.pyx":884
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ * assert self.vp != NULL, 'Not a valid var' # <<<<<<<<<<<<<<
+ * self.nsteps = self.vp.nsteps
+ *
+ */
+ #ifndef CYTHON_WITHOUT_ASSERTIONS
+ if (unlikely(!Py_OptimizeFlag)) {
+ if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
+ PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_a_valid_var);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ }
+ #endif
+
+ /* "adios_mpi.pyx":885
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ * assert self.vp != NULL, 'Not a valid var'
+ * self.nsteps = self.vp.nsteps # <<<<<<<<<<<<<<
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0):
+ */
+ __pyx_t_6 = __pyx_v_self->vp->nsteps;
+ __pyx_v_self->nsteps = __pyx_t_6;
+
+ /* "adios_mpi.pyx":881
+ * self.vp = NULL
+ *
+ * cpdef advance(self): # <<<<<<<<<<<<<<
+ * """ Update variable information after the stream advanced """
+ * self.vp = adios_inq_var(self.file.fp, self.name)
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.var.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_3var_7advance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_3var_6advance[] = "var.advance(self)\n Update variable information after the stream advanced ";
+static PyObject *__pyx_pw_9adios_mpi_3var_7advance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("advance (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_6advance(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_3var_6advance(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("advance", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_9adios_mpi_3var_advance(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.var.advance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":887
+ * self.nsteps = self.vp.nsteps
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0): # <<<<<<<<<<<<<<
+ * """ Perform read.
+ *
+ */
+
+static PyObject *__pyx_pw_9adios_mpi_3var_9read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_3var_read *__pyx_optional_args) {
+ PyObject *__pyx_v_offset = ((PyObject*)__pyx_empty_tuple);
+ PyObject *__pyx_v_count = ((PyObject*)__pyx_empty_tuple);
+ PyObject *__pyx_v_from_steps = ((PyObject *)Py_None);
+ PyObject *__pyx_v_nsteps = ((PyObject *)Py_None);
+ PyObject *__pyx_v_fill = ((PyObject *)__pyx_int_0);
+ PyObject *__pyx_v_lshape = 0;
+ PyArrayObject *__pyx_v_npshape = 0;
+ PyArrayObject *__pyx_v_npoffset = 0;
+ PyArrayObject *__pyx_v_npcount = 0;
+ PyObject *__pyx_v_shape = NULL;
+ PyArrayObject *__pyx_v_var = 0;
+ ADIOS_SELECTION *__pyx_v_sel;
+ int __pyx_v_i;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ Py_ssize_t __pyx_t_5;
+ PyObject *__pyx_t_6 = NULL;
+ int __pyx_t_7;
+ int __pyx_t_8;
+ int __pyx_t_9;
int __pyx_t_10;
+ int __pyx_t_11;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -9417,18 +12668,23 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
__pyx_v_from_steps = __pyx_optional_args->from_steps;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_nsteps = __pyx_optional_args->nsteps;
+ if (__pyx_optional_args->__pyx_n > 4) {
+ __pyx_v_fill = __pyx_optional_args->fill;
+ }
}
}
}
}
}
+ __Pyx_INCREF(__pyx_v_from_steps);
+ __Pyx_INCREF(__pyx_v_nsteps);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_3var_7read)) {
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_3var_9read)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
@@ -9443,7 +12699,7 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
__pyx_t_5 = 1;
}
}
- __pyx_t_6 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
@@ -9460,7 +12716,10 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
__Pyx_INCREF(__pyx_v_nsteps);
PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_5, __pyx_v_nsteps);
__Pyx_GIVEREF(__pyx_v_nsteps);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_INCREF(__pyx_v_fill);
+ PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_5, __pyx_v_fill);
+ __Pyx_GIVEREF(__pyx_v_fill);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -9472,117 +12731,192 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "adios_mpi.pyx":611
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1):
- * assert self.type is not None, 'Data type is not supported yet' # <<<<<<<<<<<<<<
- * if (self.nsteps > 0):
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ /* "adios_mpi.pyx":934
+ *
+ * """
+ * if from_steps is None: # <<<<<<<<<<<<<<
+ * from_steps = 0 ##self.file.current_step
+ *
+ */
+ __pyx_t_7 = (__pyx_v_from_steps == Py_None);
+ __pyx_t_8 = (__pyx_t_7 != 0);
+ if (__pyx_t_8) {
+
+ /* "adios_mpi.pyx":935
+ * """
+ * if from_steps is None:
+ * from_steps = 0 ##self.file.current_step # <<<<<<<<<<<<<<
+ *
+ * if nsteps is None:
+ */
+ __Pyx_INCREF(__pyx_int_0);
+ __Pyx_DECREF_SET(__pyx_v_from_steps, __pyx_int_0);
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":937
+ * from_steps = 0 ##self.file.current_step
+ *
+ * if nsteps is None: # <<<<<<<<<<<<<<
+ * nsteps = self.file.last_step - from_steps + 1
+ *
+ */
+ __pyx_t_8 = (__pyx_v_nsteps == Py_None);
+ __pyx_t_7 = (__pyx_t_8 != 0);
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":938
+ *
+ * if nsteps is None:
+ * nsteps = self.file.last_step - from_steps + 1 # <<<<<<<<<<<<<<
+ *
+ * assert self.dtype is not None, 'Data type is not supported yet'
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->file->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_from_steps); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_nsteps, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "adios_mpi.pyx":940
+ * nsteps = self.file.last_step - from_steps + 1
+ *
+ * assert self.dtype is not None, 'Data type is not supported yet' # <<<<<<<<<<<<<<
+ * if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps):
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
*/
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_7 = (__pyx_v_self->type != ((PyObject*)Py_None));
+ __pyx_t_7 = (((PyObject *)__pyx_v_self->dtype) != Py_None);
if (unlikely(!(__pyx_t_7 != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Data_type_is_not_supported_yet);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios_mpi.pyx":612
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1):
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0): # <<<<<<<<<<<<<<
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ /* "adios_mpi.pyx":941
+ *
+ * assert self.dtype is not None, 'Data type is not supported yet'
+ * if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps): # <<<<<<<<<<<<<<
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
*
*/
- __pyx_t_7 = ((__pyx_v_self->nsteps > 0) != 0);
+ __pyx_t_8 = ((__pyx_v_self->nsteps > 0) != 0);
+ if (__pyx_t_8) {
+ } else {
+ __pyx_t_7 = __pyx_t_8;
+ goto __pyx_L6_bool_binop_done;
+ }
+ __pyx_t_1 = PyNumber_Add(__pyx_v_from_steps, __pyx_v_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_7 = __pyx_t_8;
+ __pyx_L6_bool_binop_done:;
if (__pyx_t_7) {
- /* "adios_mpi.pyx":613
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range' # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":942
+ * assert self.dtype is not None, 'Data type is not supported yet'
+ * if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps):
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps)) # <<<<<<<<<<<<<<
*
* cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)]
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_1 = PyNumber_Add(__pyx_v_from_steps, __pyx_v_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_7)) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Step_index_is_out_of_range);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
- goto __pyx_L3;
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_from_steps);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_from_steps);
+ __Pyx_GIVEREF(__pyx_v_from_steps);
+ __Pyx_INCREF(__pyx_v_nsteps);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_nsteps);
+ __Pyx_GIVEREF(__pyx_v_nsteps);
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_Step_index_is_out_of_range_from, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_L3:;
- /* "adios_mpi.pyx":615
- * assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ /* "adios_mpi.pyx":944
+ * raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
*
* cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)] # <<<<<<<<<<<<<<
* cdef np.ndarray npshape = np.array(lshape, dtype=np.int64)
*
*/
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __pyx_v_self->vp->ndim;
- for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
- __pyx_v_i = __pyx_t_9;
- __pyx_t_2 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_9 = __pyx_v_self->vp->ndim;
+ for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
+ __pyx_v_i = __pyx_t_10;
+ __pyx_t_3 = __Pyx_PyInt_From_uint64_t((__pyx_v_self->vp->dims[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_v_lshape = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
+ __pyx_v_lshape = ((PyObject*)__pyx_t_2);
+ __pyx_t_2 = 0;
- /* "adios_mpi.pyx":616
+ /* "adios_mpi.pyx":945
*
* cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)]
* cdef np.ndarray npshape = np.array(lshape, dtype=np.int64) # <<<<<<<<<<<<<<
*
* cdef np.ndarray npoffset
*/
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_lshape);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_lshape);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_lshape);
__Pyx_GIVEREF(__pyx_v_lshape);
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npshape = ((PyArrayObject *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "adios_mpi.pyx":619
+ /* "adios_mpi.pyx":948
*
* cdef np.ndarray npoffset
* if len(offset) == 0: # <<<<<<<<<<<<<<
@@ -9591,98 +12925,98 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
*/
if (unlikely(__pyx_v_offset == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_7 = ((__pyx_t_5 == 0) != 0);
if (__pyx_t_7) {
- /* "adios_mpi.pyx":620
+ /* "adios_mpi.pyx":949
* cdef np.ndarray npoffset
* if len(offset) == 0:
* npoffset = npshape.copy() # <<<<<<<<<<<<<<
* npoffset.fill(0)
* else:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npshape), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npshape), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = NULL;
+ __pyx_t_2 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- if (__pyx_t_3) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_2) {
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
- __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npoffset = ((PyArrayObject *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "adios_mpi.pyx":621
+ /* "adios_mpi.pyx":950
* if len(offset) == 0:
* npoffset = npshape.copy()
* npoffset.fill(0) # <<<<<<<<<<<<<<
* else:
* npoffset = np.array(offset, dtype=np.int64)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npoffset), __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_npoffset), __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- goto __pyx_L6;
+ goto __pyx_L10;
}
/*else*/ {
- /* "adios_mpi.pyx":623
+ /* "adios_mpi.pyx":952
* npoffset.fill(0)
* else:
* npoffset = np.array(offset, dtype=np.int64) # <<<<<<<<<<<<<<
*
* cdef np.ndarray npcount
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_offset);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_offset);
__Pyx_GIVEREF(__pyx_v_offset);
- __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int64); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npoffset = ((PyArrayObject *)__pyx_t_6);
__pyx_t_6 = 0;
}
- __pyx_L6:;
+ __pyx_L10:;
- /* "adios_mpi.pyx":626
+ /* "adios_mpi.pyx":955
*
* cdef np.ndarray npcount
* if len(count) == 0: # <<<<<<<<<<<<<<
@@ -9691,258 +13025,350 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
*/
if (unlikely(__pyx_v_count == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_count); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_count); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_7 = ((__pyx_t_5 == 0) != 0);
if (__pyx_t_7) {
- /* "adios_mpi.pyx":627
+ /* "adios_mpi.pyx":956
* cdef np.ndarray npcount
* if len(count) == 0:
* npcount = npshape - npoffset # <<<<<<<<<<<<<<
* else:
* npcount = np.array(count, dtype=np.int64)
*/
- __pyx_t_6 = PyNumber_Subtract(((PyObject *)__pyx_v_npshape), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyNumber_Subtract(((PyObject *)__pyx_v_npshape), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_npcount = ((PyArrayObject *)__pyx_t_6);
__pyx_t_6 = 0;
- goto __pyx_L7;
+ goto __pyx_L11;
}
/*else*/ {
- /* "adios_mpi.pyx":629
+ /* "adios_mpi.pyx":958
* npcount = npshape - npoffset
* else:
* npcount = np.array(count, dtype=np.int64) # <<<<<<<<<<<<<<
*
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
+ * if npshape.ndim != npoffset.ndim:
*/
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_v_count);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_count);
__Pyx_GIVEREF(__pyx_v_count);
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int64); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int64); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_npcount = ((PyArrayObject *)__pyx_t_2);
- __pyx_t_2 = 0;
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_npcount = ((PyArrayObject *)__pyx_t_3);
+ __pyx_t_3 = 0;
}
- __pyx_L7:;
+ __pyx_L11:;
- /* "adios_mpi.pyx":631
+ /* "adios_mpi.pyx":960
* npcount = np.array(count, dtype=np.int64)
*
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch' # <<<<<<<<<<<<<<
- * assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.'
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ * if npshape.ndim != npoffset.ndim: # <<<<<<<<<<<<<<
+ * raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim))
+ *
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_npshape->nd == __pyx_v_npoffset->nd) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Offset_dimension_mismatch);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
+ __pyx_t_7 = ((__pyx_v_npshape->nd != __pyx_v_npoffset->nd) != 0);
+ if (__pyx_t_7) {
- /* "adios_mpi.pyx":632
+ /* "adios_mpi.pyx":961
*
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
- * assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.' # <<<<<<<<<<<<<<
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ * if npshape.ndim != npoffset.ndim:
+ * raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim)) # <<<<<<<<<<<<<<
*
+ * if npshape.ndim != npcount.ndim:
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- if (unlikely(!((__pyx_v_npshape->nd == __pyx_v_npcount->nd) != 0))) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Count_dimension_mismatch);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_npoffset->nd); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Offset_dimension_mismatch_offset, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- #endif
- /* "adios_mpi.pyx":633
- * assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
- * assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.'
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.' # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":963
+ * raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim))
+ *
+ * if npshape.ndim != npcount.ndim: # <<<<<<<<<<<<<<
+ * raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim))
*
- * shape = list(npcount)
*/
- #ifndef CYTHON_WITHOUT_ASSERTIONS
- if (unlikely(!Py_OptimizeFlag)) {
- __pyx_t_1 = PyNumber_Subtract(((PyObject *)__pyx_v_npshape), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, ((PyObject *)__pyx_v_npcount), Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((__pyx_v_npshape->nd != __pyx_v_npcount->nd) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":964
+ *
+ * if npshape.ndim != npcount.ndim:
+ * raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim)) # <<<<<<<<<<<<<<
+ *
+ * if (npshape < npcount + npoffset).any():
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_npcount->nd); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Count_dimension_mismatch_count_d, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_6)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_6);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- }
- }
- if (__pyx_t_6) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- } else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_7)) {
- PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Count_is_larger_than_shape);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":966
+ * raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim))
+ *
+ * if (npshape < npcount + npoffset).any(): # <<<<<<<<<<<<<<
+ * raise IndexError('Requested is larger than the shape.')
+ *
+ */
+ __pyx_t_1 = PyNumber_Add(((PyObject *)__pyx_v_npcount), ((PyObject *)__pyx_v_npoffset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_npshape), __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_any); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- #endif
+ if (__pyx_t_6) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ } else {
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":967
+ *
+ * if (npshape < npcount + npoffset).any():
+ * raise IndexError('Requested is larger than the shape.') # <<<<<<<<<<<<<<
+ *
+ * shape = list(npcount)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
- /* "adios_mpi.pyx":635
- * assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ /* "adios_mpi.pyx":969
+ * raise IndexError('Requested is larger than the shape.')
*
* shape = list(npcount) # <<<<<<<<<<<<<<
* if (nsteps > 1):
* shape.insert(0, nsteps)
*/
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(((PyObject *)__pyx_v_npcount));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_npcount));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_npcount));
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_shape = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __pyx_t_3 = PySequence_List(((PyObject *)__pyx_v_npcount)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_shape = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "adios_mpi.pyx":636
+ /* "adios_mpi.pyx":970
*
* shape = list(npcount)
* if (nsteps > 1): # <<<<<<<<<<<<<<
* shape.insert(0, nsteps)
- * cdef np.ndarray var = np.zeros(shape, dtype=self.type)
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
*/
- __pyx_t_1 = PyObject_RichCompare(__pyx_v_nsteps, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_nsteps, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_7) {
- /* "adios_mpi.pyx":637
+ /* "adios_mpi.pyx":971
* shape = list(npcount)
* if (nsteps > 1):
* shape.insert(0, nsteps) # <<<<<<<<<<<<<<
- * cdef np.ndarray var = np.zeros(shape, dtype=self.type)
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
*
*/
- __pyx_t_10 = PyList_Insert(__pyx_v_shape, 0, __pyx_v_nsteps); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- goto __pyx_L8;
+ __pyx_t_11 = PyList_Insert(__pyx_v_shape, 0, __pyx_v_nsteps); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L15;
}
- __pyx_L8:;
+ __pyx_L15:;
- /* "adios_mpi.pyx":638
+ /* "adios_mpi.pyx":972
* if (nsteps > 1):
* shape.insert(0, nsteps)
- * cdef np.ndarray var = np.zeros(shape, dtype=self.type) # <<<<<<<<<<<<<<
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype) # <<<<<<<<<<<<<<
*
- * cdef ADIOS_SELECTION * sel
+ * if len(shape) > 0:
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_shape);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape);
- __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->type)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->dtype)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_var = ((PyArrayObject *)__pyx_t_3);
- __pyx_t_3 = 0;
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_var = ((PyArrayObject *)__pyx_t_2);
+ __pyx_t_2 = 0;
- /* "adios_mpi.pyx":641
+ /* "adios_mpi.pyx":974
+ * cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
+ *
+ * if len(shape) > 0: # <<<<<<<<<<<<<<
+ * var[:] = fill
+ *
+ */
+ __pyx_t_5 = PyList_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((__pyx_t_5 > 0) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":975
+ *
+ * if len(shape) > 0:
+ * var[:] = fill # <<<<<<<<<<<<<<
+ *
+ * cdef ADIOS_SELECTION * sel
+ */
+ if (__Pyx_PyObject_SetSlice(((PyObject *)__pyx_v_var), __pyx_v_fill, 0, 0, NULL, NULL, &__pyx_slice__16, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L16;
+ }
+ __pyx_L16:;
+
+ /* "adios_mpi.pyx":978
*
* cdef ADIOS_SELECTION * sel
* sel = adios_selection_boundingbox (self.vp.ndim, <uint64_t *> npoffset.data, <uint64_t *> npcount.data) # <<<<<<<<<<<<<<
*
- * adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data)
+ * ##print 'npoffset', npoffset
*/
__pyx_v_sel = adios_selection_boundingbox(__pyx_v_self->vp->ndim, ((uint64_t *)__pyx_v_npoffset->data), ((uint64_t *)__pyx_v_npcount->data));
- /* "adios_mpi.pyx":643
- * sel = adios_selection_boundingbox (self.vp.ndim, <uint64_t *> npoffset.data, <uint64_t *> npcount.data)
+ /* "adios_mpi.pyx":983
+ * ##print 'npcount', npcount
*
* adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data) # <<<<<<<<<<<<<<
* adios_perform_reads(self.file.fp, 1)
*
*/
- __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_from_steps); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_nsteps); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- adios_schedule_read_byid(__pyx_v_self->file->fp, __pyx_v_sel, __pyx_v_self->vp->varid, __pyx_t_8, __pyx_t_9, ((void *)__pyx_v_var->data));
+ __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_from_steps); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_nsteps); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ adios_schedule_read_byid(__pyx_v_self->file->fp, __pyx_v_sel, __pyx_v_self->vp->varid, __pyx_t_9, __pyx_t_10, ((void *)__pyx_v_var->data));
- /* "adios_mpi.pyx":644
+ /* "adios_mpi.pyx":984
*
* adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data)
* adios_perform_reads(self.file.fp, 1) # <<<<<<<<<<<<<<
*
- * return var
+ * ## Try not to return as scalar to be consistent
*/
adios_perform_reads(__pyx_v_self->file->fp, 1);
- /* "adios_mpi.pyx":646
- * adios_perform_reads(self.file.fp, 1)
+ /* "adios_mpi.pyx":991
+ * ##else:
+ * ## return var
+ * return np.squeeze(var) # <<<<<<<<<<<<<<
*
- * return var # <<<<<<<<<<<<<<
- *
- * """ Print self """
+ * cpdef printself(self):
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(((PyObject *)__pyx_v_var));
- __pyx_r = ((PyObject *)__pyx_v_var);
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ if (!__pyx_t_6) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_var)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ } else {
+ __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
+ __Pyx_INCREF(((PyObject *)__pyx_v_var));
+ PyTuple_SET_ITEM(__pyx_t_1, 0+1, ((PyObject *)__pyx_v_var));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_var));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
- /* "adios_mpi.pyx":610
+ /* "adios_mpi.pyx":887
+ * self.nsteps = self.vp.nsteps
+ *
+ * cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0): # <<<<<<<<<<<<<<
+ * """ Perform read.
*
- * """ Call adios_schedule_read and adios_perform_reads """
- * cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1): # <<<<<<<<<<<<<<
- * assert self.type is not None, 'Data type is not supported yet'
- * if (self.nsteps > 0):
*/
/* function exit code */
@@ -9961,18 +13387,22 @@ static PyObject *__pyx_f_9adios_mpi_3var_read(struct __pyx_obj_9adios_mpi_var *_
__Pyx_XDECREF((PyObject *)__pyx_v_npcount);
__Pyx_XDECREF(__pyx_v_shape);
__Pyx_XDECREF((PyObject *)__pyx_v_var);
+ __Pyx_XDECREF(__pyx_v_from_steps);
+ __Pyx_XDECREF(__pyx_v_nsteps);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_9adios_mpi_3var_9read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_3var_8read[] = "var.read(self, tuple offset=(), tuple count=(), from_steps=None, nsteps=None, fill=0)\n Perform read.\n\n Read data from an ADIOS BP file. Subset reading is\n supported. Without any options, this will read out a whole\n data.\n\n Args:\n offset (tuple of int, optional): offset (default: ())\n count (tuple of int, optional): count (default: ())\n from_steps (int, optional): starti [...]
+static PyObject *__pyx_pw_9adios_mpi_3var_9read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_offset = 0;
PyObject *__pyx_v_count = 0;
PyObject *__pyx_v_from_steps = 0;
PyObject *__pyx_v_nsteps = 0;
+ PyObject *__pyx_v_fill = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -9980,16 +13410,18 @@ static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("read (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_count,&__pyx_n_s_from_steps,&__pyx_n_s_nsteps,0};
- PyObject* values[4] = {0,0,0,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_count,&__pyx_n_s_from_steps,&__pyx_n_s_nsteps,&__pyx_n_s_fill,0};
+ PyObject* values[5] = {0,0,0,0,0};
values[0] = ((PyObject*)__pyx_empty_tuple);
values[1] = ((PyObject*)__pyx_empty_tuple);
- values[2] = ((PyObject *)__pyx_int_0);
- values[3] = ((PyObject *)__pyx_int_1);
+ values[2] = ((PyObject *)Py_None);
+ values[3] = ((PyObject *)Py_None);
+ values[4] = ((PyObject *)__pyx_int_0);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -10019,12 +13451,18 @@ static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nsteps);
if (value) { values[3] = value; kw_args--; }
}
+ case 4:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fill);
+ if (value) { values[4] = value; kw_args--; }
+ }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -10037,18 +13475,19 @@ static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject
__pyx_v_count = ((PyObject*)values[1]);
__pyx_v_from_steps = values[2];
__pyx_v_nsteps = values[3];
+ __pyx_v_fill = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("read", 0, 0, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("read", 0, 0, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("adios_mpi.var.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_offset), (&PyTuple_Type), 1, "offset", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_count), (&PyTuple_Type), 1, "count", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_r = __pyx_pf_9adios_mpi_3var_6read(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), __pyx_v_offset, __pyx_v_count, __pyx_v_from_steps, __pyx_v_nsteps);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_offset), (&PyTuple_Type), 1, "offset", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_count), (&PyTuple_Type), 1, "count", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_3var_8read(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), __pyx_v_offset, __pyx_v_count, __pyx_v_from_steps, __pyx_v_nsteps, __pyx_v_fill);
/* function exit code */
goto __pyx_L0;
@@ -10059,7 +13498,7 @@ static PyObject *__pyx_pw_9adios_mpi_3var_7read(PyObject *__pyx_v_self, PyObject
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_3var_6read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps) {
+static PyObject *__pyx_pf_9adios_mpi_3var_8read(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_count, PyObject *__pyx_v_from_steps, PyObject *__pyx_v_nsteps, PyObject *__pyx_v_fill) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -10069,12 +13508,13 @@ static PyObject *__pyx_pf_9adios_mpi_3var_6read(struct __pyx_obj_9adios_mpi_var
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2.__pyx_n = 4;
+ __pyx_t_2.__pyx_n = 5;
__pyx_t_2.offset = __pyx_v_offset;
__pyx_t_2.count = __pyx_v_count;
__pyx_t_2.from_steps = __pyx_v_from_steps;
__pyx_t_2.nsteps = __pyx_v_nsteps;
- __pyx_t_1 = __pyx_vtabptr_9adios_mpi_var->read(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2.fill = __pyx_v_fill;
+ __pyx_t_1 = __pyx_vtabptr_9adios_mpi_var->read(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -10091,15 +13531,15 @@ static PyObject *__pyx_pf_9adios_mpi_3var_6read(struct __pyx_obj_9adios_mpi_var
return __pyx_r;
}
-/* "adios_mpi.pyx":649
+/* "adios_mpi.pyx":993
+ * return np.squeeze(var)
*
- * """ Print self """
* cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable'
- * print '=== AdiosVariable ==='
*/
-static PyObject *__pyx_pw_9adios_mpi_3var_9printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_11printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -10115,9 +13555,9 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_printself); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_3var_9printself)) {
+ if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_9adios_mpi_3var_11printself)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
@@ -10131,10 +13571,10 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -10146,9 +13586,9 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "adios_mpi.pyx":650
- * """ Print self """
+ /* "adios_mpi.pyx":995
* cpdef printself(self):
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable' # <<<<<<<<<<<<<<
* print '=== AdiosVariable ==='
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
@@ -10157,30 +13597,30 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_self->vp != NULL) != 0))) {
PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_Not_an_open_variable);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "adios_mpi.pyx":651
- * cpdef printself(self):
+ /* "adios_mpi.pyx":996
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable'
* print '=== AdiosVariable ===' # <<<<<<<<<<<<<<
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
*/
- if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosVariable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_kp_s_AdiosVariable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":652
+ /* "adios_mpi.pyx":997
* assert self.vp != NULL, 'Not an open variable'
* print '=== AdiosVariable ==='
* print '%15s : %lu' % ('vp', <unsigned long> self.vp) # <<<<<<<<<<<<<<
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
* printvar(self.vp)
*/
- __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->vp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->vp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_vp);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_vp);
@@ -10188,22 +13628,22 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":653
+ /* "adios_mpi.pyx":998
* print '=== AdiosVariable ==='
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp) # <<<<<<<<<<<<<<
* printvar(self.vp)
*
*/
- __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->file->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_unsigned_long(((unsigned long)__pyx_v_self->file->fp)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_fp);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fp);
@@ -10211,29 +13651,29 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_15s_lu, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":654
+ /* "adios_mpi.pyx":999
* print '%15s : %lu' % ('vp', <unsigned long> self.vp)
* print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
* printvar(self.vp) # <<<<<<<<<<<<<<
*
- * ## ====================
+ * def __repr__(self):
*/
- __pyx_t_1 = __pyx_f_9adios_mpi_printvar(__pyx_v_self->vp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_printvar(__pyx_v_self->vp); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":649
+ /* "adios_mpi.pyx":993
+ * return np.squeeze(var)
*
- * """ Print self """
* cpdef printself(self): # <<<<<<<<<<<<<<
+ * """ Print native ADIOS_VARINFO structure. """
* assert self.vp != NULL, 'Not an open variable'
- * print '=== AdiosVariable ==='
*/
/* function exit code */
@@ -10253,19 +13693,20 @@ static PyObject *__pyx_f_9adios_mpi_3var_printself(struct __pyx_obj_9adios_mpi_v
}
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_9printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_9printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_9adios_mpi_3var_11printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_3var_10printself[] = "var.printself(self)\n Print native ADIOS_VARINFO structure. ";
+static PyObject *__pyx_pw_9adios_mpi_3var_11printself(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("printself (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_8printself(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+ __pyx_r = __pyx_pf_9adios_mpi_3var_10printself(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_3var_8printself(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_3var_10printself(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -10274,7 +13715,7 @@ static PyObject *__pyx_pf_9adios_mpi_3var_8printself(struct __pyx_obj_9adios_mpi
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("printself", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_9adios_mpi_3var_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_9adios_mpi_3var_printself(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -10291,416 +13732,1367 @@ static PyObject *__pyx_pf_9adios_mpi_3var_8printself(struct __pyx_obj_9adios_mpi
return __pyx_r;
}
-/* "adios_mpi.pyx":577
+/* "adios_mpi.pyx":1001
+ * printvar(self.vp)
*
- * """ Public Memeber """
- * cpdef public bytes name # <<<<<<<<<<<<<<
- * cpdef public int varid
- * cpdef public type type
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid,
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_4name_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_3var_13__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_13__repr__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4name___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_12__repr__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_3var_4name___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_3var_12__repr__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios_mpi.pyx":1002
+ *
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.varid,
+ * self.dtype,
+ */
__Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->name);
- __pyx_r = __pyx_v_self->name;
- goto __pyx_L0;
- /* function exit code */
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":1003
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid, # <<<<<<<<<<<<<<
+ * self.dtype,
+ * self.ndim,
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4name_2__set__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ /* "adios_mpi.pyx":1005
+ * (self.varid,
+ * self.dtype,
+ * self.ndim, # <<<<<<<<<<<<<<
+ * self.dims,
+ * self.nsteps)
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->ndim); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":1007
+ * self.ndim,
+ * self.dims,
+ * self.nsteps) # <<<<<<<<<<<<<<
+ *
+ * def __getitem__(self, index):
+ */
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
-static int __pyx_pf_9adios_mpi_3var_4name_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyBytes_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
+ /* "adios_mpi.pyx":1003
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid, # <<<<<<<<<<<<<<
+ * self.dtype,
+ * self.ndim,
+ */
+ __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self->dtype));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self->dtype));
+ PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_v_self->dims);
+ PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_self->dims);
+ __Pyx_GIVEREF(__pyx_v_self->dims);
+ PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
__pyx_t_1 = 0;
+ __pyx_t_2 = 0;
+ __pyx_t_3 = 0;
- /* function exit code */
- __pyx_r = 0;
+ /* "adios_mpi.pyx":1002
+ *
+ * def __repr__(self):
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.varid,
+ * self.dtype,
+ */
+ __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_AdiosVar_varid_r_dtype_r_ndim_r, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.var.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4name_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4name_4__del__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_3var_4name_4__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->name);
- __Pyx_DECREF(__pyx_v_self->name);
- __pyx_v_self->name = ((PyObject*)Py_None);
+ /* "adios_mpi.pyx":1001
+ * printvar(self.vp)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ * (self.varid,
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.var.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":578
- * """ Public Memeber """
- * cpdef public bytes name
- * cpdef public int varid # <<<<<<<<<<<<<<
- * cpdef public type type
- * cpdef public int ndim
+/* "adios_mpi.pyx":1009
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_5varid_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_5varid_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_3var_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_3var_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_5varid___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+ __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_3var_14__getitem__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_index));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+static PyObject *__pyx_gb_9adios_mpi_3var_11__getitem___2generator(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value); /* proto */
-static PyObject *__pyx_pf_9adios_mpi_3var_5varid___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+/* "adios_mpi.pyx":1030
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+
+static PyObject *__pyx_pf_9adios_mpi_3var_11__getitem___genexpr(PyObject *__pyx_self) {
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->varid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __Pyx_RefNannySetupContext("genexpr", 0);
+ __pyx_cur_scope = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *)__pyx_tp_new_9adios_mpi___pyx_scope_struct_1_genexpr(__pyx_ptype_9adios_mpi___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
+ if (unlikely(!__pyx_cur_scope)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_cur_scope);
+ __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *) __pyx_self;
+ __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
+ {
+ __pyx_GeneratorObject *gen = __Pyx_Generator_New((__pyx_generator_body_t) __pyx_gb_9adios_mpi_3var_11__getitem___2generator, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_getitem___locals_genexpr); if (unlikely(!gen)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_cur_scope);
+ __Pyx_RefNannyFinishContext();
+ return (PyObject *) gen;
+ }
/* function exit code */
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.var.varid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.var.__getitem__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
- __pyx_L0:;
+ __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_5varid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_5varid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_gb_9adios_mpi_3var_11__getitem___2generator(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */
+{
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
+ PyObject *__pyx_r = NULL;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ Py_ssize_t __pyx_t_3;
+ PyObject *(*__pyx_t_4)(PyObject *);
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_5varid_2__set__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_3var_5varid_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->varid = __pyx_t_1;
+ __Pyx_RefNannySetupContext("None", 0);
+ switch (__pyx_generator->resume_label) {
+ case 0: goto __pyx_L3_first_run;
+ case 1: goto __pyx_L6_resume_from_yield;
+ default: /* CPython raises the right error here */
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __pyx_L3_first_run:;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_)) { __Pyx_RaiseClosureNameError("index_"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_)) { __Pyx_RaiseClosureNameError("dims_"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dims_);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
+ __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
+ __pyx_t_4 = NULL;
+ } else {
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_4)) {
+ if (likely(PyList_CheckExact(__pyx_t_1))) {
+ if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_2 = __pyx_t_4(__pyx_t_1);
+ if (unlikely(!__pyx_t_2)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ }
+ __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x);
+ __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_indices); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
+ } else {
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ __pyx_t_5 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_XGIVEREF(__pyx_t_1);
+ __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
+ __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
+ __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ /* return from generator, yielding value */
+ __pyx_generator->resume_label = 1;
+ return __pyx_r;
+ __pyx_L6_resume_from_yield:;
+ __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
+ __pyx_cur_scope->__pyx_t_0 = 0;
+ __Pyx_XGOTREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
+ __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* function exit code */
- __pyx_r = 0;
+ PyErr_SetNone(PyExc_StopIteration);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.var.varid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_generator->resume_label = -1;
+ __Pyx_Generator_clear((PyObject*)__pyx_generator);
__Pyx_RefNannyFinishContext();
- return __pyx_r;
+ return NULL;
}
+static PyObject *__pyx_gb_9adios_mpi_3var_11__getitem___5generator1(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value); /* proto */
-/* "adios_mpi.pyx":579
- * cpdef public bytes name
- * cpdef public int varid
- * cpdef public type type # <<<<<<<<<<<<<<
- * cpdef public int ndim
- * cpdef public tuple dims
+/* "adios_mpi.pyx":1038
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
*/
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_4type_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4type___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_9adios_mpi_3var_4type___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_3var_11__getitem___3genexpr(PyObject *__pyx_self) {
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(((PyObject *)__pyx_v_self->type));
- __pyx_r = ((PyObject *)__pyx_v_self->type);
- goto __pyx_L0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("genexpr", 0);
+ __pyx_cur_scope = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *)__pyx_tp_new_9adios_mpi___pyx_scope_struct_2_genexpr(__pyx_ptype_9adios_mpi___pyx_scope_struct_2_genexpr, __pyx_empty_tuple, NULL);
+ if (unlikely(!__pyx_cur_scope)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_cur_scope);
+ __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *) __pyx_self;
+ __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
+ {
+ __pyx_GeneratorObject *gen = __Pyx_Generator_New((__pyx_generator_body_t) __pyx_gb_9adios_mpi_3var_11__getitem___5generator1, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_getitem___locals_genexpr); if (unlikely(!gen)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_cur_scope);
+ __Pyx_RefNannyFinishContext();
+ return (PyObject *) gen;
+ }
/* function exit code */
- __pyx_L0:;
+ __pyx_L1_error:;
+ __Pyx_AddTraceback("adios_mpi.var.__getitem__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4type_2__set__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_3var_4type_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
+static PyObject *__pyx_gb_9adios_mpi_3var_11__getitem___5generator1(__pyx_GeneratorObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */
+{
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
+ PyObject *__pyx_r = NULL;
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ Py_ssize_t __pyx_t_3;
+ PyObject *(*__pyx_t_4)(PyObject *);
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyType_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->type);
- __Pyx_DECREF(((PyObject *)__pyx_v_self->type));
- __pyx_v_self->type = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("None", 0);
+ switch (__pyx_generator->resume_label) {
+ case 0: goto __pyx_L3_first_run;
+ case 1: goto __pyx_L6_resume_from_yield;
+ default: /* CPython raises the right error here */
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __pyx_L3_first_run:;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_)) { __Pyx_RaiseClosureNameError("index_"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_index_);
+ __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->dims);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->dims);
+ __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->dims);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
+ __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
+ __pyx_t_4 = NULL;
+ } else {
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_4)) {
+ if (likely(PyList_CheckExact(__pyx_t_1))) {
+ if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_2 = __pyx_t_4(__pyx_t_1);
+ if (unlikely(!__pyx_t_2)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ }
+ __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x);
+ __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_indices); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_x, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
+ } else {
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ __pyx_t_5 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ __Pyx_XGIVEREF(__pyx_t_1);
+ __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
+ __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
+ __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ /* return from generator, yielding value */
+ __pyx_generator->resume_label = 1;
+ return __pyx_r;
+ __pyx_L6_resume_from_yield:;
+ __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
+ __pyx_cur_scope->__pyx_t_0 = 0;
+ __Pyx_XGOTREF(__pyx_t_1);
+ __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
+ __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
+ if (unlikely(!__pyx_sent_value)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* function exit code */
- __pyx_r = 0;
+ PyErr_SetNone(PyExc_StopIteration);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.var.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_generator->resume_label = -1;
+ __Pyx_Generator_clear((PyObject*)__pyx_generator);
__Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4type_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4type_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4type_4__del__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_3var_4type_4__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->type);
- __Pyx_DECREF(((PyObject *)__pyx_v_self->type));
- __pyx_v_self->type = ((PyObject*)Py_None);
-
- /* function exit code */
- __pyx_r = 0;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
+ return NULL;
}
-/* "adios_mpi.pyx":580
- * cpdef public int varid
- * cpdef public type type
- * cpdef public int ndim # <<<<<<<<<<<<<<
- * cpdef public tuple dims
- * cpdef public int nsteps
+/* "adios_mpi.pyx":1009
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
*/
-/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_4ndim_1__get__(PyObject *__pyx_v_self) {
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4ndim___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static PyObject *__pyx_pf_9adios_mpi_3var_4ndim___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_3var_14__getitem__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_index) {
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *__pyx_cur_scope;
+ PyObject *__pyx_v_ndim_ = NULL;
+ PyObject *__pyx_v_slice_ = NULL;
+ PyObject *__pyx_v_indices = NULL;
+ PyObject *__pyx_v_z = NULL;
+ PyObject *__pyx_v_from_steps_ = NULL;
+ PyObject *__pyx_v_nsteps_ = NULL;
+ PyObject *__pyx_v_offset_ = NULL;
+ PyObject *__pyx_v_count_ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ Py_ssize_t __pyx_t_4;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *(*__pyx_t_6)(PyObject *);
+ int __pyx_t_7;
+ int __pyx_t_8;
+ PyObject *__pyx_t_9 = NULL;
+ int __pyx_t_10;
+ PyObject *__pyx_t_11 = NULL;
+ PyObject *__pyx_t_12 = NULL;
+ PyObject *__pyx_t_13 = NULL;
+ struct __pyx_opt_args_9adios_mpi_3var_read __pyx_t_14;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__get__", 0);
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_RefNannySetupContext("__getitem__", 0);
+ __pyx_cur_scope = (struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)__pyx_tp_new_9adios_mpi___pyx_scope_struct____getitem__(__pyx_ptype_9adios_mpi___pyx_scope_struct____getitem__, __pyx_empty_tuple, NULL);
+ if (unlikely(!__pyx_cur_scope)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_cur_scope);
+ __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
+ __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
+ __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
+
+ /* "adios_mpi.pyx":1010
+ *
+ * def __getitem__(self, index):
+ * ndim_ = self.ndim # <<<<<<<<<<<<<<
+ * if (self.nsteps) > 1: ndim_ += 1
+ *
+ */
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->ndim); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __pyx_v_ndim_ = __pyx_t_1;
__pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.var.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4ndim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4ndim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4ndim_2__set__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ /* "adios_mpi.pyx":1011
+ * def __getitem__(self, index):
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1 # <<<<<<<<<<<<<<
+ *
+ * index_ = __parse_index(index, ndim_)
+ */
+ __pyx_t_2 = ((__pyx_cur_scope->__pyx_v_self->nsteps > 1) != 0);
+ if (__pyx_t_2) {
+ __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_ndim_, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF_SET(__pyx_v_ndim_, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
+ /* "adios_mpi.pyx":1013
+ * if (self.nsteps) > 1: ndim_ += 1
+ *
+ * index_ = __parse_index(index, ndim_) # <<<<<<<<<<<<<<
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_):
+ */
+ __pyx_t_1 = __pyx_f_9adios_mpi___parse_index(__pyx_v_index, __pyx_v_ndim_, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_cur_scope->__pyx_v_index_ = __pyx_t_1;
+ __pyx_t_1 = 0;
-static int __pyx_pf_9adios_mpi_3var_4ndim_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->ndim = __pyx_t_1;
+ /* "adios_mpi.pyx":1015
+ * index_ = __parse_index(index, ndim_)
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_): # <<<<<<<<<<<<<<
+ * raise IndexError("Too many indices for data")
+ *
+ */
+ __pyx_t_1 = PyObject_RichCompare(__pyx_v_ndim_, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__pyx_t_3) {
+ } else {
+ __pyx_t_2 = __pyx_t_3;
+ goto __pyx_L5_bool_binop_done;
+ }
+ __pyx_t_1 = __pyx_cur_scope->__pyx_v_index_;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_4 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_ndim_, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_2 = __pyx_t_3;
+ __pyx_L5_bool_binop_done:;
+ if (__pyx_t_2) {
- /* function exit code */
- __pyx_r = 0;
+ /* "adios_mpi.pyx":1016
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ */
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":1018
+ * raise IndexError("Too many indices for data")
+ *
+ * if (ndim_ == 0) and (len(index_) > 1): # <<<<<<<<<<<<<<
+ * raise IndexError("Too many indices for data")
+ *
+ */
+ __pyx_t_5 = PyObject_RichCompare(__pyx_v_ndim_, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (__pyx_t_3) {
+ } else {
+ __pyx_t_2 = __pyx_t_3;
+ goto __pyx_L8_bool_binop_done;
+ }
+ __pyx_t_5 = __pyx_cur_scope->__pyx_v_index_;
+ __Pyx_INCREF(__pyx_t_5);
+ __pyx_t_4 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_3 = ((__pyx_t_4 > 1) != 0);
+ __pyx_t_2 = __pyx_t_3;
+ __pyx_L8_bool_binop_done:;
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":1019
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * for slice_ in index_:
+ */
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":1021
+ * raise IndexError("Too many indices for data")
+ *
+ * for slice_ in index_: # <<<<<<<<<<<<<<
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ */
+ if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_index_)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_index_)) {
+ __pyx_t_5 = __pyx_cur_scope->__pyx_v_index_; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
+ __pyx_t_6 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_index_); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ for (;;) {
+ if (likely(!__pyx_t_6)) {
+ if (likely(PyList_CheckExact(__pyx_t_5))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_1 = __pyx_t_6(__pyx_t_5);
+ if (unlikely(!__pyx_t_1)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_slice_, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1022
+ *
+ * for slice_ in index_:
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1): # <<<<<<<<<<<<<<
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ * if isinstance(slice_, str):
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_slice_, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_7 = PyInt_Check(__pyx_t_1);
+ __pyx_t_8 = (__pyx_t_7 != 0);
+ if (!__pyx_t_8) {
+ } else {
+ __pyx_t_3 = __pyx_t_8;
+ goto __pyx_L15_bool_binop_done;
+ }
+ __pyx_t_8 = PyLong_Check(__pyx_t_1);
+ __pyx_t_7 = (__pyx_t_8 != 0);
+ __pyx_t_3 = __pyx_t_7;
+ __pyx_L15_bool_binop_done:;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = (__pyx_t_3 != 0);
+ if (__pyx_t_7) {
+ } else {
+ __pyx_t_2 = __pyx_t_7;
+ goto __pyx_L13_bool_binop_done;
+ }
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_slice_, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = PyObject_RichCompare(__pyx_t_1, __pyx_int_1, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_2 = __pyx_t_7;
+ __pyx_L13_bool_binop_done:;
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":1023
+ * for slice_ in index_:
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step)) # <<<<<<<<<<<<<<
+ * if isinstance(slice_, str):
+ * raise IndexError("Name index (%r) is not supported." % (slice_))
+ */
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_slice_, __pyx_n_s_step); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Step_size_d_is_not_supported, __pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":1024
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ * if isinstance(slice_, str): # <<<<<<<<<<<<<<
+ * raise IndexError("Name index (%r) is not supported." % (slice_))
+ *
+ */
+ __pyx_t_2 = PyString_Check(__pyx_v_slice_);
+ __pyx_t_7 = (__pyx_t_2 != 0);
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":1025
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ * if isinstance(slice_, str):
+ * raise IndexError("Name index (%r) is not supported." % (slice_)) # <<<<<<<<<<<<<<
+ *
+ * if (self.nsteps) > 1:
+ */
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Name_index_r_is_not_supported, __pyx_v_slice_); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":1021
+ * raise IndexError("Too many indices for data")
+ *
+ * for slice_ in index_: # <<<<<<<<<<<<<<
+ * if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ * raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ */
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1027
+ * raise IndexError("Name index (%r) is not supported." % (slice_))
+ *
+ * if (self.nsteps) > 1: # <<<<<<<<<<<<<<
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ */
+ __pyx_t_7 = ((__pyx_cur_scope->__pyx_v_self->nsteps > 1) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":1028
+ *
+ * if (self.nsteps) > 1:
+ * dims_ = list(self.dims) # <<<<<<<<<<<<<<
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ */
+ __pyx_t_5 = PySequence_List(__pyx_cur_scope->__pyx_v_self->dims); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1028; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ __pyx_cur_scope->__pyx_v_dims_ = ((PyObject*)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1029
+ * if (self.nsteps) > 1:
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps) # <<<<<<<<<<<<<<
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ * z = zip(*indices)
+ */
+ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_10 = PyList_Insert(__pyx_cur_scope->__pyx_v_dims_, 0, __pyx_t_5); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1030
+ * dims_ = list(self.dims)
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+ __pyx_t_5 = __pyx_pf_9adios_mpi_3var_11__getitem___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_1 = PySequence_Tuple(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_indices = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1031
+ * dims_.insert(0, self.nsteps)
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ * z = zip(*indices) # <<<<<<<<<<<<<<
+ *
+ * from_steps_ = z[0][0]
+ */
+ __pyx_t_1 = PySequence_Tuple(__pyx_v_indices); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_z = __pyx_t_5;
+ __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1033
+ * z = zip(*indices)
+ *
+ * from_steps_ = z[0][0] # <<<<<<<<<<<<<<
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:]
+ */
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_from_steps_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1034
+ *
+ * from_steps_ = z[0][0]
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1 # <<<<<<<<<<<<<<
+ * offset_ = z[0][1:]
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ */
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = PyNumber_Remainder(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_nsteps_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1035
+ * from_steps_ = z[0][0]
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:] # <<<<<<<<<<<<<<
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ */
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_1, 1, 0, NULL, NULL, &__pyx_slice__19, 1, 0, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_offset_ = __pyx_t_5;
+ __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1036
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:]
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1) # <<<<<<<<<<<<<<
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_subtract); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_11 = __Pyx_PyObject_GetSlice(__pyx_t_1, 1, 0, NULL, NULL, &__pyx_slice__20, 1, 0, 1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_12 = __Pyx_PyObject_GetSlice(__pyx_t_1, 1, 0, NULL, NULL, &__pyx_slice__21, 1, 0, 1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ __pyx_t_4 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_9, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ __pyx_t_13 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ if (__pyx_t_1) {
+ PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = NULL;
+ }
+ PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_4, __pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_4, __pyx_t_12);
+ __Pyx_GIVEREF(__pyx_t_12);
+ __pyx_t_11 = 0;
+ __pyx_t_12 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_5, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyList_GetSlice(__pyx_cur_scope->__pyx_v_dims_, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_13 = PyNumber_Remainder(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = PyNumber_Add(__pyx_t_13, __pyx_int_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_t_13 = PySequence_Tuple(__pyx_t_5); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_count_ = ((PyObject*)__pyx_t_13);
+ __pyx_t_13 = 0;
+ goto __pyx_L18;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1038
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims)) # <<<<<<<<<<<<<<
+ * z = zip(*indices)
+ *
+ */
+ __pyx_t_13 = __pyx_pf_9adios_mpi_3var_11__getitem___3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_t_5 = PySequence_Tuple(__pyx_t_13); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_v_indices = ((PyObject*)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1039
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ * z = zip(*indices) # <<<<<<<<<<<<<<
+ *
+ * if len(z) == 0:
+ */
+ __pyx_t_5 = PySequence_Tuple(__pyx_v_indices); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_v_z = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios_mpi.pyx":1041
+ * z = zip(*indices)
+ *
+ * if len(z) == 0: # <<<<<<<<<<<<<<
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps
+ */
+ __pyx_t_4 = PyObject_Length(__pyx_v_z); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((__pyx_t_4 == 0) != 0);
+ if (__pyx_t_7) {
+
+ /* "adios_mpi.pyx":1042
+ *
+ * if len(z) == 0:
+ * from_steps_ = 0 # <<<<<<<<<<<<<<
+ * nsteps_ = self.nsteps
+ * offset_ = ()
+ */
+ __Pyx_INCREF(__pyx_int_0);
+ __pyx_v_from_steps_ = __pyx_int_0;
+
+ /* "adios_mpi.pyx":1043
+ * if len(z) == 0:
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps # <<<<<<<<<<<<<<
+ * offset_ = ()
+ * count_ = ()
+ */
+ __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_v_nsteps_ = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios_mpi.pyx":1044
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps
+ * offset_ = () # <<<<<<<<<<<<<<
+ * count_ = ()
+ * else:
+ */
+ __Pyx_INCREF(__pyx_empty_tuple);
+ __pyx_v_offset_ = __pyx_empty_tuple;
+
+ /* "adios_mpi.pyx":1045
+ * nsteps_ = self.nsteps
+ * offset_ = ()
+ * count_ = () # <<<<<<<<<<<<<<
+ * else:
+ * from_steps_ = 0
+ */
+ __Pyx_INCREF(__pyx_empty_tuple);
+ __pyx_v_count_ = __pyx_empty_tuple;
+ goto __pyx_L19;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1047
+ * count_ = ()
+ * else:
+ * from_steps_ = 0 # <<<<<<<<<<<<<<
+ * nsteps_ = self.nsteps
+ * offset_ = z[0]
+ */
+ __Pyx_INCREF(__pyx_int_0);
+ __pyx_v_from_steps_ = __pyx_int_0;
+
+ /* "adios_mpi.pyx":1048
+ * else:
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps # <<<<<<<<<<<<<<
+ * offset_ = z[0]
+ * count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1)
+ */
+ __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_self->nsteps); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_v_nsteps_ = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios_mpi.pyx":1049
+ * from_steps_ = 0
+ * nsteps_ = self.nsteps
+ * offset_ = z[0] # <<<<<<<<<<<<<<
+ * count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1)
+ *
+ */
+ __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_13 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_v_offset_ = __pyx_t_13;
+ __pyx_t_13 = 0;
+
+ /* "adios_mpi.pyx":1050
+ * nsteps_ = self.nsteps
+ * offset_ = z[0]
+ * count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1) # <<<<<<<<<<<<<<
+ *
+ * ##print "from_steps", from_steps_
+ */
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_subtract); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_z, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_11 = NULL;
+ __pyx_t_4 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_9))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
+ if (likely(__pyx_t_11)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_9, function);
+ __pyx_t_4 = 1;
+ }
+ }
+ __pyx_t_1 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (__pyx_t_11) {
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __pyx_t_11 = NULL;
+ }
+ PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_4, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_4, __pyx_t_12);
+ __Pyx_GIVEREF(__pyx_t_12);
+ __pyx_t_5 = 0;
+ __pyx_t_12 = 0;
+ __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_1, NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Subtract(__pyx_t_13, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_t_13 = PyNumber_Remainder(__pyx_t_9, __pyx_cur_scope->__pyx_v_self->dims); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyNumber_Add(__pyx_t_13, __pyx_int_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __pyx_t_13 = PySequence_Tuple(__pyx_t_9); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_v_count_ = ((PyObject*)__pyx_t_13);
+ __pyx_t_13 = 0;
+ }
+ __pyx_L19:;
+ }
+ __pyx_L18:;
+
+ /* "adios_mpi.pyx":1057
+ * ##print "count", count_
+ *
+ * return self.read(offset=offset_, # <<<<<<<<<<<<<<
+ * count=count_,
+ * from_steps=from_steps_,
+ */
+ __Pyx_XDECREF(__pyx_r);
+ if (!(likely(PyTuple_CheckExact(__pyx_v_offset_))||((__pyx_v_offset_) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_offset_)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":1060
+ * count=count_,
+ * from_steps=from_steps_,
+ * nsteps=nsteps_) # <<<<<<<<<<<<<<
+ *
+ * cdef class attr:
+ */
+ __pyx_t_14.__pyx_n = 4;
+ __pyx_t_14.offset = ((PyObject*)__pyx_v_offset_);
+ __pyx_t_14.count = __pyx_v_count_;
+ __pyx_t_14.from_steps = __pyx_v_from_steps_;
+ __pyx_t_14.nsteps = __pyx_v_nsteps_;
+ __pyx_t_13 = ((struct __pyx_vtabstruct_9adios_mpi_var *)__pyx_cur_scope->__pyx_v_self->__pyx_vtab)->read(__pyx_cur_scope->__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_r = __pyx_t_13;
+ __pyx_t_13 = 0;
goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1009
+ * self.nsteps)
+ *
+ * def __getitem__(self, index): # <<<<<<<<<<<<<<
+ * ndim_ = self.ndim
+ * if (self.nsteps) > 1: ndim_ += 1
+ */
+
+ /* function exit code */
__pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.var.ndim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_11);
+ __Pyx_XDECREF(__pyx_t_12);
+ __Pyx_XDECREF(__pyx_t_13);
+ __Pyx_AddTraceback("adios_mpi.var.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_ndim_);
+ __Pyx_XDECREF(__pyx_v_slice_);
+ __Pyx_XDECREF(__pyx_v_indices);
+ __Pyx_XDECREF(__pyx_v_z);
+ __Pyx_XDECREF(__pyx_v_from_steps_);
+ __Pyx_XDECREF(__pyx_v_nsteps_);
+ __Pyx_XDECREF(__pyx_v_offset_);
+ __Pyx_XDECREF(__pyx_v_count_);
+ __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":581
- * cpdef public type type
- * cpdef public int ndim
- * cpdef public tuple dims # <<<<<<<<<<<<<<
- * cpdef public int nsteps
+/* "adios_mpi.pyx":1084
+ * property name:
+ * """ The attribute name """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_4dims_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_4dims_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4attr_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4attr_4name_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4dims___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+ __pyx_r = __pyx_pf_9adios_mpi_4attr_4name___get__(((struct __pyx_obj_9adios_mpi_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_3var_4dims___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4attr_4name___get__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1085
+ * """ The attribute name """
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property dtype:
+ */
__Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_self->dims);
- __pyx_r = __pyx_v_self->dims;
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
goto __pyx_L0;
+ /* "adios_mpi.pyx":1084
+ * property name:
+ * """ The attribute name """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
+ *
+ */
+
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
@@ -10708,181 +15100,133 @@ static PyObject *__pyx_pf_9adios_mpi_3var_4dims___get__(struct __pyx_obj_9adios_
return __pyx_r;
}
+/* "adios_mpi.pyx":1089
+ * property dtype:
+ * """ The attribute type as in numpy.dtype """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4dims_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4dims_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pw_9adios_mpi_4attr_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4attr_5dtype_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4dims_2__set__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4attr_5dtype___get__(((struct __pyx_obj_9adios_mpi_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_9adios_mpi_3var_4dims_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
+static PyObject *__pyx_pf_9adios_mpi_4attr_5dtype___get__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_v_value;
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __Pyx_GOTREF(__pyx_v_self->dims);
- __Pyx_DECREF(__pyx_v_self->dims);
- __pyx_v_self->dims = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* function exit code */
- __pyx_r = 0;
+ /* "adios_mpi.pyx":1090
+ * """ The attribute type as in numpy.dtype """
+ * def __get__(self):
+ * return self.dtype # <<<<<<<<<<<<<<
+ *
+ * property value:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_r = ((PyObject *)__pyx_v_self->dtype);
goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.var.dims.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_4dims_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_4dims_5__del__(PyObject *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_4dims_4__del__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-static int __pyx_pf_9adios_mpi_3var_4dims_4__del__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__del__", 0);
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_self->dims);
- __Pyx_DECREF(__pyx_v_self->dims);
- __pyx_v_self->dims = ((PyObject*)Py_None);
+ /* "adios_mpi.pyx":1089
+ * property dtype:
+ * """ The attribute type as in numpy.dtype """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
/* function exit code */
- __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":582
- * cpdef public int ndim
- * cpdef public tuple dims
- * cpdef public int nsteps # <<<<<<<<<<<<<<
+/* "adios_mpi.pyx":1094
+ * property value:
+ * """ The attribute's value """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
*
- * """ Initialization. Call adios_inq_var and populate public members """
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_3var_6nsteps_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_9adios_mpi_3var_6nsteps_1__get__(PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_9adios_mpi_4attr_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4attr_5value_1__get__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_6nsteps___get__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self));
+ __pyx_r = __pyx_pf_9adios_mpi_4attr_5value___get__(((struct __pyx_obj_9adios_mpi_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_3var_6nsteps___get__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self) {
+static PyObject *__pyx_pf_9adios_mpi_4attr_5value___get__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1095
+ * """ The attribute's value """
+ * def __get__(self):
+ * return self.value # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, file file, char * name):
+ */
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->value));
+ __pyx_r = ((PyObject *)__pyx_v_self->value);
goto __pyx_L0;
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("adios_mpi.var.nsteps.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_9adios_mpi_3var_6nsteps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_9adios_mpi_3var_6nsteps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_3var_6nsteps_2__set__(((struct __pyx_obj_9adios_mpi_var *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
-}
-
-static int __pyx_pf_9adios_mpi_3var_6nsteps_2__set__(struct __pyx_obj_9adios_mpi_var *__pyx_v_self, PyObject *__pyx_v_value) {
- int __pyx_r;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__set__", 0);
- __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_self->nsteps = __pyx_t_1;
+ /* "adios_mpi.pyx":1094
+ * property value:
+ * """ The attribute's value """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
+ *
+ */
/* function exit code */
- __pyx_r = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_AddTraceback("adios_mpi.var.nsteps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
__pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":660
- * ## ====================
+/* "adios_mpi.pyx":1097
+ * return self.value
*
- * def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * if not f.var.has_key(varname):
+ * def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
+ * self.file = file
+ * self.name = name
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_39readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_9adios_mpi_39readvar = {"readvar", (PyCFunction)__pyx_pw_9adios_mpi_39readvar, METH_VARARGS|METH_KEYWORDS, 0};
-static PyObject *__pyx_pw_9adios_mpi_39readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_fname = 0;
- PyObject *__pyx_v_varname = 0;
+static int __pyx_pw_9adios_mpi_4attr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_9adios_mpi_4attr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ struct __pyx_obj_9adios_mpi_file *__pyx_v_file = 0;
+ char *__pyx_v_name;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("readvar (wrapper)", 0);
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_varname,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_name,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -10896,16 +15240,16 @@ static PyObject *__pyx_pw_9adios_mpi_39readvar(PyObject *__pyx_self, PyObject *_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_file)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
case 1:
- if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readvar") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -10913,2393 +15257,8882 @@ static PyObject *__pyx_pw_9adios_mpi_39readvar(PyObject *__pyx_self, PyObject *_
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
- __pyx_v_fname = values[0];
- __pyx_v_varname = values[1];
+ __pyx_v_file = ((struct __pyx_obj_9adios_mpi_file *)values[0]);
+ __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
- __Pyx_AddTraceback("adios_mpi.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.attr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
- return NULL;
+ return -1;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_9adios_mpi_38readvar(__pyx_self, __pyx_v_fname, __pyx_v_varname);
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_9adios_mpi_file, 1, "file", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_4attr___init__(((struct __pyx_obj_9adios_mpi_attr *)__pyx_v_self), __pyx_v_file, __pyx_v_name);
/* function exit code */
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __pyx_r = -1;
+ __pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_38readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname) {
- struct __pyx_obj_9adios_mpi_file *__pyx_v_f = NULL;
- PyObject *__pyx_v_v = NULL;
- PyObject *__pyx_r = NULL;
+static int __pyx_pf_9adios_mpi_4attr___init__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self, struct __pyx_obj_9adios_mpi_file *__pyx_v_file, char *__pyx_v_name) {
+ int64_t __pyx_v_p;
+ ADIOS_DATATYPES __pyx_v_atype;
+ int __pyx_v_bytes;
+ PyObject *__pyx_v_strlist = 0;
+ int __pyx_v_len;
+ int __pyx_v_err;
+ int __pyx_v_i;
+ int __pyx_r;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
+ char const *__pyx_t_2;
+ int __pyx_t_3;
PyObject *__pyx_t_4 = NULL;
- int __pyx_t_5;
- int __pyx_t_6;
+ PyObject *__pyx_t_5 = NULL;
+ struct __pyx_opt_args_9adios_mpi_adios2npdtype __pyx_t_6;
+ size_t __pyx_t_7;
+ int __pyx_t_8;
+ int __pyx_t_9;
+ int __pyx_t_10;
+ PyObject *__pyx_t_11 = NULL;
+ int __pyx_t_12;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("readvar", 0);
+ __Pyx_RefNannySetupContext("__init__", 0);
- /* "adios_mpi.pyx":661
+ /* "adios_mpi.pyx":1098
+ *
+ * def __init__(self, file file, char * name):
+ * self.file = file # <<<<<<<<<<<<<<
+ * self.name = name
*
- * def readvar(fname, varname):
- * f = file(fname, comm=MPI.COMM_SELF) # <<<<<<<<<<<<<<
- * if not f.var.has_key(varname):
- * print "No valid variable"
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_v_fname);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
- __Pyx_GIVEREF(__pyx_v_fname);
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_f = ((struct __pyx_obj_9adios_mpi_file *)__pyx_t_4);
- __pyx_t_4 = 0;
+ __Pyx_INCREF(((PyObject *)__pyx_v_file));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_file));
+ __Pyx_GOTREF(__pyx_v_self->file);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->file));
+ __pyx_v_self->file = __pyx_v_file;
- /* "adios_mpi.pyx":662
- * def readvar(fname, varname):
- * f = file(fname, comm=MPI.COMM_SELF)
- * if not f.var.has_key(varname): # <<<<<<<<<<<<<<
- * print "No valid variable"
- * return
+ /* "adios_mpi.pyx":1099
+ * def __init__(self, file file, char * name):
+ * self.file = file
+ * self.name = name # <<<<<<<<<<<<<<
+ *
+ * cdef int64_t p
*/
- if (unlikely(__pyx_v_f->var == Py_None)) {
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_5 = PyDict_Contains(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
- if (__pyx_t_6) {
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1099; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "adios_mpi.pyx":663
- * f = file(fname, comm=MPI.COMM_SELF)
- * if not f.var.has_key(varname):
- * print "No valid variable" # <<<<<<<<<<<<<<
- * return
+ /* "adios_mpi.pyx":1107
+ * cdef int len
+ *
+ * err = adios_get_attr(self.file.fp, self.name, &atype, &bytes, <void **> &p) # <<<<<<<<<<<<<<
*
+ * if err == 0:
*/
- if (__Pyx_PrintOne(0, __pyx_kp_s_No_valid_variable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_err = adios_get_attr(__pyx_v_self->file->fp, __pyx_t_2, (&__pyx_v_atype), (&__pyx_v_bytes), ((void **)(&__pyx_v_p)));
- /* "adios_mpi.pyx":664
- * if not f.var.has_key(varname):
- * print "No valid variable"
- * return # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1109
+ * err = adios_get_attr(self.file.fp, self.name, &atype, &bytes, <void **> &p)
*
- * v = f.var[varname]
+ * if err == 0: # <<<<<<<<<<<<<<
+ * if atype == DATATYPE.string:
+ * bytes = bytes - 1 ## Remove the NULL terminal
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
- }
+ __pyx_t_3 = ((__pyx_v_err == 0) != 0);
+ if (__pyx_t_3) {
- /* "adios_mpi.pyx":666
- * return
- *
- * v = f.var[varname] # <<<<<<<<<<<<<<
- * return v.read(from_steps=0, nsteps=v.nsteps)
+ /* "adios_mpi.pyx":1110
*
+ * if err == 0:
+ * if atype == DATATYPE.string: # <<<<<<<<<<<<<<
+ * bytes = bytes - 1 ## Remove the NULL terminal
+ * self.dtype = adios2npdtype(atype, bytes)
*/
- if (unlikely(__pyx_v_f->var == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_v_v = __pyx_t_4;
- __pyx_t_4 = 0;
+ __pyx_t_1 = PyInt_FromLong(__pyx_v_atype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_string); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_3) {
- /* "adios_mpi.pyx":667
- *
- * v = f.var[varname]
- * return v.read(from_steps=0, nsteps=v.nsteps) # <<<<<<<<<<<<<<
- *
- * def bpls(fname):
+ /* "adios_mpi.pyx":1111
+ * if err == 0:
+ * if atype == DATATYPE.string:
+ * bytes = bytes - 1 ## Remove the NULL terminal # <<<<<<<<<<<<<<
+ * self.dtype = adios2npdtype(atype, bytes)
+ * if atype == DATATYPE.string_array:
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_read); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from_steps, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nsteps, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_v_bytes = (__pyx_v_bytes - 1);
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "adios_mpi.pyx":1112
+ * if atype == DATATYPE.string:
+ * bytes = bytes - 1 ## Remove the NULL terminal
+ * self.dtype = adios2npdtype(atype, bytes) # <<<<<<<<<<<<<<
+ * if atype == DATATYPE.string_array:
+ * strlist = list()
+ */
+ __pyx_t_6.__pyx_n = 1;
+ __pyx_t_6.strlen = __pyx_v_bytes;
+ __pyx_t_4 = ((PyObject *)__pyx_f_9adios_mpi_adios2npdtype(__pyx_v_atype, 0, &__pyx_t_6)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4);
+ __pyx_t_4 = 0;
- /* "adios_mpi.pyx":660
- * ## ====================
- *
- * def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * if not f.var.has_key(varname):
+ /* "adios_mpi.pyx":1113
+ * bytes = bytes - 1 ## Remove the NULL terminal
+ * self.dtype = adios2npdtype(atype, bytes)
+ * if atype == DATATYPE.string_array: # <<<<<<<<<<<<<<
+ * strlist = list()
+ * len = bytes/sizeof(p)
*/
+ __pyx_t_4 = PyInt_FromLong(__pyx_v_atype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_DATATYPE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_string_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (__pyx_t_3) {
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("adios_mpi.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
+ /* "adios_mpi.pyx":1114
+ * self.dtype = adios2npdtype(atype, bytes)
+ * if atype == DATATYPE.string_array:
+ * strlist = list() # <<<<<<<<<<<<<<
+ * len = bytes/sizeof(p)
+ * for i in range(len):
+ */
+ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_v_strlist = ((PyObject*)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1115
+ * if atype == DATATYPE.string_array:
+ * strlist = list()
+ * len = bytes/sizeof(p) # <<<<<<<<<<<<<<
+ * for i in range(len):
+ * strlist.append((<char **>p)[i])
+ */
+ __pyx_t_7 = (sizeof(__pyx_v_p));
+ if (unlikely(__pyx_t_7 == 0)) {
+ #ifdef WITH_THREAD
+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
+ #endif
+ PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+ #ifdef WITH_THREAD
+ PyGILState_Release(__pyx_gilstate_save);
+ #endif
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_v_len = (__pyx_v_bytes / __pyx_t_7);
+
+ /* "adios_mpi.pyx":1116
+ * strlist = list()
+ * len = bytes/sizeof(p)
+ * for i in range(len): # <<<<<<<<<<<<<<
+ * strlist.append((<char **>p)[i])
+ * self.value = np.array(strlist)
+ */
+ __pyx_t_8 = __pyx_v_len;
+ for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
+ __pyx_v_i = __pyx_t_9;
+
+ /* "adios_mpi.pyx":1117
+ * len = bytes/sizeof(p)
+ * for i in range(len):
+ * strlist.append((<char **>p)[i]) # <<<<<<<<<<<<<<
+ * self.value = np.array(strlist)
+ * self.dtype = self.value.dtype
+ */
+ __pyx_t_5 = __Pyx_PyBytes_FromString((((char **)__pyx_v_p)[__pyx_v_i])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_strlist, __pyx_t_5); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ }
+
+ /* "adios_mpi.pyx":1118
+ * for i in range(len):
+ * strlist.append((<char **>p)[i])
+ * self.value = np.array(strlist) # <<<<<<<<<<<<<<
+ * self.dtype = self.value.dtype
+ *
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ }
+ }
+ if (!__pyx_t_1) {
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_strlist); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ } else {
+ __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = NULL;
+ __Pyx_INCREF(__pyx_v_strlist);
+ PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_v_strlist);
+ __Pyx_GIVEREF(__pyx_v_strlist);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_5);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->value));
+ __pyx_v_self->value = ((PyArrayObject *)__pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1119
+ * strlist.append((<char **>p)[i])
+ * self.value = np.array(strlist)
+ * self.dtype = self.value.dtype # <<<<<<<<<<<<<<
+ *
+ * elif self.dtype is None:
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->value), __pyx_n_s_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_5);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype));
+ __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_5);
+ __pyx_t_5 = 0;
+ goto __pyx_L5;
+ }
+
+ /* "adios_mpi.pyx":1121
+ * self.dtype = self.value.dtype
+ *
+ * elif self.dtype is None: # <<<<<<<<<<<<<<
+ * print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \
+ * (self.name, atype, bytes)
+ */
+ __pyx_t_3 = (((PyObject *)__pyx_v_self->dtype) == Py_None);
+ __pyx_t_12 = (__pyx_t_3 != 0);
+ if (__pyx_t_12) {
+
+ /* "adios_mpi.pyx":1123
+ * elif self.dtype is None:
+ * print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \
+ * (self.name, atype, bytes) # <<<<<<<<<<<<<<
+ * else:
+ * len = bytes/self.dtype.itemsize
+ */
+ __pyx_t_5 = PyInt_FromLong(__pyx_v_atype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_bytes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __pyx_t_5 = 0;
+ __pyx_t_4 = 0;
+
+ /* "adios_mpi.pyx":1122
+ *
+ * elif self.dtype is None:
+ * print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \ # <<<<<<<<<<<<<<
+ * (self.name, atype, bytes)
+ * else:
+ */
+ __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Warning_No_support_yet_s_type_d, __pyx_t_11); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (__Pyx_PrintOne(0, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ goto __pyx_L5;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1125
+ * (self.name, atype, bytes)
+ * else:
+ * len = bytes/self.dtype.itemsize # <<<<<<<<<<<<<<
+ * if len == 1:
+ * self.value = np.array(len, dtype=self.dtype)
+ */
+ if (unlikely(__pyx_v_self->dtype->elsize == 0)) {
+ #ifdef WITH_THREAD
+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
+ #endif
+ PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+ #ifdef WITH_THREAD
+ PyGILState_Release(__pyx_gilstate_save);
+ #endif
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_self->dtype->elsize == (int)-1) && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_bytes))) {
+ #ifdef WITH_THREAD
+ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
+ #endif
+ PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+ #ifdef WITH_THREAD
+ PyGILState_Release(__pyx_gilstate_save);
+ #endif
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_v_len = __Pyx_div_int(__pyx_v_bytes, __pyx_v_self->dtype->elsize);
+
+ /* "adios_mpi.pyx":1126
+ * else:
+ * len = bytes/self.dtype.itemsize
+ * if len == 1: # <<<<<<<<<<<<<<
+ * self.value = np.array(len, dtype=self.dtype)
+ * else:
+ */
+ __pyx_t_12 = ((__pyx_v_len == 1) != 0);
+ if (__pyx_t_12) {
+
+ /* "adios_mpi.pyx":1127
+ * len = bytes/self.dtype.itemsize
+ * if len == 1:
+ * self.value = np.array(len, dtype=self.dtype) # <<<<<<<<<<<<<<
+ * else:
+ * self.value = np.zeros(len, dtype=self.dtype)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_len); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __pyx_t_4 = 0;
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->dtype)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->value));
+ __pyx_v_self->value = ((PyArrayObject *)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L8;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1129
+ * self.value = np.array(len, dtype=self.dtype)
+ * else:
+ * self.value = np.zeros(len, dtype=self.dtype) # <<<<<<<<<<<<<<
+ * self.value.data = <char *> p
+ * else:
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_len); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->dtype)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GIVEREF(__pyx_t_11);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->value));
+ __pyx_v_self->value = ((PyArrayObject *)__pyx_t_11);
+ __pyx_t_11 = 0;
+ }
+ __pyx_L8:;
+
+ /* "adios_mpi.pyx":1130
+ * else:
+ * self.value = np.zeros(len, dtype=self.dtype)
+ * self.value.data = <char *> p # <<<<<<<<<<<<<<
+ * else:
+ * raise KeyError(name)
+ */
+ __pyx_v_self->value->data = ((char *)__pyx_v_p);
+ }
+ __pyx_L5:;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1132
+ * self.value.data = <char *> p
+ * else:
+ * raise KeyError(name) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __pyx_t_11 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11);
+ __Pyx_GIVEREF(__pyx_t_11);
+ __pyx_t_11 = 0;
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_Raise(__pyx_t_11, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":1097
+ * return self.value
+ *
+ * def __init__(self, file file, char * name): # <<<<<<<<<<<<<<
+ * self.file = file
+ * self.name = name
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_11);
+ __Pyx_AddTraceback("adios_mpi.attr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
__pyx_L0:;
- __Pyx_XDECREF((PyObject *)__pyx_v_f);
- __Pyx_XDECREF(__pyx_v_v);
- __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_XDECREF(__pyx_v_strlist);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "adios_mpi.pyx":669
- * return v.read(from_steps=0, nsteps=v.nsteps)
+/* "adios_mpi.pyx":1134
+ * raise KeyError(name)
*
- * def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * return {'nvars': f.nvars,
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ * (self.name, self.dtype, self.value)
*/
/* Python wrapper */
-static PyObject *__pyx_pw_9adios_mpi_41bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname); /*proto*/
-static PyMethodDef __pyx_mdef_9adios_mpi_41bpls = {"bpls", (PyCFunction)__pyx_pw_9adios_mpi_41bpls, METH_O, 0};
-static PyObject *__pyx_pw_9adios_mpi_41bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname) {
+static PyObject *__pyx_pw_9adios_mpi_4attr_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_4attr_3__repr__(PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("bpls (wrapper)", 0);
- __pyx_r = __pyx_pf_9adios_mpi_40bpls(__pyx_self, ((PyObject *)__pyx_v_fname));
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_4attr_2__repr__(((struct __pyx_obj_9adios_mpi_attr *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_9adios_mpi_40bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname) {
- struct __pyx_obj_9adios_mpi_file *__pyx_v_f = NULL;
- PyObject *__pyx_v_k = NULL;
+static PyObject *__pyx_pf_9adios_mpi_4attr_2__repr__(struct __pyx_obj_9adios_mpi_attr *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- Py_ssize_t __pyx_t_6;
- int __pyx_t_7;
- int __pyx_t_8;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("bpls", 0);
+ __Pyx_RefNannySetupContext("__repr__", 0);
- /* "adios_mpi.pyx":670
+ /* "adios_mpi.pyx":1135
+ *
+ * def __repr__(self):
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.name, self.dtype, self.value)
*
- * def bpls(fname):
- * f = file(fname, comm=MPI.COMM_SELF) # <<<<<<<<<<<<<<
- * return {'nvars': f.nvars,
- * 'nattrs': f.nattrs,
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_v_fname);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
- __Pyx_GIVEREF(__pyx_v_fname);
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_f = ((struct __pyx_obj_9adios_mpi_file *)__pyx_t_4);
- __pyx_t_4 = 0;
-
- /* "adios_mpi.pyx":671
- * def bpls(fname):
- * f = file(fname, comm=MPI.COMM_SELF)
- * return {'nvars': f.nvars, # <<<<<<<<<<<<<<
- * 'nattrs': f.nattrs,
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_nvars, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "adios_mpi.pyx":672
- * f = file(fname, comm=MPI.COMM_SELF)
- * return {'nvars': f.nvars,
- * 'nattrs': f.nattrs, # <<<<<<<<<<<<<<
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- */
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_nattrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios_mpi.pyx":673
- * return {'nvars': f.nvars,
- * 'nattrs': f.nattrs,
- * 'vars': tuple([ k for k in f.var.iterkeys() ]), # <<<<<<<<<<<<<<
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- * 'time_steps': (f.current_step, f.last_step),
+ /* "adios_mpi.pyx":1136
+ * def __repr__(self):
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ * (self.name, self.dtype, self.value) # <<<<<<<<<<<<<<
+ *
+ *
*/
- __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = 0;
- if (unlikely(__pyx_v_f->var == Py_None)) {
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_f->var, 1, __pyx_n_s_iterkeys, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_1);
- __pyx_t_1 = __pyx_t_3;
- __pyx_t_3 = 0;
- while (1) {
- __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_3, NULL, NULL, __pyx_t_7);
- if (unlikely(__pyx_t_8 == 0)) break;
- if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3);
- __pyx_t_3 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_vars, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->dtype));
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self->dtype));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self->dtype));
+ __Pyx_INCREF(((PyObject *)__pyx_v_self->value));
+ PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_self->value));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self->value));
- /* "adios_mpi.pyx":674
- * 'nattrs': f.nattrs,
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]), # <<<<<<<<<<<<<<
- * 'time_steps': (f.current_step, f.last_step),
- * 'file_size': f.file_size}
+ /* "adios_mpi.pyx":1135
+ *
+ * def __repr__(self):
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \ # <<<<<<<<<<<<<<
+ * (self.name, self.dtype, self.value)
+ *
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = 0;
- if (unlikely(__pyx_v_f->attr == Py_None)) {
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_f->attr, 1, __pyx_n_s_iterkeys, (&__pyx_t_5), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_2);
- __pyx_t_2 = __pyx_t_3;
- __pyx_t_3 = 0;
- while (1) {
- __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_5, &__pyx_t_6, &__pyx_t_3, NULL, NULL, __pyx_t_7);
- if (unlikely(__pyx_t_8 == 0)) break;
- if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3);
- __pyx_t_3 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_AdiosAttr_name_r_dtype_r_value_r, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_attrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
- /* "adios_mpi.pyx":675
- * 'vars': tuple([ k for k in f.var.iterkeys() ]),
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- * 'time_steps': (f.current_step, f.last_step), # <<<<<<<<<<<<<<
- * 'file_size': f.file_size}
- */
- __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
- __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_time_steps, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
- /* "adios_mpi.pyx":676
- * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
- * 'time_steps': (f.current_step, f.last_step),
- * 'file_size': f.file_size} # <<<<<<<<<<<<<<
- */
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_f->file_size); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_file_size, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_4;
- __pyx_t_4 = 0;
goto __pyx_L0;
- /* "adios_mpi.pyx":669
- * return v.read(from_steps=0, nsteps=v.nsteps)
+ /* "adios_mpi.pyx":1134
+ * raise KeyError(name)
*
- * def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * return {'nvars': f.nvars,
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ * (self.name, self.dtype, self.value)
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("adios_mpi.bpls", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("adios_mpi.attr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
- __Pyx_XDECREF((PyObject *)__pyx_v_f);
- __Pyx_XDECREF(__pyx_v_k);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194
- * # experimental exception made for __getbuffer__ and __releasebuffer__
- * # -- the details of this may change.
- * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
- * # This implementation of getbuffer is geared towards Cython
- * # requirements, and does not yet fullfill the PEP.
+/* "adios_mpi.pyx":1142
+ * cdef class smartdict(dict):
+ * cdef factory
+ * def __init__(self, factory): # <<<<<<<<<<<<<<
+ * dict.__init__(self)
+ * self.factory = factory
*/
/* Python wrapper */
-static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
-static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+static int __pyx_pw_9adios_mpi_9smartdict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_9adios_mpi_9smartdict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_factory = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
int __pyx_r;
__Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
- __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_factory,0};
+ PyObject* values[1] = {0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_factory)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ }
+ __pyx_v_factory = values[0];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.smartdict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_9smartdict___init__(((struct __pyx_obj_9adios_mpi_smartdict *)__pyx_v_self), __pyx_v_factory);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
- int __pyx_v_copy_shape;
- int __pyx_v_i;
- int __pyx_v_ndim;
- int __pyx_v_endian_detector;
- int __pyx_v_little_endian;
- int __pyx_v_t;
- char *__pyx_v_f;
- PyArray_Descr *__pyx_v_descr = 0;
- int __pyx_v_offset;
- int __pyx_v_hasfields;
+static int __pyx_pf_9adios_mpi_9smartdict___init__(struct __pyx_obj_9adios_mpi_smartdict *__pyx_v_self, PyObject *__pyx_v_factory) {
int __pyx_r;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_t_2;
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
- int __pyx_t_4;
- int __pyx_t_5;
- PyObject *__pyx_t_6 = NULL;
- char *__pyx_t_7;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("__getbuffer__", 0);
- if (__pyx_v_info != NULL) {
- __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(__pyx_v_info->obj);
- }
+ __Pyx_RefNannySetupContext("__init__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":200
- * # of flags
- *
- * if info == NULL: return # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1143
+ * cdef factory
+ * def __init__(self, factory):
+ * dict.__init__(self) # <<<<<<<<<<<<<<
+ * self.factory = factory
*
- * cdef int copy_shape, i, ndim
*/
- __pyx_t_1 = ((__pyx_v_info == NULL) != 0);
- if (__pyx_t_1) {
- __pyx_r = 0;
- goto __pyx_L0;
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)((PyObject*)(&PyDict_Type))), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ if (!__pyx_t_3) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ } else {
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = NULL;
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
- *
- * cdef int copy_shape, i, ndim
- * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ /* "adios_mpi.pyx":1144
+ * def __init__(self, factory):
+ * dict.__init__(self)
+ * self.factory = factory # <<<<<<<<<<<<<<
*
+ * def __setitem__(self, key, value):
*/
- __pyx_v_endian_detector = 1;
+ __Pyx_INCREF(__pyx_v_factory);
+ __Pyx_GIVEREF(__pyx_v_factory);
+ __Pyx_GOTREF(__pyx_v_self->factory);
+ __Pyx_DECREF(__pyx_v_self->factory);
+ __pyx_v_self->factory = __pyx_v_factory;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":204
- * cdef int copy_shape, i, ndim
- * cdef int endian_detector = 1
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
- *
- * ndim = PyArray_NDIM(self)
+ /* "adios_mpi.pyx":1142
+ * cdef class smartdict(dict):
+ * cdef factory
+ * def __init__(self, factory): # <<<<<<<<<<<<<<
+ * dict.__init__(self)
+ * self.factory = factory
*/
- __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
- *
- * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<
- *
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- */
- __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.smartdict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":208
- * ndim = PyArray_NDIM(self)
+/* "adios_mpi.pyx":1146
+ * self.factory = factory
*
- * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
- * copy_shape = 1
- * else:
+ * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
+ * if key in dict.keys(self):
+ * dict.__setitem__(self, key, value)
*/
- __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_9smartdict_3__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_9smartdict_3__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_9smartdict_2__setitem__(((struct __pyx_obj_9adios_mpi_smartdict *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_9smartdict_2__setitem__(struct __pyx_obj_9adios_mpi_smartdict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ Py_ssize_t __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__setitem__", 0);
+
+ /* "adios_mpi.pyx":1147
*
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- * copy_shape = 1 # <<<<<<<<<<<<<<
- * else:
- * copy_shape = 0
+ * def __setitem__(self, key, value):
+ * if key in dict.keys(self): # <<<<<<<<<<<<<<
+ * dict.__setitem__(self, key, value)
+ * else:
*/
- __pyx_v_copy_shape = 1;
- goto __pyx_L4;
+ if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
+ PyErr_Format(PyExc_TypeError, "descriptor '%s' requires a '%s' object but received a 'NoneType'", "keys", "dict");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- /*else*/ {
+ __pyx_t_1 = __Pyx_PyDict_Keys(((PyObject*)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_key, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = (__pyx_t_2 != 0);
+ if (__pyx_t_3) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
- * copy_shape = 1
- * else:
- * copy_shape = 0 # <<<<<<<<<<<<<<
- *
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ /* "adios_mpi.pyx":1148
+ * def __setitem__(self, key, value):
+ * if key in dict.keys(self):
+ * dict.__setitem__(self, key, value) # <<<<<<<<<<<<<<
+ * else:
+ * self.factory(key, value)
*/
- __pyx_v_copy_shape = 0;
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)((PyObject*)(&PyDict_Type))), __pyx_n_s_setitem); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = NULL;
+ __pyx_t_6 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ __pyx_t_6 = 1;
+ }
+ }
+ __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ if (__pyx_t_5) {
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL;
+ }
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, ((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ __Pyx_INCREF(__pyx_v_value);
+ PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L3;
}
- __pyx_L4:;
+ /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":213
- * copy_shape = 0
+ /* "adios_mpi.pyx":1150
+ * dict.__setitem__(self, key, value)
+ * else:
+ * self.factory(key, value) # <<<<<<<<<<<<<<
*
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
- * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not C contiguous")
+ * cdef class writer:
*/
- __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L6_bool_binop_done;
+ __Pyx_INCREF(__pyx_v_self->factory);
+ __pyx_t_4 = __pyx_v_self->factory; __pyx_t_7 = NULL;
+ __pyx_t_6 = 0;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ __pyx_t_6 = 1;
+ }
+ }
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ if (__pyx_t_7) {
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ }
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ __Pyx_INCREF(__pyx_v_value);
+ PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
+ __pyx_L3:;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
- *
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<
- * raise ValueError(u"ndarray is not C contiguous")
+ /* "adios_mpi.pyx":1146
+ * self.factory = factory
*
+ * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
+ * if key in dict.keys(self):
+ * dict.__setitem__(self, key, value)
*/
- __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L6_bool_binop_done:;
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215
- * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios_mpi.smartdict.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1181
+ * property fname:
+ * """ The filename to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.fname
*
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
- * raise ValueError(u"ndarray is not C contiguous")
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_5fname_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_5fname_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_5fname___get__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_6writer_5fname___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1182
+ * """ The filename to write. """
+ * def __get__(self):
+ * return self.fname # <<<<<<<<<<<<<<
*
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
- * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not Fortran contiguous")
+ * property gname:
*/
- __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L9_bool_binop_done;
- }
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->fname);
+ __pyx_r = __pyx_v_self->fname;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
- *
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<
- * raise ValueError(u"ndarray is not Fortran contiguous")
+ /* "adios_mpi.pyx":1181
+ * property fname:
+ * """ The filename to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.fname
*
*/
- __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L9_bool_binop_done:;
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219
- * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
- * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1186
+ * property gname:
+ * """ The groupname associated with the file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.gname
*
- * info.buf = PyArray_DATA(self)
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
- * raise ValueError(u"ndarray is not Fortran contiguous")
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_5gname_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_5gname_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_5gname___get__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_6writer_5gname___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1187
+ * """ The groupname associated with the file. """
+ * def __get__(self):
+ * return self.gname # <<<<<<<<<<<<<<
*
- * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<
- * info.ndim = ndim
- * if copy_shape:
+ * property is_noxml:
*/
- __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->gname);
+ __pyx_r = __pyx_v_self->gname;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+ /* "adios_mpi.pyx":1186
+ * property gname:
+ * """ The groupname associated with the file. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.gname
*
- * info.buf = PyArray_DATA(self)
- * info.ndim = ndim # <<<<<<<<<<<<<<
- * if copy_shape:
- * # Allocate new buffer for strides and shape info.
*/
- __pyx_v_info->ndim = __pyx_v_ndim;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":223
- * info.buf = PyArray_DATA(self)
- * info.ndim = ndim
- * if copy_shape: # <<<<<<<<<<<<<<
- * # Allocate new buffer for strides and shape info.
- * # This is allocated as one block, strides first.
- */
- __pyx_t_1 = (__pyx_v_copy_shape != 0);
- if (__pyx_t_1) {
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
- * # Allocate new buffer for strides and shape info.
- * # This is allocated as one block, strides first.
- * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2) # <<<<<<<<<<<<<<
- * info.shape = info.strides + ndim
- * for i in range(ndim):
+/* "adios_mpi.pyx":1191
+ * property is_noxml:
+ * """ Boolean to indicate using No-XML or not. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_noxml
+ *
*/
- __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":227
- * # This is allocated as one block, strides first.
- * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
- * info.shape = info.strides + ndim # <<<<<<<<<<<<<<
- * for i in range(ndim):
- * info.strides[i] = PyArray_STRIDES(self)[i]
- */
- __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_8is_noxml_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_8is_noxml_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_8is_noxml___get__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":228
- * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
- * info.shape = info.strides + ndim
- * for i in range(ndim): # <<<<<<<<<<<<<<
- * info.strides[i] = PyArray_STRIDES(self)[i]
- * info.shape[i] = PyArray_DIMS(self)[i]
- */
- __pyx_t_4 = __pyx_v_ndim;
- for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
- __pyx_v_i = __pyx_t_5;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
- * info.shape = info.strides + ndim
- * for i in range(ndim):
- * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<
- * info.shape[i] = PyArray_DIMS(self)[i]
- * else:
- */
- (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
+static PyObject *__pyx_pf_9adios_mpi_6writer_8is_noxml___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
- * for i in range(ndim):
- * info.strides[i] = PyArray_STRIDES(self)[i]
- * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<
- * else:
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ /* "adios_mpi.pyx":1192
+ * """ Boolean to indicate using No-XML or not. """
+ * def __get__(self):
+ * return self.is_noxml # <<<<<<<<<<<<<<
+ *
+ * property var:
*/
- (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
- }
- goto __pyx_L11;
- }
- /*else*/ {
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_noxml); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
- * info.shape[i] = PyArray_DIMS(self)[i]
- * else:
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- * info.suboffsets = NULL
+ /* "adios_mpi.pyx":1191
+ * property is_noxml:
+ * """ Boolean to indicate using No-XML or not. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_noxml
+ *
*/
- __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
- * else:
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<
- * info.suboffsets = NULL
- * info.itemsize = PyArray_ITEMSIZE(self)
- */
- __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
- }
- __pyx_L11:;
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.writer.is_noxml.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":234
- * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- * info.suboffsets = NULL # <<<<<<<<<<<<<<
- * info.itemsize = PyArray_ITEMSIZE(self)
- * info.readonly = not PyArray_ISWRITEABLE(self)
+/* "adios_mpi.pyx":1196
+ * property var:
+ * """ Dictionary of variables to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.var
+ *
*/
- __pyx_v_info->suboffsets = NULL;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
- * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- * info.suboffsets = NULL
- * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<
- * info.readonly = not PyArray_ISWRITEABLE(self)
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_3var_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_3var_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_3var___get__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_6writer_3var___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1197
+ * """ Dictionary of variables to write. """
+ * def __get__(self):
+ * return self.var # <<<<<<<<<<<<<<
*
+ * property attr:
*/
- __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->var);
+ __pyx_r = __pyx_v_self->var;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
- * info.suboffsets = NULL
- * info.itemsize = PyArray_ITEMSIZE(self)
- * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1196
+ * property var:
+ * """ Dictionary of variables to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.var
*
- * cdef int t
*/
- __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1201
+ * property attr:
+ * """ Dictionary of attributes to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.attr
*
- * cdef int t
- * cdef char* f = NULL # <<<<<<<<<<<<<<
- * cdef dtype descr = self.descr
- * cdef list stack
*/
- __pyx_v_f = NULL;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":240
- * cdef int t
- * cdef char* f = NULL
- * cdef dtype descr = self.descr # <<<<<<<<<<<<<<
- * cdef list stack
- * cdef int offset
- */
- __pyx_t_3 = ((PyObject *)__pyx_v_self->descr);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
- __pyx_t_3 = 0;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_4attr_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_4attr_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_4attr___get__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":244
- * cdef int offset
- *
- * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<<
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_6writer_4attr___get__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1202
+ * """ Dictionary of attributes to write. """
+ * def __get__(self):
+ * return self.attr # <<<<<<<<<<<<<<
*
- * if not hasfields and not copy_shape:
+ * def __init__(self,char * fname,
*/
- __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->attr);
+ __pyx_r = __pyx_v_self->attr;
+ goto __pyx_L0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
- * cdef bint hasfields = PyDataType_HASFIELDS(descr)
+ /* "adios_mpi.pyx":1201
+ * property attr:
+ * """ Dictionary of attributes to write. """
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.attr
*
- * if not hasfields and not copy_shape: # <<<<<<<<<<<<<<
- * # do not call releasebuffer
- * info.obj = None
*/
- __pyx_t_2 = ((!(__pyx_v_hasfields != 0)) != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L15_bool_binop_done;
- }
- __pyx_t_2 = ((!(__pyx_v_copy_shape != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L15_bool_binop_done:;
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
- * if not hasfields and not copy_shape:
- * # do not call releasebuffer
- * info.obj = None # <<<<<<<<<<<<<<
- * else:
- * # need to call releasebuffer
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1204
+ * return self.attr
+ *
+ * def __init__(self,char * fname, # <<<<<<<<<<<<<<
+ * bint is_noxml = True,
+ * MPI.Comm comm = MPI.COMM_WORLD):
*/
- __Pyx_INCREF(Py_None);
- __Pyx_GIVEREF(Py_None);
- __Pyx_GOTREF(__pyx_v_info->obj);
- __Pyx_DECREF(__pyx_v_info->obj);
- __pyx_v_info->obj = Py_None;
- goto __pyx_L14;
- }
- /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":251
- * else:
- * # need to call releasebuffer
- * info.obj = self # <<<<<<<<<<<<<<
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_6writer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_9adios_mpi_6writer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_fname;
+ int __pyx_v_is_noxml;
+ struct PyMPICommObject *__pyx_v_comm = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_is_noxml,&__pyx_n_s_comm,0};
+ PyObject* values[3] = {0,0,0};
+ values[2] = (PyObject *)__pyx_k__22;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_noxml);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_fname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_is_noxml = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_is_noxml == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+
+ /* "adios_mpi.pyx":1205
*
- * if not hasfields:
+ * def __init__(self,char * fname,
+ * bint is_noxml = True, # <<<<<<<<<<<<<<
+ * MPI.Comm comm = MPI.COMM_WORLD):
+ * self.fname = fname
*/
- __Pyx_INCREF(((PyObject *)__pyx_v_self));
- __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- __Pyx_GOTREF(__pyx_v_info->obj);
- __Pyx_DECREF(__pyx_v_info->obj);
- __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
+ __pyx_v_is_noxml = ((int)1);
+ }
+ __pyx_v_comm = ((struct PyMPICommObject *)values[2]);
}
- __pyx_L14:;
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.writer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_r = __pyx_pf_9adios_mpi_6writer___init__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), __pyx_v_fname, __pyx_v_is_noxml, __pyx_v_comm);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
- * info.obj = self
+ /* "adios_mpi.pyx":1204
+ * return self.attr
*
- * if not hasfields: # <<<<<<<<<<<<<<
- * t = descr.type_num
- * if ((descr.byteorder == c'>' and little_endian) or
+ * def __init__(self,char * fname, # <<<<<<<<<<<<<<
+ * bint is_noxml = True,
+ * MPI.Comm comm = MPI.COMM_WORLD):
*/
- __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
- if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":254
- *
- * if not hasfields:
- * t = descr.type_num # <<<<<<<<<<<<<<
- * if ((descr.byteorder == c'>' and little_endian) or
- * (descr.byteorder == c'<' and not little_endian)):
- */
- __pyx_t_4 = __pyx_v_descr->type_num;
- __pyx_v_t = __pyx_t_4;
+ /* function exit code */
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255
- * if not hasfields:
- * t = descr.type_num
- * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
- * (descr.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported")
- */
- __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
- if (!__pyx_t_2) {
- goto __pyx_L20_next_or;
- } else {
- }
- __pyx_t_2 = (__pyx_v_little_endian != 0);
- if (!__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L19_bool_binop_done;
- }
- __pyx_L20_next_or:;
+static int __pyx_pf_9adios_mpi_6writer___init__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_fname, int __pyx_v_is_noxml, struct PyMPICommObject *__pyx_v_comm) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
- * t = descr.type_num
- * if ((descr.byteorder == c'>' and little_endian) or
- * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
- * raise ValueError(u"Non-native byte order not supported")
- * if t == NPY_BYTE: f = "b"
+ /* "adios_mpi.pyx":1207
+ * bint is_noxml = True,
+ * MPI.Comm comm = MPI.COMM_WORLD):
+ * self.fname = fname # <<<<<<<<<<<<<<
+ * self.method = <bytes>""
+ * self.method_params = <bytes>""
*/
- __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
- if (__pyx_t_2) {
- } else {
- __pyx_t_1 = __pyx_t_2;
- goto __pyx_L19_bool_binop_done;
- }
- __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
- __pyx_t_1 = __pyx_t_2;
- __pyx_L19_bool_binop_done:;
- if (__pyx_t_1) {
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_fname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->fname);
+ __Pyx_DECREF(__pyx_v_self->fname);
+ __pyx_v_self->fname = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
- * if ((descr.byteorder == c'>' and little_endian) or
- * (descr.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
- * if t == NPY_BYTE: f = "b"
- * elif t == NPY_UBYTE: f = "B"
+ /* "adios_mpi.pyx":1208
+ * MPI.Comm comm = MPI.COMM_WORLD):
+ * self.fname = fname
+ * self.method = <bytes>"" # <<<<<<<<<<<<<<
+ * self.method_params = <bytes>""
+ * self.is_noxml = is_noxml
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __pyx_t_1 = __pyx_kp_s__7;
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->method);
+ __Pyx_DECREF(__pyx_v_self->method);
+ __pyx_v_self->method = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
- * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ /* "adios_mpi.pyx":1209
+ * self.fname = fname
+ * self.method = <bytes>""
+ * self.method_params = <bytes>"" # <<<<<<<<<<<<<<
+ * self.is_noxml = is_noxml
+ * self.comm = comm
*/
- switch (__pyx_v_t) {
+ __pyx_t_1 = __pyx_kp_s__7;
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->method_params);
+ __Pyx_DECREF(__pyx_v_self->method_params);
+ __pyx_v_self->method_params = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
- * (descr.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported")
- * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<
- * elif t == NPY_UBYTE: f = "B"
- * elif t == NPY_SHORT: f = "h"
+ /* "adios_mpi.pyx":1210
+ * self.method = <bytes>""
+ * self.method_params = <bytes>""
+ * self.is_noxml = is_noxml # <<<<<<<<<<<<<<
+ * self.comm = comm
+ * self.var = dict()
*/
- case NPY_BYTE:
- __pyx_v_f = __pyx_k_b;
- break;
+ __pyx_v_self->is_noxml = __pyx_v_is_noxml;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
- * raise ValueError(u"Non-native byte order not supported")
- * if t == NPY_BYTE: f = "b"
- * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<
- * elif t == NPY_SHORT: f = "h"
- * elif t == NPY_USHORT: f = "H"
+ /* "adios_mpi.pyx":1211
+ * self.method_params = <bytes>""
+ * self.is_noxml = is_noxml
+ * self.comm = comm # <<<<<<<<<<<<<<
+ * self.var = dict()
+ * self.attr = dict()
*/
- case NPY_UBYTE:
- __pyx_v_f = __pyx_k_B;
- break;
+ __Pyx_INCREF(((PyObject *)__pyx_v_comm));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_comm));
+ __Pyx_GOTREF(__pyx_v_self->comm);
+ __Pyx_DECREF(((PyObject *)__pyx_v_self->comm));
+ __pyx_v_self->comm = __pyx_v_comm;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
- * if t == NPY_BYTE: f = "b"
- * elif t == NPY_UBYTE: f = "B"
- * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<
- * elif t == NPY_USHORT: f = "H"
- * elif t == NPY_INT: f = "i"
+ /* "adios_mpi.pyx":1212
+ * self.is_noxml = is_noxml
+ * self.comm = comm
+ * self.var = dict() # <<<<<<<<<<<<<<
+ * self.attr = dict()
+ *
*/
- case NPY_SHORT:
- __pyx_v_f = __pyx_k_h;
- break;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->var);
+ __Pyx_DECREF(__pyx_v_self->var);
+ __pyx_v_self->var = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
- * elif t == NPY_UBYTE: f = "B"
- * elif t == NPY_SHORT: f = "h"
- * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<
- * elif t == NPY_INT: f = "i"
- * elif t == NPY_UINT: f = "I"
+ /* "adios_mpi.pyx":1213
+ * self.comm = comm
+ * self.var = dict()
+ * self.attr = dict() # <<<<<<<<<<<<<<
+ *
+ * ##def __var_factory__(self, name, value):
*/
- case NPY_USHORT:
- __pyx_v_f = __pyx_k_H;
- break;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->attr);
+ __Pyx_DECREF(__pyx_v_self->attr);
+ __pyx_v_self->attr = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
- * elif t == NPY_SHORT: f = "h"
- * elif t == NPY_USHORT: f = "H"
- * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<
- * elif t == NPY_UINT: f = "I"
- * elif t == NPY_LONG: f = "l"
+ /* "adios_mpi.pyx":1204
+ * return self.attr
+ *
+ * def __init__(self,char * fname, # <<<<<<<<<<<<<<
+ * bint is_noxml = True,
+ * MPI.Comm comm = MPI.COMM_WORLD):
*/
- case NPY_INT:
- __pyx_v_f = __pyx_k_i;
- break;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
- * elif t == NPY_USHORT: f = "H"
- * elif t == NPY_INT: f = "i"
- * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<
- * elif t == NPY_LONG: f = "l"
- * elif t == NPY_ULONG: f = "L"
- */
- case NPY_UINT:
- __pyx_v_f = __pyx_k_I;
- break;
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.writer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
- * elif t == NPY_INT: f = "i"
- * elif t == NPY_UINT: f = "I"
- * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONG: f = "L"
- * elif t == NPY_LONGLONG: f = "q"
+/* "adios_mpi.pyx":1221
+ * ## print "attr_factory:", name, value
+ *
+ * def declare_group(self, char * gname, # <<<<<<<<<<<<<<
+ * char * method = "POSIX1",
+ * char * method_params = ""):
*/
- case NPY_LONG:
- __pyx_v_f = __pyx_k_l;
- break;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
- * elif t == NPY_UINT: f = "I"
- * elif t == NPY_LONG: f = "l"
- * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGLONG: f = "q"
- * elif t == NPY_ULONGLONG: f = "Q"
- */
- case NPY_ULONG:
- __pyx_v_f = __pyx_k_L;
- break;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_3declare_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_6writer_2declare_group[] = "writer.declare_group(self, char *gname, char *method='POSIX1', char *method_params='')\n\n Define a group associated with the file.\n\n Args:\n gname (str): group name.\n method (str, optional): Adios write method (default: 'POSIX1')\n method_params (str, optional): parameters for the write method (default: '')\n\n Example:\n\n >>> fw.declare_group('group', method='M [...]
+static PyObject *__pyx_pw_9adios_mpi_6writer_3declare_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_gname;
+ char *__pyx_v_method;
+ char *__pyx_v_method_params;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("declare_group (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gname,&__pyx_n_s_method,&__pyx_n_s_method_params,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_params);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare_group") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_gname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_gname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (values[1]) {
+ __pyx_v_method = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_method) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_method = ((char *)__pyx_k_POSIX1);
+ }
+ if (values[2]) {
+ __pyx_v_method_params = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_method_params) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+ __pyx_v_method_params = ((char *)__pyx_k__7);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("declare_group", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.writer.declare_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_2declare_group(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), __pyx_v_gname, __pyx_v_method, __pyx_v_method_params);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
- * elif t == NPY_LONG: f = "l"
- * elif t == NPY_ULONG: f = "L"
- * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONGLONG: f = "Q"
- * elif t == NPY_FLOAT: f = "f"
- */
- case NPY_LONGLONG:
- __pyx_v_f = __pyx_k_q;
- break;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
- * elif t == NPY_ULONG: f = "L"
- * elif t == NPY_LONGLONG: f = "q"
- * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<
- * elif t == NPY_FLOAT: f = "f"
- * elif t == NPY_DOUBLE: f = "d"
- */
- case NPY_ULONGLONG:
- __pyx_v_f = __pyx_k_Q;
- break;
+static PyObject *__pyx_pf_9adios_mpi_6writer_2declare_group(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_gname, char *__pyx_v_method, char *__pyx_v_method_params) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int64_t __pyx_t_1;
+ struct __pyx_opt_args_9adios_mpi_declare_group __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ char *__pyx_t_4;
+ char *__pyx_t_5;
+ struct __pyx_opt_args_9adios_mpi_select_method __pyx_t_6;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("declare_group", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
- * elif t == NPY_LONGLONG: f = "q"
- * elif t == NPY_ULONGLONG: f = "Q"
- * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<
- * elif t == NPY_DOUBLE: f = "d"
- * elif t == NPY_LONGDOUBLE: f = "g"
+ /* "adios_mpi.pyx":1237
+ *
+ * """
+ * self.gid = declare_group(gname, "", 1) # <<<<<<<<<<<<<<
+ * self.gname = gname
+ * self.method = method
*/
- case NPY_FLOAT:
- __pyx_v_f = __pyx_k_f;
- break;
+ __pyx_t_2.__pyx_n = 2;
+ __pyx_t_2.time_index = __pyx_k__7;
+ __pyx_t_2.stats = 1;
+ __pyx_t_1 = __pyx_f_9adios_mpi_declare_group(__pyx_v_gname, 0, &__pyx_t_2);
+ __pyx_v_self->gid = __pyx_t_1;
+
+ /* "adios_mpi.pyx":1238
+ * """
+ * self.gid = declare_group(gname, "", 1)
+ * self.gname = gname # <<<<<<<<<<<<<<
+ * self.method = method
+ * self.method_params = method_params
+ */
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_gname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_v_self->gname);
+ __Pyx_DECREF(__pyx_v_self->gname);
+ __pyx_v_self->gname = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
- * elif t == NPY_ULONGLONG: f = "Q"
- * elif t == NPY_FLOAT: f = "f"
- * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGDOUBLE: f = "g"
- * elif t == NPY_CFLOAT: f = "Zf"
+ /* "adios_mpi.pyx":1239
+ * self.gid = declare_group(gname, "", 1)
+ * self.gname = gname
+ * self.method = method # <<<<<<<<<<<<<<
+ * self.method_params = method_params
+ * select_method(self.gid, self.method, self.method_params, "")
*/
- case NPY_DOUBLE:
- __pyx_v_f = __pyx_k_d;
- break;
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_method); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_v_self->method);
+ __Pyx_DECREF(__pyx_v_self->method);
+ __pyx_v_self->method = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
- * elif t == NPY_FLOAT: f = "f"
- * elif t == NPY_DOUBLE: f = "d"
- * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<
- * elif t == NPY_CFLOAT: f = "Zf"
- * elif t == NPY_CDOUBLE: f = "Zd"
+ /* "adios_mpi.pyx":1240
+ * self.gname = gname
+ * self.method = method
+ * self.method_params = method_params # <<<<<<<<<<<<<<
+ * select_method(self.gid, self.method, self.method_params, "")
+ *
*/
- case NPY_LONGDOUBLE:
- __pyx_v_f = __pyx_k_g;
- break;
+ __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_method_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_v_self->method_params);
+ __Pyx_DECREF(__pyx_v_self->method_params);
+ __pyx_v_self->method_params = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
- * elif t == NPY_DOUBLE: f = "d"
- * elif t == NPY_LONGDOUBLE: f = "g"
- * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ /* "adios_mpi.pyx":1241
+ * self.method = method
+ * self.method_params = method_params
+ * select_method(self.gid, self.method, self.method_params, "") # <<<<<<<<<<<<<<
+ *
+ * def define_var(self, char * varname,
*/
- case NPY_CFLOAT:
- __pyx_v_f = __pyx_k_Zf;
- break;
+ __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_self->method); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_self->method_params); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6.__pyx_n = 2;
+ __pyx_t_6.parameters = __pyx_t_5;
+ __pyx_t_6.base_path = __pyx_k__7;
+ __pyx_f_9adios_mpi_select_method(__pyx_v_self->gid, __pyx_t_4, 0, &__pyx_t_6);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
- * elif t == NPY_LONGDOUBLE: f = "g"
- * elif t == NPY_CFLOAT: f = "Zf"
- * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
- * elif t == NPY_OBJECT: f = "O"
+ /* "adios_mpi.pyx":1221
+ * ## print "attr_factory:", name, value
+ *
+ * def declare_group(self, char * gname, # <<<<<<<<<<<<<<
+ * char * method = "POSIX1",
+ * char * method_params = ""):
*/
- case NPY_CDOUBLE:
- __pyx_v_f = __pyx_k_Zd;
- break;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
- * elif t == NPY_CFLOAT: f = "Zf"
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<
- * elif t == NPY_OBJECT: f = "O"
- * else:
- */
- case NPY_CLONGDOUBLE:
- __pyx_v_f = __pyx_k_Zg;
- break;
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.writer.declare_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
- * elif t == NPY_CDOUBLE: f = "Zd"
- * elif t == NPY_CLONGDOUBLE: f = "Zg"
- * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+/* "adios_mpi.pyx":1243
+ * select_method(self.gid, self.method, self.method_params, "")
+ *
+ * def define_var(self, char * varname, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
*/
- case NPY_OBJECT:
- __pyx_v_f = __pyx_k_O;
- break;
- default:
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
- * elif t == NPY_OBJECT: f = "O"
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
- * info.format = f
- * return
- */
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_6);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_Raise(__pyx_t_6, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- break;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_5define_var(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_6writer_4define_var[] = "writer.define_var(self, char *varname, ldim=<\077\077?>, gdim=<\077\077?>, offset=<\077\077?>)\n\n Define a variable associated with the file.\n\n Args:\n varname (str): variable name.\n ldim (tuple, optional): local dimension (default: tuple())\n gdim (tuple, optional): global dimension (default: tuple())\n offset (tuple, optional): offset (default: tuple())\n\n Exa [...]
+static PyObject *__pyx_pw_9adios_mpi_6writer_5define_var(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_varname;
+ PyObject *__pyx_v_ldim = 0;
+ PyObject *__pyx_v_gdim = 0;
+ PyObject *__pyx_v_offset = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define_var (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_varname,&__pyx_n_s_ldim,&__pyx_n_s_gdim,&__pyx_n_s_offset,0};
+ PyObject* values[4] = {0,0,0,0};
+ values[1] = __pyx_k__23;
+ values[2] = __pyx_k__24;
+ values[3] = __pyx_k__25;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ldim);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gdim);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_var") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
}
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- * info.format = f # <<<<<<<<<<<<<<
- * return
- * else:
- */
- __pyx_v_info->format = __pyx_v_f;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- * info.format = f
- * return # <<<<<<<<<<<<<<
- * else:
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
- */
- __pyx_r = 0;
- goto __pyx_L0;
+ __pyx_v_varname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_varname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_ldim = values[1];
+ __pyx_v_gdim = values[2];
+ __pyx_v_offset = values[3];
}
- /*else*/ {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
- * return
- * else:
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<
- * info.format[0] = c'^' # Native data types, manual alignment
- * offset = 0
- */
- __pyx_v_info->format = ((char *)malloc(255));
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":281
- * else:
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
- * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<
- * offset = 0
- * f = _util_dtypestring(descr, info.format + 1,
- */
- (__pyx_v_info->format[0]) = '^';
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("define_var", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.writer.define_var", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_4define_var(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), __pyx_v_varname, __pyx_v_ldim, __pyx_v_gdim, __pyx_v_offset);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
- * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
- * info.format[0] = c'^' # Native data types, manual alignment
- * offset = 0 # <<<<<<<<<<<<<<
- * f = _util_dtypestring(descr, info.format + 1,
- * info.format + _buffer_format_string_len,
- */
- __pyx_v_offset = 0;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
- * info.format[0] = c'^' # Native data types, manual alignment
- * offset = 0
- * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<
- * info.format + _buffer_format_string_len,
- * &offset)
- */
- __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_f = __pyx_t_7;
+static PyObject *__pyx_pf_9adios_mpi_6writer_4define_var(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_varname, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define_var", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
- * info.format + _buffer_format_string_len,
- * &offset)
- * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1263
*
- * def __releasebuffer__(ndarray self, Py_buffer* info):
+ * """
+ * self.var[varname] = varinfo(varname, ldim, gdim, offset) # <<<<<<<<<<<<<<
+ *
+ * def define_attr(self, char * attrname):
*/
- (__pyx_v_f[0]) = '\x00';
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_varname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_ldim);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_ldim);
+ __Pyx_GIVEREF(__pyx_v_ldim);
+ __Pyx_INCREF(__pyx_v_gdim);
+ PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_gdim);
+ __Pyx_GIVEREF(__pyx_v_gdim);
+ __Pyx_INCREF(__pyx_v_offset);
+ PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_offset);
+ __Pyx_GIVEREF(__pyx_v_offset);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_varinfo)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
+ __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_varname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_t_2, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194
- * # experimental exception made for __getbuffer__ and __releasebuffer__
- * # -- the details of this may change.
- * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
- * # This implementation of getbuffer is geared towards Cython
- * # requirements, and does not yet fullfill the PEP.
+ /* "adios_mpi.pyx":1243
+ * select_method(self.gid, self.method, self.method_params, "")
+ *
+ * def define_var(self, char * varname, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
*/
/* function exit code */
- __pyx_r = 0;
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_6);
- __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = -1;
- if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
- __Pyx_GOTREF(__pyx_v_info->obj);
- __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
- }
- goto __pyx_L2;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios_mpi.writer.define_var", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
- if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
- __Pyx_GOTREF(Py_None);
- __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
- }
- __pyx_L2:;
- __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+ __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
- * f[0] = c'\0' # Terminate format string
+/* "adios_mpi.pyx":1265
+ * self.var[varname] = varinfo(varname, ldim, gdim, offset)
*
- * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format)
+ * def define_attr(self, char * attrname): # <<<<<<<<<<<<<<
+ * """
+ * Define attribute in the file.
*/
/* Python wrapper */
-static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
-static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
- __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
-
- /* function exit code */
- __Pyx_RefNannyFinishContext();
-}
-
-static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+static PyObject *__pyx_pw_9adios_mpi_6writer_7define_attr(PyObject *__pyx_v_self, PyObject *__pyx_arg_attrname); /*proto*/
+static char __pyx_doc_9adios_mpi_6writer_6define_attr[] = "writer.define_attr(self, char *attrname)\n\n Define attribute in the file.\n\n Args:\n attrname (str): attribute name.\n ";
+static PyObject *__pyx_pw_9adios_mpi_6writer_7define_attr(PyObject *__pyx_v_self, PyObject *__pyx_arg_attrname) {
+ char *__pyx_v_attrname;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- int __pyx_t_1;
- __Pyx_RefNannySetupContext("__releasebuffer__", 0);
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
- *
- * def __releasebuffer__(ndarray self, Py_buffer* info):
- * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
- * stdlib.free(info.format)
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- */
- __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
- if (__pyx_t_1) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
- * def __releasebuffer__(ndarray self, Py_buffer* info):
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format) # <<<<<<<<<<<<<<
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- * stdlib.free(info.strides)
- */
- free(__pyx_v_info->format);
- goto __pyx_L3;
- }
- __pyx_L3:;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format)
- * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
- * stdlib.free(info.strides)
- * # info.shape was stored after info.strides in the same block
- */
- __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
- if (__pyx_t_1) {
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
- * stdlib.free(info.format)
- * if sizeof(npy_intp) != sizeof(Py_ssize_t):
- * stdlib.free(info.strides) # <<<<<<<<<<<<<<
- * # info.shape was stored after info.strides in the same block
- *
- */
- free(__pyx_v_info->strides);
- goto __pyx_L4;
+ __Pyx_RefNannySetupContext("define_attr (wrapper)", 0);
+ assert(__pyx_arg_attrname); {
+ __pyx_v_attrname = __Pyx_PyObject_AsString(__pyx_arg_attrname); if (unlikely((!__pyx_v_attrname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
- __pyx_L4:;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
- * f[0] = c'\0' # Terminate format string
- *
- * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
- * if PyArray_HASFIELDS(self):
- * stdlib.free(info.format)
- */
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.writer.define_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_6define_attr(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), ((char *)__pyx_v_attrname));
/* function exit code */
__Pyx_RefNannyFinishContext();
+ return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
- * ctypedef npy_cdouble complex_t
- *
- * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(1, <void*>a)
- *
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+static PyObject *__pyx_pf_9adios_mpi_6writer_6define_attr(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_attrname) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+ __Pyx_RefNannySetupContext("define_attr", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":769
+ /* "adios_mpi.pyx":1273
+ * """
*
- * cdef inline object PyArray_MultiIterNew1(a):
- * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
+ * self.attr[attrname] = attrinfo(attrname, is_static=True) # <<<<<<<<<<<<<<
*
- * cdef inline object PyArray_MultiIterNew2(a, b):
+ * def define_dynamic_attr(self, char * attrname,
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_is_static, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_attrinfo)), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (unlikely(PyDict_SetItem(__pyx_v_self->attr, __pyx_t_1, __pyx_t_3) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768
- * ctypedef npy_cdouble complex_t
- *
- * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(1, <void*>a)
+ /* "adios_mpi.pyx":1265
+ * self.var[varname] = varinfo(varname, ldim, gdim, offset)
*
+ * def define_attr(self, char * attrname): # <<<<<<<<<<<<<<
+ * """
+ * Define attribute in the file.
*/
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.writer.define_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
- * return PyArray_MultiIterNew(1, <void*>a)
- *
- * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+/* "adios_mpi.pyx":1275
+ * self.attr[attrname] = attrinfo(attrname, is_static=True)
*
+ * def define_dynamic_attr(self, char * attrname, # <<<<<<<<<<<<<<
+ * char * varname,
+ * dtype):
*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_9define_dynamic_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_6writer_8define_dynamic_attr[] = "writer.define_dynamic_attr(self, char *attrname, char *varname, dtype)";
+static PyObject *__pyx_pw_9adios_mpi_6writer_9define_dynamic_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_attrname;
+ char *__pyx_v_varname;
+ PyObject *__pyx_v_dtype = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":772
- *
- * cdef inline object PyArray_MultiIterNew2(a, b):
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c):
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
- * return PyArray_MultiIterNew(1, <void*>a)
- *
- * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
- *
- */
-
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define_dynamic_attr (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrname,&__pyx_n_s_varname,&__pyx_n_s_dtype,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_attrname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_dynamic_attr", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ case 2:
+ if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("define_dynamic_attr", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "define_dynamic_attr") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ }
+ __pyx_v_attrname = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_attrname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_varname = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_varname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_dtype = values[2];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("define_dynamic_attr", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.writer.define_dynamic_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_8define_dynamic_attr(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), __pyx_v_attrname, __pyx_v_varname, __pyx_v_dtype);
+
+ /* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
- *
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+static PyObject *__pyx_pf_9adios_mpi_6writer_8define_dynamic_attr(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, char *__pyx_v_attrname, char *__pyx_v_varname, PyObject *__pyx_v_dtype) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+ __Pyx_RefNannySetupContext("define_dynamic_attr", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":775
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c):
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ /* "adios_mpi.pyx":1278
+ * char * varname,
+ * dtype):
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False) # <<<<<<<<<<<<<<
+ * def __setitem__(self, name, val):
+ * if self.var.has_key(name):
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
+ __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_varname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_v_dtype);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_dtype);
+ __Pyx_GIVEREF(__pyx_v_dtype);
__pyx_t_1 = 0;
- goto __pyx_L0;
+ __pyx_t_2 = 0;
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_static, Py_False) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_attrinfo)), __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_attrname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (unlikely(PyDict_SetItem(__pyx_v_self->attr, __pyx_t_2, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
- * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
- *
- * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ /* "adios_mpi.pyx":1275
+ * self.attr[attrname] = attrinfo(attrname, is_static=True)
*
+ * def define_dynamic_attr(self, char * attrname, # <<<<<<<<<<<<<<
+ * char * varname,
+ * dtype):
*/
/* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.writer.define_dynamic_attr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
+/* "adios_mpi.pyx":1279
+ * dtype):
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ * def __setitem__(self, name, val): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * self.var[name].value = val
*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
- PyObject *__pyx_r = NULL;
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_6writer_11__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val); /*proto*/
+static int __pyx_pw_9adios_mpi_6writer_11__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val) {
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
- */
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
- * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
- *
- * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
- */
+ __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_10__setitem__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), ((PyObject *)__pyx_v_name), ((PyObject *)__pyx_v_val));
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = 0;
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
- *
- */
-
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
- PyObject *__pyx_r = NULL;
+static int __pyx_pf_9adios_mpi_6writer_10__setitem__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_val) {
+ int __pyx_r;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+ __Pyx_RefNannySetupContext("__setitem__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":781
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
- *
- * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ /* "adios_mpi.pyx":1280
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ * def __setitem__(self, name, val):
+ * if self.var.has_key(name): # <<<<<<<<<<<<<<
+ * self.var[name].value = val
+ * elif self.attr.has_key(name):
*/
- __Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
- goto __pyx_L0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = PyDict_Contains(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
- * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
- *
- * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ /* "adios_mpi.pyx":1281
+ * def __setitem__(self, name, val):
+ * if self.var.has_key(name):
+ * self.var[name].value = val # <<<<<<<<<<<<<<
+ * elif self.attr.has_key(name):
+ * self.attr[name].value = val
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_value, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+
+ /* "adios_mpi.pyx":1282
+ * if self.var.has_key(name):
+ * self.var[name].value = val
+ * elif self.attr.has_key(name): # <<<<<<<<<<<<<<
+ * self.attr[name].value = val
+ * else:
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = PyDict_Contains(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":1283
+ * self.var[name].value = val
+ * elif self.attr.has_key(name):
+ * self.attr[name].value = val # <<<<<<<<<<<<<<
+ * else:
+ * self.var[name] = val
+ */
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_value, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1285
+ * self.attr[name].value = val
+ * else:
+ * self.var[name] = val # <<<<<<<<<<<<<<
*
+ * def __getitem__(self, name):
+ */
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_name, __pyx_v_val) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":1279
+ * dtype):
+ * self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ * def __setitem__(self, name, val): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * self.var[name].value = val
*/
/* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.writer.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
__pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+/* "adios_mpi.pyx":1287
+ * self.var[name] = val
*
- * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
- * # Recursive utility function used in __getbuffer__ to get format
- * # string. The new location in the format string is returned.
+ * def __getitem__(self, name): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * return self.var[name].value
*/
-static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
- PyArray_Descr *__pyx_v_child = 0;
- int __pyx_v_endian_detector;
- int __pyx_v_little_endian;
- PyObject *__pyx_v_fields = 0;
- PyObject *__pyx_v_childname = NULL;
- PyObject *__pyx_v_new_offset = NULL;
- PyObject *__pyx_v_t = NULL;
- char *__pyx_r;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_13__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_13__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
+ PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- Py_ssize_t __pyx_t_2;
+ __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_12__getitem__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self), ((PyObject *)__pyx_v_name));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_6writer_12__getitem__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self, PyObject *__pyx_v_name) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
- int __pyx_t_5;
- int __pyx_t_6;
- int __pyx_t_7;
- long __pyx_t_8;
- char *__pyx_t_9;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+ __Pyx_RefNannySetupContext("__getitem__", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
- * cdef int delta_offset
- * cdef tuple i
- * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
- * cdef tuple fields
- */
- __pyx_v_endian_detector = 1;
-
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
- * cdef tuple i
- * cdef int endian_detector = 1
- * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
- * cdef tuple fields
+ /* "adios_mpi.pyx":1288
*
+ * def __getitem__(self, name):
+ * if self.var.has_key(name): # <<<<<<<<<<<<<<
+ * return self.var[name].value
+ * elif self.attr.has_key(name):
*/
- __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = PyDict_Contains(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
- * cdef tuple fields
- *
- * for childname in descr.names: # <<<<<<<<<<<<<<
- * fields = descr.fields[childname]
- * child, new_offset = fields
+ /* "adios_mpi.pyx":1289
+ * def __getitem__(self, name):
+ * if self.var.has_key(name):
+ * return self.var[name].value # <<<<<<<<<<<<<<
+ * elif self.attr.has_key(name):
+ * return self.attr[name].value
*/
- if (unlikely(__pyx_v_descr->names == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->var, __pyx_v_name); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_4;
+ __pyx_t_4 = 0;
+ goto __pyx_L0;
}
- __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
- for (;;) {
- if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
- __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795
- *
- * for childname in descr.names:
- * fields = descr.fields[childname] # <<<<<<<<<<<<<<
- * child, new_offset = fields
- *
+ /* "adios_mpi.pyx":1290
+ * if self.var.has_key(name):
+ * return self.var[name].value
+ * elif self.attr.has_key(name): # <<<<<<<<<<<<<<
+ * return self.attr[name].value
+ * else:
*/
- __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- __Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
- __pyx_t_3 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = PyDict_Contains(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
- * for childname in descr.names:
- * fields = descr.fields[childname]
- * child, new_offset = fields # <<<<<<<<<<<<<<
- *
- * if (end - f) - <int>(new_offset - offset[0]) < 15:
+ /* "adios_mpi.pyx":1291
+ * return self.var[name].value
+ * elif self.attr.has_key(name):
+ * return self.attr[name].value # <<<<<<<<<<<<<<
+ * else:
+ * raise KeyError(name)
*/
- if (likely(__pyx_v_fields != Py_None)) {
- PyObject* sequence = __pyx_v_fields;
- #if CYTHON_COMPILING_IN_CPYTHON
- Py_ssize_t size = Py_SIZE(sequence);
- #else
- Py_ssize_t size = PySequence_Size(sequence);
- #endif
- if (unlikely(size != 2)) {
- if (size > 2) __Pyx_RaiseTooManyValuesError(2);
- else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
- __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_4);
- #else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- #endif
- } else {
- __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF(__pyx_r);
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
+ __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->attr, __pyx_v_name); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
- __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
- __pyx_t_4 = 0;
+ goto __pyx_L0;
+ }
+ /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
- * child, new_offset = fields
- *
- * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
- * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ /* "adios_mpi.pyx":1293
+ * return self.attr[name].value
+ * else:
+ * raise KeyError(name) # <<<<<<<<<<<<<<
*
+ * def close(self):
*/
- __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_INCREF(__pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name);
+ __Pyx_GIVEREF(__pyx_v_name);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
- if (__pyx_t_6) {
+ __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
- *
- * if (end - f) - <int>(new_offset - offset[0]) < 15:
- * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1287
+ * self.var[name] = val
*
- * if ((child.byteorder == c'>' and little_endian) or
+ * def __getitem__(self, name): # <<<<<<<<<<<<<<
+ * if self.var.has_key(name):
+ * return self.var[name].value
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
- * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
- *
- * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
- * (child.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported")
- */
- __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
- if (!__pyx_t_7) {
- goto __pyx_L8_next_or;
- } else {
- }
- __pyx_t_7 = (__pyx_v_little_endian != 0);
- if (!__pyx_t_7) {
- } else {
- __pyx_t_6 = __pyx_t_7;
- goto __pyx_L7_bool_binop_done;
- }
- __pyx_L8_next_or:;
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.writer.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+/* "adios_mpi.pyx":1295
+ * raise KeyError(name)
*
- * if ((child.byteorder == c'>' and little_endian) or
- * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
- * raise ValueError(u"Non-native byte order not supported")
- * # One could encode it in the format string and have Cython
+ * def close(self): # <<<<<<<<<<<<<<
+ * """
+ * Write variables and attributes to a file and close the writer.
*/
- __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
- if (__pyx_t_7) {
- } else {
- __pyx_t_6 = __pyx_t_7;
- goto __pyx_L7_bool_binop_done;
- }
- __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
- __pyx_t_6 = __pyx_t_7;
- __pyx_L7_bool_binop_done:;
- if (__pyx_t_6) {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
- * if ((child.byteorder == c'>' and little_endian) or
- * (child.byteorder == c'<' and not little_endian)):
- * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
- * # One could encode it in the format string and have Cython
- * # complain instead, BUT: < and > in format strings also imply
- */
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_15close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_6writer_14close[] = "writer.close(self)\n\n Write variables and attributes to a file and close the writer.\n ";
+static PyObject *__pyx_pw_9adios_mpi_6writer_15close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("close (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_14close(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
- *
- * # Output padding bytes
- * while offset[0] < new_offset: # <<<<<<<<<<<<<<
- * f[0] = 120 # "x"; pad byte
- * f += 1
- */
- while (1) {
- __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (!__pyx_t_6) break;
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
- * # Output padding bytes
- * while offset[0] < new_offset:
- * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<
- * f += 1
- * offset[0] += 1
- */
- (__pyx_v_f[0]) = 120;
+static PyObject *__pyx_pf_9adios_mpi_6writer_14close(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ int64_t __pyx_v_fd;
+ PyObject *__pyx_v_extra_var = NULL;
+ PyObject *__pyx_v_extra_attr = NULL;
+ PyObject *__pyx_v_key = NULL;
+ PyObject *__pyx_v_val = NULL;
+ PyObject *__pyx_v_n = NULL;
+ PyObject *__pyx_v_groupsize = NULL;
+ PyObject *__pyx_v_var = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ char *__pyx_t_1;
+ char *__pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ Py_ssize_t __pyx_t_5;
+ int __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_t_9;
+ int __pyx_t_10;
+ int __pyx_t_11;
+ PyObject *__pyx_t_12 = NULL;
+ PyObject *__pyx_t_13 = NULL;
+ PyObject *__pyx_t_14 = NULL;
+ PyObject *(*__pyx_t_15)(PyObject *);
+ uint64_t __pyx_t_16;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("close", 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
- * while offset[0] < new_offset:
- * f[0] = 120 # "x"; pad byte
- * f += 1 # <<<<<<<<<<<<<<
- * offset[0] += 1
+ /* "adios_mpi.pyx":1299
+ * Write variables and attributes to a file and close the writer.
+ * """
+ * fd = open(self.gname, self.fname, "w") # <<<<<<<<<<<<<<
*
+ * extra_var = dict()
*/
- __pyx_v_f = (__pyx_v_f + 1);
+ __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_self->gname); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_self->fname); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_fd = __pyx_f_9adios_mpi_open(__pyx_t_1, __pyx_t_2, __pyx_k_w, 0, NULL);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
- * f[0] = 120 # "x"; pad byte
- * f += 1
- * offset[0] += 1 # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1301
+ * fd = open(self.gname, self.fname, "w")
+ *
+ * extra_var = dict() # <<<<<<<<<<<<<<
+ * extra_attr = dict()
*
- * offset[0] += child.itemsize
*/
- __pyx_t_8 = 0;
- (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
- }
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_extra_var = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
- * offset[0] += 1
+ /* "adios_mpi.pyx":1302
*
- * offset[0] += child.itemsize # <<<<<<<<<<<<<<
+ * extra_var = dict()
+ * extra_attr = dict() # <<<<<<<<<<<<<<
*
- * if not PyDataType_HASFIELDS(child):
+ * for key, val in self.var.iteritems():
*/
- __pyx_t_8 = 0;
- (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_v_extra_attr = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":820
- * offset[0] += child.itemsize
+ /* "adios_mpi.pyx":1304
+ * extra_attr = dict()
*
- * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
- * t = child.type_num
- * if end - f < 5:
+ * for key, val in self.var.iteritems(): # <<<<<<<<<<<<<<
+ * if not isinstance(val, varinfo):
+ * n = np.array(val)
*/
- __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
- if (__pyx_t_6) {
+ __pyx_t_4 = 0;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iteritems");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_self->var, 1, __pyx_n_s_iteritems, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_5, &__pyx_t_4, &__pyx_t_7, &__pyx_t_8, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
- *
- * if not PyDataType_HASFIELDS(child):
- * t = child.type_num # <<<<<<<<<<<<<<
- * if end - f < 5:
- * raise RuntimeError(u"Format string allocated too short.")
+ /* "adios_mpi.pyx":1305
+ *
+ * for key, val in self.var.iteritems():
+ * if not isinstance(val, varinfo): # <<<<<<<<<<<<<<
+ * n = np.array(val)
+ * extra_var[key] = varinfo(key, n.shape)
+ */
+ __pyx_t_10 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_9adios_mpi_varinfo));
+ __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0);
+ if (__pyx_t_11) {
+
+ /* "adios_mpi.pyx":1306
+ * for key, val in self.var.iteritems():
+ * if not isinstance(val, varinfo):
+ * n = np.array(val) # <<<<<<<<<<<<<<
+ * extra_var[key] = varinfo(key, n.shape)
+ * extra_var[key].value = val
+ */
+ __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_12))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_12, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_val); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_n, __pyx_t_8);
+ __pyx_t_8 = 0;
+
+ /* "adios_mpi.pyx":1307
+ * if not isinstance(val, varinfo):
+ * n = np.array(val)
+ * extra_var[key] = varinfo(key, n.shape) # <<<<<<<<<<<<<<
+ * extra_var[key].value = val
+ * else:
*/
- __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
- __pyx_t_4 = 0;
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_n, __pyx_n_s_shape); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_8);
+ __Pyx_GIVEREF(__pyx_t_8);
+ __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_varinfo)), __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ if (unlikely(PyDict_SetItem(__pyx_v_extra_var, __pyx_v_key, __pyx_t_8) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
- * if not PyDataType_HASFIELDS(child):
- * t = child.type_num
- * if end - f < 5: # <<<<<<<<<<<<<<
- * raise RuntimeError(u"Format string allocated too short.")
- *
+ /* "adios_mpi.pyx":1308
+ * n = np.array(val)
+ * extra_var[key] = varinfo(key, n.shape)
+ * extra_var[key].value = val # <<<<<<<<<<<<<<
+ * else:
+ * if self.is_noxml: val.define(self.gid)
*/
- __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
- if (__pyx_t_6) {
+ __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_extra_var, __pyx_v_key); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_8);
+ if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_value, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L5;
+ }
+ /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
- * t = child.type_num
- * if end - f < 5:
- * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
+ /* "adios_mpi.pyx":1310
+ * extra_var[key].value = val
+ * else:
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ *
+ * for key, val in extra_var.iteritems():
+ */
+ __pyx_t_11 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_11) {
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_13 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_t_7 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_12))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_12, function);
+ }
+ }
+ if (!__pyx_t_7) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_13);
+ __Pyx_GIVEREF(__pyx_t_13);
+ __pyx_t_13 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L6;
+ }
+ __pyx_L6:;
+ }
+ __pyx_L5:;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1312
+ * if self.is_noxml: val.define(self.gid)
*
- * # Until ticket #99 is fixed, use integers to avoid warnings
+ * for key, val in extra_var.iteritems(): # <<<<<<<<<<<<<<
+ * if self.is_noxml: val.define(self.gid)
+ * self.var[key] = val
*/
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_Raise(__pyx_t_4, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
+ __pyx_t_5 = 0;
+ __pyx_t_8 = __Pyx_dict_iterator(__pyx_v_extra_var, 1, __pyx_n_s_iteritems, (&__pyx_t_4), (&__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_8;
+ __pyx_t_8 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_4, &__pyx_t_5, &__pyx_t_8, &__pyx_t_12, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_8);
+ __pyx_t_8 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_12);
+ __pyx_t_12 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
+ /* "adios_mpi.pyx":1313
+ *
+ * for key, val in extra_var.iteritems():
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ * self.var[key] = val
*
- * # Until ticket #99 is fixed, use integers to avoid warnings
- * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<
- * elif t == NPY_UBYTE: f[0] = 66 #"B"
- * elif t == NPY_SHORT: f[0] = 104 #"h"
*/
- __pyx_t_4 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 98;
- goto __pyx_L15;
+ __pyx_t_11 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_11) {
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_14 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ __pyx_t_13 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_13)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_13);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
+ }
}
+ if (!__pyx_t_13) {
+ __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_14); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ __Pyx_GOTREF(__pyx_t_12);
+ } else {
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_14);
+ __Pyx_GIVEREF(__pyx_t_14);
+ __pyx_t_14 = 0;
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ goto __pyx_L9;
+ }
+ __pyx_L9:;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
- * # Until ticket #99 is fixed, use integers to avoid warnings
- * if t == NPY_BYTE: f[0] = 98 #"b"
- * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- * elif t == NPY_USHORT: f[0] = 72 #"H"
+ /* "adios_mpi.pyx":1314
+ * for key, val in extra_var.iteritems():
+ * if self.is_noxml: val.define(self.gid)
+ * self.var[key] = val # <<<<<<<<<<<<<<
+ *
+ * for key, val in self.attr.iteritems():
*/
- __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 66;
- goto __pyx_L15;
- }
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_self->var, __pyx_v_key, __pyx_v_val) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
- * if t == NPY_BYTE: f[0] = 98 #"b"
- * elif t == NPY_UBYTE: f[0] = 66 #"B"
- * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<
- * elif t == NPY_USHORT: f[0] = 72 #"H"
- * elif t == NPY_INT: f[0] = 105 #"i"
+ /* "adios_mpi.pyx":1316
+ * self.var[key] = val
+ *
+ * for key, val in self.attr.iteritems(): # <<<<<<<<<<<<<<
+ * if not isinstance(val, attrinfo):
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
*/
- __pyx_t_4 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 104;
- goto __pyx_L15;
- }
+ __pyx_t_4 = 0;
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iteritems");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_12 = __Pyx_dict_iterator(__pyx_v_self->attr, 1, __pyx_n_s_iteritems, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_12;
+ __pyx_t_12 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_5, &__pyx_t_4, &__pyx_t_12, &__pyx_t_8, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_12);
+ __pyx_t_12 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
- * elif t == NPY_UBYTE: f[0] = 66 #"B"
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<
- * elif t == NPY_INT: f[0] = 105 #"i"
- * elif t == NPY_UINT: f[0] = 73 #"I"
+ /* "adios_mpi.pyx":1317
+ *
+ * for key, val in self.attr.iteritems():
+ * if not isinstance(val, attrinfo): # <<<<<<<<<<<<<<
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
+ * else:
*/
- __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 72;
- goto __pyx_L15;
+ __pyx_t_11 = __Pyx_TypeCheck(__pyx_v_val, ((PyObject*)__pyx_ptype_9adios_mpi_attrinfo));
+ __pyx_t_10 = ((!(__pyx_t_11 != 0)) != 0);
+ if (__pyx_t_10) {
+
+ /* "adios_mpi.pyx":1318
+ * for key, val in self.attr.iteritems():
+ * if not isinstance(val, attrinfo):
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype) # <<<<<<<<<<<<<<
+ * else:
+ * if self.is_noxml: val.define(self.gid)
+ */
+ __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __pyx_t_12 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_12)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_12);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ }
+ }
+ if (!__pyx_t_12) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_val); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = NULL;
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
}
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_INCREF(__pyx_v_key);
+ PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_key);
+ __Pyx_GIVEREF(__pyx_v_key);
+ __Pyx_INCREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_val);
+ __Pyx_GIVEREF(__pyx_v_val);
+ PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_attrinfo)), __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(PyDict_SetItem(__pyx_v_extra_attr, __pyx_v_key, __pyx_t_7) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ goto __pyx_L12;
+ }
+ /*else*/ {
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
- * elif t == NPY_SHORT: f[0] = 104 #"h"
- * elif t == NPY_USHORT: f[0] = 72 #"H"
- * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<
- * elif t == NPY_UINT: f[0] = 73 #"I"
- * elif t == NPY_LONG: f[0] = 108 #"l"
- */
- __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 105;
- goto __pyx_L15;
+ /* "adios_mpi.pyx":1320
+ * extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
+ * else:
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ *
+ * for key, val in extra_attr.iteritems():
+ */
+ __pyx_t_10 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_10) {
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_14 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ __pyx_t_12 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_12)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_12);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
+ }
+ }
+ if (!__pyx_t_12) {
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_14); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ __Pyx_GOTREF(__pyx_t_7);
+ } else {
+ __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __pyx_t_12 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_14);
+ __Pyx_GIVEREF(__pyx_t_14);
+ __pyx_t_14 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ goto __pyx_L13;
}
+ __pyx_L13:;
+ }
+ __pyx_L12:;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
- * elif t == NPY_USHORT: f[0] = 72 #"H"
- * elif t == NPY_INT: f[0] = 105 #"i"
- * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<
- * elif t == NPY_LONG: f[0] = 108 #"l"
- * elif t == NPY_ULONG: f[0] = 76 #"L"
+ /* "adios_mpi.pyx":1322
+ * if self.is_noxml: val.define(self.gid)
+ *
+ * for key, val in extra_attr.iteritems(): # <<<<<<<<<<<<<<
+ * if self.is_noxml: val.define(self.gid)
+ *
*/
- __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 73;
- goto __pyx_L15;
+ __pyx_t_5 = 0;
+ __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_extra_attr, 1, __pyx_n_s_iteritems, (&__pyx_t_4), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_3);
+ __pyx_t_3 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ while (1) {
+ __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_4, &__pyx_t_5, &__pyx_t_7, &__pyx_t_8, NULL, __pyx_t_6);
+ if (unlikely(__pyx_t_9 == 0)) break;
+ if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_8);
+ __pyx_t_8 = 0;
+
+ /* "adios_mpi.pyx":1323
+ *
+ * for key, val in extra_attr.iteritems():
+ * if self.is_noxml: val.define(self.gid) # <<<<<<<<<<<<<<
+ *
+ * groupsize = 0
+ */
+ __pyx_t_10 = (__pyx_v_self->is_noxml != 0);
+ if (__pyx_t_10) {
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_define); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_13 = __Pyx_PyInt_From_int64_t(__pyx_v_self->gid); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_13);
+ __pyx_t_14 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_14)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_14);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ }
}
+ if (!__pyx_t_14) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_13); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_13);
+ __Pyx_GIVEREF(__pyx_t_13);
+ __pyx_t_13 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ goto __pyx_L16;
+ }
+ __pyx_L16:;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
- * elif t == NPY_INT: f[0] = 105 #"i"
- * elif t == NPY_UINT: f[0] = 73 #"I"
- * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONG: f[0] = 76 #"L"
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ /* "adios_mpi.pyx":1325
+ * if self.is_noxml: val.define(self.gid)
+ *
+ * groupsize = 0 # <<<<<<<<<<<<<<
+ * for var in self.var.values():
+ * groupsize = groupsize + var.bytes()
*/
- __pyx_t_4 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 108;
- goto __pyx_L15;
- }
+ __Pyx_INCREF(__pyx_int_0);
+ __pyx_v_groupsize = __pyx_int_0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
- * elif t == NPY_UINT: f[0] = 73 #"I"
- * elif t == NPY_LONG: f[0] = 108 #"l"
- * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ /* "adios_mpi.pyx":1326
+ *
+ * groupsize = 0
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * groupsize = groupsize + var.bytes()
+ *
*/
- __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_Values(__pyx_v_self->var); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
+ __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_4 = 0;
+ __pyx_t_15 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_15 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_15)) {
+ if (likely(PyList_CheckExact(__pyx_t_8))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_8)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_3 = __pyx_t_15(__pyx_t_8);
+ if (unlikely(!__pyx_t_3)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
+ }
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 76;
- goto __pyx_L15;
+ }
+ __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1327
+ * groupsize = 0
+ * for var in self.var.values():
+ * groupsize = groupsize + var.bytes() # <<<<<<<<<<<<<<
+ *
+ * set_group_size(fd, groupsize)
+ */
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_n_s_bytes_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_12 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_12)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_12);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
}
+ }
+ if (__pyx_t_12) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_12); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ } else {
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = PyNumber_Add(__pyx_v_groupsize, __pyx_t_3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF_SET(__pyx_v_groupsize, __pyx_t_7);
+ __pyx_t_7 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
- * elif t == NPY_LONG: f[0] = 108 #"l"
- * elif t == NPY_ULONG: f[0] = 76 #"L"
- * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ /* "adios_mpi.pyx":1326
+ *
+ * groupsize = 0
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * groupsize = groupsize + var.bytes()
+ *
*/
- __pyx_t_4 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 113;
- goto __pyx_L15;
- }
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
- * elif t == NPY_ULONG: f[0] = 76 #"L"
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ /* "adios_mpi.pyx":1329
+ * groupsize = groupsize + var.bytes()
+ *
+ * set_group_size(fd, groupsize) # <<<<<<<<<<<<<<
+ *
+ * for var in self.var.values():
*/
- __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 81;
- goto __pyx_L15;
- }
+ __pyx_t_16 = __Pyx_PyInt_As_uint64_t(__pyx_v_groupsize); if (unlikely((__pyx_t_16 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_f_9adios_mpi_set_group_size(__pyx_v_fd, __pyx_t_16, 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
- * elif t == NPY_LONGLONG: f[0] = 113 #"q"
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ /* "adios_mpi.pyx":1331
+ * set_group_size(fd, groupsize)
+ *
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * var.write(fd)
+ *
*/
- __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 102;
- goto __pyx_L15;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_8 = __Pyx_PyDict_Values(__pyx_v_self->var); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+ __pyx_t_7 = __pyx_t_8; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0;
+ __pyx_t_15 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_15 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_15)) {
+ if (likely(PyList_CheckExact(__pyx_t_7))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ }
+ } else {
+ __pyx_t_8 = __pyx_t_15(__pyx_t_7);
+ if (unlikely(!__pyx_t_8)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ break;
}
+ __Pyx_GOTREF(__pyx_t_8);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_8);
+ __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
- * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ /* "adios_mpi.pyx":1332
+ *
+ * for var in self.var.values():
+ * var.write(fd) # <<<<<<<<<<<<<<
+ *
+ * close(fd)
*/
- __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 100;
- goto __pyx_L15;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_12 = __Pyx_PyInt_From_int64_t(__pyx_v_fd); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_13 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_13)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_13);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
}
+ }
+ if (!__pyx_t_13) {
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
+ } else {
+ __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_14);
+ PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = NULL;
+ PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_12);
+ __Pyx_GIVEREF(__pyx_t_12);
+ __pyx_t_12 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
- * elif t == NPY_FLOAT: f[0] = 102 #"f"
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ /* "adios_mpi.pyx":1331
+ * set_group_size(fd, groupsize)
+ *
+ * for var in self.var.values(): # <<<<<<<<<<<<<<
+ * var.write(fd)
+ *
*/
- __pyx_t_4 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 103;
- goto __pyx_L15;
- }
+ }
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
- * elif t == NPY_DOUBLE: f[0] = 100 #"d"
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ /* "adios_mpi.pyx":1334
+ * var.write(fd)
+ *
+ * close(fd) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
*/
- __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 90;
- (__pyx_v_f[1]) = 102;
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L15;
- }
+ __pyx_f_9adios_mpi_close(__pyx_v_fd, 0);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
- * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ /* "adios_mpi.pyx":1295
+ * raise KeyError(name)
+ *
+ * def close(self): # <<<<<<<<<<<<<<
+ * """
+ * Write variables and attributes to a file and close the writer.
*/
- __pyx_t_4 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 90;
- (__pyx_v_f[1]) = 100;
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L15;
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
- * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<
- * elif t == NPY_OBJECT: f[0] = 79 #"O"
- * else:
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_12);
+ __Pyx_XDECREF(__pyx_t_13);
+ __Pyx_XDECREF(__pyx_t_14);
+ __Pyx_AddTraceback("adios_mpi.writer.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_extra_var);
+ __Pyx_XDECREF(__pyx_v_extra_attr);
+ __Pyx_XDECREF(__pyx_v_key);
+ __Pyx_XDECREF(__pyx_v_val);
+ __Pyx_XDECREF(__pyx_v_n);
+ __Pyx_XDECREF(__pyx_v_groupsize);
+ __Pyx_XDECREF(__pyx_v_var);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1336
+ * close(fd)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
*/
- __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 90;
- (__pyx_v_f[1]) = 103;
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L15;
- }
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
- * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_6writer_17__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_6writer_17__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_6writer_16__repr__(((struct __pyx_obj_9adios_mpi_writer *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_6writer_16__repr__(struct __pyx_obj_9adios_mpi_writer *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios_mpi.pyx":1337
+ *
+ * def __repr__(self):
+ * return ("AdiosWriter (fname=%r, gname=%r, " # <<<<<<<<<<<<<<
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
+ * (self.fname,
*/
- __pyx_t_4 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__pyx_t_6) {
- (__pyx_v_f[0]) = 79;
- goto __pyx_L15;
- }
- /*else*/ {
+ __Pyx_XDECREF(__pyx_r);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
- * elif t == NPY_OBJECT: f[0] = 79 #"O"
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
- * f += 1
- * else:
+ /* "adios_mpi.pyx":1343
+ * self.method,
+ * self.method_params,
+ * self.var.keys(), # <<<<<<<<<<<<<<
+ * self.attr.keys())
+ *
*/
- __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_Raise(__pyx_t_3, 0, 0, 0);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- __pyx_L15:;
+ if (unlikely(__pyx_v_self->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __Pyx_PyDict_Keys(__pyx_v_self->var); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
- * else:
- * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- * f += 1 # <<<<<<<<<<<<<<
- * else:
- * # Cython ignores struct boundary information ("T{...}"),
+ /* "adios_mpi.pyx":1344
+ * self.method_params,
+ * self.var.keys(),
+ * self.attr.keys()) # <<<<<<<<<<<<<<
+ *
+ * cdef class attrinfo:
*/
- __pyx_v_f = (__pyx_v_f + 1);
- goto __pyx_L13;
- }
- /*else*/ {
+ if (unlikely(__pyx_v_self->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "keys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_2 = __Pyx_PyDict_Keys(__pyx_v_self->attr); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
- * # Cython ignores struct boundary information ("T{...}"),
- * # so don't output it
- * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<
- * return f
+ /* "adios_mpi.pyx":1339
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
+ * (self.fname, # <<<<<<<<<<<<<<
+ * self.gname,
+ * self.method,
+ */
+ __pyx_t_3 = PyTuple_New(6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_self->fname);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self->fname);
+ __Pyx_GIVEREF(__pyx_v_self->fname);
+ __Pyx_INCREF(__pyx_v_self->gname);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->gname);
+ __Pyx_GIVEREF(__pyx_v_self->gname);
+ __Pyx_INCREF(__pyx_v_self->method);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self->method);
+ __Pyx_GIVEREF(__pyx_v_self->method);
+ __Pyx_INCREF(__pyx_v_self->method_params);
+ PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_self->method_params);
+ __Pyx_GIVEREF(__pyx_v_self->method_params);
+ PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_1 = 0;
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1338
+ * def __repr__(self):
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.fname,
+ * self.gname,
+ */
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_AdiosWriter_fname_r_gname_r_meth, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1336
+ * close(fd)
*
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosWriter (fname=%r, gname=%r, "
+ * "method=%r, method_params=%r, var=%r, attr=%r)") % \
*/
- __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_v_f = __pyx_t_9;
- }
- __pyx_L13:;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
- * cdef tuple fields
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.writer.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1353
+ *
+ * property name:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
*
- * for childname in descr.names: # <<<<<<<<<<<<<<
- * fields = descr.fields[childname]
- * child, new_offset = fields
*/
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
- * # so don't output it
- * f = _util_dtypestring(child, f, end, offset)
- * return f # <<<<<<<<<<<<<<
- *
- *
- */
- __pyx_r = __pyx_v_f;
- goto __pyx_L0;
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_4name_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_4name___get__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_4name___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1354
+ * property name:
+ * def __get__(self):
+ * return self.name # <<<<<<<<<<<<<<
+ *
+ * property is_static:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->name);
+ __pyx_r = __pyx_v_self->name;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1353
+ *
+ * property name:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.name
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1357
+ *
+ * property is_static:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_static
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_9is_static_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_9is_static_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_9is_static___get__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_9is_static___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1358
+ * property is_static:
+ * def __get__(self):
+ * return self.is_static # <<<<<<<<<<<<<<
+ *
+ * property dtype:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_static); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1357
+ *
+ * property is_static:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.is_static
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.attrinfo.is_static.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1361
+ *
+ * property dtype:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_5dtype_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_5dtype___get__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_5dtype___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1362
+ * property dtype:
+ * def __get__(self):
+ * return self.dtype # <<<<<<<<<<<<<<
+ *
+ * property value:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->dtype);
+ __pyx_r = __pyx_v_self->dtype;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1361
+ *
+ * property dtype:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.dtype
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1365
+ *
+ * property value:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_5value_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_5value___get__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_5value___get__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+
+ /* "adios_mpi.pyx":1366
+ * property value:
+ * def __get__(self):
+ * return self.value # <<<<<<<<<<<<<<
+ *
+ * def __set__(self, value):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->value);
+ __pyx_r = __pyx_v_self->value;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1365
+ *
+ * property value:
+ * def __get__(self): # <<<<<<<<<<<<<<
+ * return self.value
+ *
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1368
+ * return self.value
+ *
+ * def __set__(self, value): # <<<<<<<<<<<<<<
+ * self.value = value
+ *
+ */
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_8attrinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_8attrinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_5value_2__set__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_8attrinfo_5value_2__set__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+
+ /* "adios_mpi.pyx":1369
+ *
+ * def __set__(self, value):
+ * self.value = value # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, char * name,
+ */
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = __pyx_v_value;
+
+ /* "adios_mpi.pyx":1368
+ * return self.value
+ *
+ * def __set__(self, value): # <<<<<<<<<<<<<<
+ * self.value = value
+ *
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1371
+ * self.value = value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * value = None,
+ * dtype = None,
+ */
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_8attrinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_9adios_mpi_8attrinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_name;
+ PyObject *__pyx_v_value = 0;
+ PyObject *__pyx_v_dtype = 0;
+ int __pyx_v_is_static;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_value,&__pyx_n_s_dtype,&__pyx_n_s_is_static,0};
+ PyObject* values[4] = {0,0,0,0};
+
+ /* "adios_mpi.pyx":1372
+ *
+ * def __init__(self, char * name,
+ * value = None, # <<<<<<<<<<<<<<
+ * dtype = None,
+ * bint is_static = True):
+ */
+ values[1] = ((PyObject *)Py_None);
+
+ /* "adios_mpi.pyx":1373
+ * def __init__(self, char * name,
+ * value = None,
+ * dtype = None, # <<<<<<<<<<<<<<
+ * bint is_static = True):
+ * self.name = name
+ */
+ values[2] = ((PyObject *)Py_None);
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_static);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_value = values[1];
+ __pyx_v_dtype = values[2];
+ if (values[3]) {
+ __pyx_v_is_static = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_is_static == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ } else {
+
+ /* "adios_mpi.pyx":1374
+ * value = None,
+ * dtype = None,
+ * bint is_static = True): # <<<<<<<<<<<<<<
+ * self.name = name
+ * self.value = value
+ */
+ __pyx_v_is_static = ((int)1);
+ }
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.attrinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo___init__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self), __pyx_v_name, __pyx_v_value, __pyx_v_dtype, __pyx_v_is_static);
+
+ /* "adios_mpi.pyx":1371
+ * self.value = value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * value = None,
+ * dtype = None,
+ */
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_8attrinfo___init__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_value, PyObject *__pyx_v_dtype, int __pyx_v_is_static) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "adios_mpi.pyx":1375
+ * dtype = None,
+ * bint is_static = True):
+ * self.name = name # <<<<<<<<<<<<<<
+ * self.value = value
+ * self.dtype = dtype
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1376
+ * bint is_static = True):
+ * self.name = name
+ * self.value = value # <<<<<<<<<<<<<<
+ * self.dtype = dtype
+ * self.is_static = is_static
+ */
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = __pyx_v_value;
+
+ /* "adios_mpi.pyx":1377
+ * self.name = name
+ * self.value = value
+ * self.dtype = dtype # <<<<<<<<<<<<<<
+ * self.is_static = is_static
+ *
+ */
+ __Pyx_INCREF(__pyx_v_dtype);
+ __Pyx_GIVEREF(__pyx_v_dtype);
+ __Pyx_GOTREF(__pyx_v_self->dtype);
+ __Pyx_DECREF(__pyx_v_self->dtype);
+ __pyx_v_self->dtype = __pyx_v_dtype;
+
+ /* "adios_mpi.pyx":1378
+ * self.value = value
+ * self.dtype = dtype
+ * self.is_static = is_static # <<<<<<<<<<<<<<
+ *
+ * def define(self, int64_t gid):
+ */
+ __pyx_v_self->is_static = __pyx_v_is_static;
+
+ /* "adios_mpi.pyx":1371
+ * self.value = value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * value = None,
+ * dtype = None,
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.attrinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1380
+ * self.is_static = is_static
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.is_static:
+ * if self.value is None:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid); /*proto*/
+static char __pyx_doc_9adios_mpi_8attrinfo_2define[] = "attrinfo.define(self, int64_t gid)";
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid) {
+ int64_t __pyx_v_gid;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define (wrapper)", 0);
+ assert(__pyx_arg_gid); {
+ __pyx_v_gid = __Pyx_PyInt_As_int64_t(__pyx_arg_gid); if (unlikely((__pyx_v_gid == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1380; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.attrinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_2define(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self), ((int64_t)__pyx_v_gid));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_2define(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self, int64_t __pyx_v_gid) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ char *__pyx_t_4;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define", 0);
+
+ /* "adios_mpi.pyx":1381
+ *
+ * def define(self, int64_t gid):
+ * if self.is_static: # <<<<<<<<<<<<<<
+ * if self.value is None:
+ * raise TypeError("Value is none")
+ */
+ __pyx_t_1 = (__pyx_v_self->is_static != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":1382
+ * def define(self, int64_t gid):
+ * if self.is_static:
+ * if self.value is None: # <<<<<<<<<<<<<<
+ * raise TypeError("Value is none")
+ *
+ */
+ __pyx_t_1 = (__pyx_v_self->value == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":1383
+ * if self.is_static:
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * define_attribute_byvalue(gid, self.name, "", self.value)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":1385
+ * raise TypeError("Value is none")
+ *
+ * define_attribute_byvalue(gid, self.name, "", self.value) # <<<<<<<<<<<<<<
+ * else:
+ * ##atype = np2adiostype(np.dtype(self.dtype))
+ */
+ __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_f_9adios_mpi_define_attribute_byvalue(__pyx_v_gid, __pyx_t_4, __pyx_k__7, __pyx_t_3, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "adios_mpi.pyx":1390
+ * ##define_attribute(gid, self.name, "",
+ * ## atype, "", str(self.value))
+ * raise NotImplementedError # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __Pyx_Raise(__pyx_builtin_NotImplementedError, 0, 0, 0);
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":1380
+ * self.is_static = is_static
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.is_static:
+ * if self.value is None:
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("adios_mpi.attrinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1392
+ * raise NotImplementedError
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name,
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_5__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_8attrinfo_5__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_8attrinfo_4__repr__(((struct __pyx_obj_9adios_mpi_attrinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_8attrinfo_4__repr__(struct __pyx_obj_9adios_mpi_attrinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios_mpi.pyx":1393
+ *
+ * def __repr__(self):
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name,
+ * self.is_static,
+ */
+ __Pyx_XDECREF(__pyx_r);
+
+ /* "adios_mpi.pyx":1395
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name,
+ * self.is_static, # <<<<<<<<<<<<<<
+ * self.value,
+ * self.dtype)
+ */
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_static); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+
+ /* "adios_mpi.pyx":1394
+ * def __repr__(self):
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name, # <<<<<<<<<<<<<<
+ * self.is_static,
+ * self.value,
+ */
+ __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __Pyx_INCREF(__pyx_v_self->dtype);
+ PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_self->dtype);
+ __Pyx_GIVEREF(__pyx_v_self->dtype);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1393
+ *
+ * def __repr__(self):
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name,
+ * self.is_static,
+ */
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_AdiosAttrinfo_name_r_is_static_r, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1392
+ * raise NotImplementedError
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ * (self.name,
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios_mpi.attrinfo.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1406
+ * cdef public value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
+ */
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ char *__pyx_v_name;
+ PyObject *__pyx_v_ldim = 0;
+ PyObject *__pyx_v_gdim = 0;
+ PyObject *__pyx_v_offset = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_ldim,&__pyx_n_s_gdim,&__pyx_n_s_offset,0};
+ PyObject* values[4] = {0,0,0,0};
+ values[1] = __pyx_k__27;
+ values[2] = __pyx_k__28;
+ values[3] = __pyx_k__29;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ldim);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gdim);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_ldim = values[1];
+ __pyx_v_gdim = values[2];
+ __pyx_v_offset = values[3];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.varinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return -1;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo___init__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), __pyx_v_name, __pyx_v_ldim, __pyx_v_gdim, __pyx_v_offset);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo___init__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, char *__pyx_v_name, PyObject *__pyx_v_ldim, PyObject *__pyx_v_gdim, PyObject *__pyx_v_offset) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "adios_mpi.pyx":1410
+ * gdim = tuple(),
+ * offset = tuple()):
+ * self.name = name # <<<<<<<<<<<<<<
+ * self.ldim = ldim
+ * self.gdim = gdim
+ */
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->name);
+ __Pyx_DECREF(__pyx_v_self->name);
+ __pyx_v_self->name = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1411
+ * offset = tuple()):
+ * self.name = name
+ * self.ldim = ldim # <<<<<<<<<<<<<<
+ * self.gdim = gdim
+ * self.offset = offset
+ */
+ __Pyx_INCREF(__pyx_v_ldim);
+ __Pyx_GIVEREF(__pyx_v_ldim);
+ __Pyx_GOTREF(__pyx_v_self->ldim);
+ __Pyx_DECREF(__pyx_v_self->ldim);
+ __pyx_v_self->ldim = __pyx_v_ldim;
+
+ /* "adios_mpi.pyx":1412
+ * self.name = name
+ * self.ldim = ldim
+ * self.gdim = gdim # <<<<<<<<<<<<<<
+ * self.offset = offset
+ *
+ */
+ __Pyx_INCREF(__pyx_v_gdim);
+ __Pyx_GIVEREF(__pyx_v_gdim);
+ __Pyx_GOTREF(__pyx_v_self->gdim);
+ __Pyx_DECREF(__pyx_v_self->gdim);
+ __pyx_v_self->gdim = __pyx_v_gdim;
+
+ /* "adios_mpi.pyx":1413
+ * self.ldim = ldim
+ * self.gdim = gdim
+ * self.offset = offset # <<<<<<<<<<<<<<
+ *
+ * def define(self, int64_t gid):
+ */
+ __Pyx_INCREF(__pyx_v_offset);
+ __Pyx_GIVEREF(__pyx_v_offset);
+ __Pyx_GOTREF(__pyx_v_self->offset);
+ __Pyx_DECREF(__pyx_v_self->offset);
+ __pyx_v_self->offset = __pyx_v_offset;
+
+ /* "adios_mpi.pyx":1406
+ * cdef public value
+ *
+ * def __init__(self, char * name, # <<<<<<<<<<<<<<
+ * ldim = tuple(),
+ * gdim = tuple(),
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("adios_mpi.varinfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ __pyx_L0:;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1415
+ * self.offset = offset
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.value is None:
+ * raise TypeError("Value is none")
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid); /*proto*/
+static char __pyx_doc_9adios_mpi_7varinfo_2define[] = "varinfo.define(self, int64_t gid)";
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_3define(PyObject *__pyx_v_self, PyObject *__pyx_arg_gid) {
+ int64_t __pyx_v_gid;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("define (wrapper)", 0);
+ assert(__pyx_arg_gid); {
+ __pyx_v_gid = __Pyx_PyInt_As_int64_t(__pyx_arg_gid); if (unlikely((__pyx_v_gid == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.varinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_2define(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), ((int64_t)__pyx_v_gid));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_2define(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, int64_t __pyx_v_gid) {
+ PyObject *__pyx_v_ldim_ = NULL;
+ PyObject *__pyx_v_gdim_ = NULL;
+ PyObject *__pyx_v_offset_ = NULL;
+ PyObject *__pyx_v_val_ = NULL;
+ PyObject *__pyx_v_atype = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ char *__pyx_t_8;
+ int __pyx_t_9;
+ char *__pyx_t_10;
+ char *__pyx_t_11;
+ char *__pyx_t_12;
+ struct __pyx_opt_args_9adios_mpi_define_var __pyx_t_13;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("define", 0);
+
+ /* "adios_mpi.pyx":1416
+ *
+ * def define(self, int64_t gid):
+ * if self.value is None: # <<<<<<<<<<<<<<
+ * raise TypeError("Value is none")
+ *
+ */
+ __pyx_t_1 = (__pyx_v_self->value == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":1417
+ * def define(self, int64_t gid):
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * ldim_ = self.ldim
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "adios_mpi.pyx":1419
+ * raise TypeError("Value is none")
+ *
+ * ldim_ = self.ldim # <<<<<<<<<<<<<<
+ * if isinstance(self.ldim, (tuple, list)):
+ * ldim_ = tuple(self.ldim)
+ */
+ __pyx_t_3 = __pyx_v_self->ldim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_ldim_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1420
+ *
+ * ldim_ = self.ldim
+ * if isinstance(self.ldim, (tuple, list)): # <<<<<<<<<<<<<<
+ * ldim_ = tuple(self.ldim)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->ldim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_1 = PyTuple_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = (__pyx_t_1 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_2 = __pyx_t_4;
+ goto __pyx_L5_bool_binop_done;
+ }
+ __pyx_t_3 = __pyx_v_self->ldim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_4 = PyList_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_1 = (__pyx_t_4 != 0);
+ __pyx_t_2 = __pyx_t_1;
+ __pyx_L5_bool_binop_done:;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":1421
+ * ldim_ = self.ldim
+ * if isinstance(self.ldim, (tuple, list)):
+ * ldim_ = tuple(self.ldim) # <<<<<<<<<<<<<<
+ *
+ * gdim_ = self.gdim
+ */
+ __pyx_t_3 = PySequence_Tuple(__pyx_v_self->ldim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_ldim_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "adios_mpi.pyx":1423
+ * ldim_ = tuple(self.ldim)
+ *
+ * gdim_ = self.gdim # <<<<<<<<<<<<<<
+ * if isinstance(self.gdim, (tuple, list)):
+ * gdim_ = tuple(self.gdim)
+ */
+ __pyx_t_3 = __pyx_v_self->gdim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_gdim_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1424
+ *
+ * gdim_ = self.gdim
+ * if isinstance(self.gdim, (tuple, list)): # <<<<<<<<<<<<<<
+ * gdim_ = tuple(self.gdim)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->gdim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_2 = PyTuple_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = (__pyx_t_2 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_1 = __pyx_t_4;
+ goto __pyx_L8_bool_binop_done;
+ }
+ __pyx_t_3 = __pyx_v_self->gdim;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_4 = PyList_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = (__pyx_t_4 != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L8_bool_binop_done:;
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":1425
+ * gdim_ = self.gdim
+ * if isinstance(self.gdim, (tuple, list)):
+ * gdim_ = tuple(self.gdim) # <<<<<<<<<<<<<<
+ *
+ * offset_ = self.offset
+ */
+ __pyx_t_3 = PySequence_Tuple(__pyx_v_self->gdim); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_gdim_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L7;
+ }
+ __pyx_L7:;
+
+ /* "adios_mpi.pyx":1427
+ * gdim_ = tuple(self.gdim)
+ *
+ * offset_ = self.offset # <<<<<<<<<<<<<<
+ * if isinstance(self.offset, (tuple, list)):
+ * offset_ = tuple(self.offset)
+ */
+ __pyx_t_3 = __pyx_v_self->offset;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_offset_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1428
+ *
+ * offset_ = self.offset
+ * if isinstance(self.offset, (tuple, list)): # <<<<<<<<<<<<<<
+ * offset_ = tuple(self.offset)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->offset;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_1 = PyTuple_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = (__pyx_t_1 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_2 = __pyx_t_4;
+ goto __pyx_L11_bool_binop_done;
+ }
+ __pyx_t_3 = __pyx_v_self->offset;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_4 = PyList_Check(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_1 = (__pyx_t_4 != 0);
+ __pyx_t_2 = __pyx_t_1;
+ __pyx_L11_bool_binop_done:;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "adios_mpi.pyx":1429
+ * offset_ = self.offset
+ * if isinstance(self.offset, (tuple, list)):
+ * offset_ = tuple(self.offset) # <<<<<<<<<<<<<<
+ *
+ * val_ = self.value
+ */
+ __pyx_t_3 = PySequence_Tuple(__pyx_v_self->offset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF_SET(__pyx_v_offset_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L10;
+ }
+ __pyx_L10:;
+
+ /* "adios_mpi.pyx":1431
+ * offset_ = tuple(self.offset)
+ *
+ * val_ = self.value # <<<<<<<<<<<<<<
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value)
+ */
+ __pyx_t_3 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_val_ = __pyx_t_3;
+ __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1432
+ *
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)): # <<<<<<<<<<<<<<
+ * val_ = np.array(self.value)
+ *
+ */
+ __pyx_t_3 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_TypeCheck(__pyx_t_3, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_2) {
+
+ /* "adios_mpi.pyx":1433
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value) # <<<<<<<<<<<<<<
+ *
+ * atype = np2adiostype(val_.dtype)
+ */
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ if (!__pyx_t_5) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self->value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ } else {
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = NULL;
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF_SET(__pyx_v_val_, __pyx_t_3);
+ __pyx_t_3 = 0;
+ goto __pyx_L13;
+ }
+ __pyx_L13:;
+
+ /* "adios_mpi.pyx":1435
+ * val_ = np.array(self.value)
+ *
+ * atype = np2adiostype(val_.dtype) # <<<<<<<<<<<<<<
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype,
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_val_, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __pyx_f_9adios_mpi_np2adiostype(((PyArray_Descr *)__pyx_t_3), 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_atype = __pyx_t_6;
+ __pyx_t_6 = 0;
+
+ /* "adios_mpi.pyx":1437
+ * atype = np2adiostype(val_.dtype)
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype, # <<<<<<<<<<<<<<
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ */
+ __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_atype); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":1438
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)'))
+ */
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_ldim_);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_ldim_);
+ __Pyx_GIVEREF(__pyx_v_ldim_);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_replace); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_3); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":1439
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ */
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_gdim_);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_gdim_);
+ __Pyx_GIVEREF(__pyx_v_gdim_);
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_replace); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":1440
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)')) # <<<<<<<<<<<<<<
+ *
+ * def bytes(self):
+ */
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_offset_);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_offset_);
+ __Pyx_GIVEREF(__pyx_v_offset_);
+ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_replace); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_12 = __Pyx_PyObject_AsString(__pyx_t_5); if (unlikely((!__pyx_t_12) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":1437
+ * atype = np2adiostype(val_.dtype)
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype, # <<<<<<<<<<<<<<
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ */
+ __pyx_t_13.__pyx_n = 3;
+ __pyx_t_13.dimensions = __pyx_t_10;
+ __pyx_t_13.global_dimensions = __pyx_t_11;
+ __pyx_t_13.local_offsets = __pyx_t_12;
+ __pyx_f_9adios_mpi_define_var(__pyx_v_gid, __pyx_t_8, __pyx_k__7, __pyx_t_9, 0, &__pyx_t_13);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "adios_mpi.pyx":1415
+ * self.offset = offset
+ *
+ * def define(self, int64_t gid): # <<<<<<<<<<<<<<
+ * if self.value is None:
+ * raise TypeError("Value is none")
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("adios_mpi.varinfo.define", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_ldim_);
+ __Pyx_XDECREF(__pyx_v_gdim_);
+ __Pyx_XDECREF(__pyx_v_offset_);
+ __Pyx_XDECREF(__pyx_v_val_);
+ __Pyx_XDECREF(__pyx_v_atype);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1442
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ * def bytes(self): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_5bytes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_9adios_mpi_7varinfo_4bytes[] = "varinfo.bytes(self)";
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_5bytes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("bytes (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4bytes(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_4bytes(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ PyObject *__pyx_v_val_ = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("bytes", 0);
+
+ /* "adios_mpi.pyx":1443
+ *
+ * def bytes(self):
+ * val_ = self.value # <<<<<<<<<<<<<<
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value)
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_v_val_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1444
+ * def bytes(self):
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)): # <<<<<<<<<<<<<<
+ * val_ = np.array(self.value)
+ *
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
+ if (__pyx_t_3) {
+
+ /* "adios_mpi.pyx":1445
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value) # <<<<<<<<<<<<<<
+ *
+ * return val_.size * val_.itemsize
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ if (!__pyx_t_4) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self->value); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ } else {
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_val_, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":1447
+ * val_ = np.array(self.value)
+ *
+ * return val_.size * val_.itemsize # <<<<<<<<<<<<<<
+ *
+ * def write(self, int64_t fd):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_val_, __pyx_n_s_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_val_, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_r = __pyx_t_6;
+ __pyx_t_6 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1442
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ * def bytes(self): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("adios_mpi.varinfo.bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_val_);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1449
+ * return val_.size * val_.itemsize
+ *
+ * def write(self, int64_t fd): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_7write(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
+static char __pyx_doc_9adios_mpi_7varinfo_6write[] = "varinfo.write(self, int64_t fd)";
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_7write(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd) {
+ int64_t __pyx_v_fd;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("write (wrapper)", 0);
+ assert(__pyx_arg_fd); {
+ __pyx_v_fd = __Pyx_PyInt_As_int64_t(__pyx_arg_fd); if (unlikely((__pyx_v_fd == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.varinfo.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_6write(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), ((int64_t)__pyx_v_fd));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_6write(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, int64_t __pyx_v_fd) {
+ PyObject *__pyx_v_val_ = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ char *__pyx_t_7;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("write", 0);
+
+ /* "adios_mpi.pyx":1450
+ *
+ * def write(self, int64_t fd):
+ * val_ = self.value # <<<<<<<<<<<<<<
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value)
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_v_val_ = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1451
+ * def write(self, int64_t fd):
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)): # <<<<<<<<<<<<<<
+ * val_ = np.array(self.value)
+ *
+ */
+ __pyx_t_1 = __pyx_v_self->value;
+ __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, ((PyObject*)__pyx_ptype_5numpy_ndarray));
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
+ if (__pyx_t_3) {
+
+ /* "adios_mpi.pyx":1452
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ * val_ = np.array(self.value) # <<<<<<<<<<<<<<
+ *
+ * write(fd, self.name, val_)
+ */
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ if (!__pyx_t_4) {
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self->value); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ } else {
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_val_, __pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "adios_mpi.pyx":1454
+ * val_ = np.array(self.value)
+ *
+ * write(fd, self.name, val_) # <<<<<<<<<<<<<<
+ *
+ * def __repr__(self):
+ */
+ __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_self->name); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_f_9adios_mpi_write(__pyx_v_fd, __pyx_t_7, __pyx_v_val_, 0, NULL);
+
+ /* "adios_mpi.pyx":1449
+ * return val_.size * val_.itemsize
+ *
+ * def write(self, int64_t fd): # <<<<<<<<<<<<<<
+ * val_ = self.value
+ * if not isinstance(self.value, (np.ndarray)):
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("adios_mpi.varinfo.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_val_);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1456
+ * write(fd, self.name, val_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_9__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_9__repr__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_8__repr__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_8__repr__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__repr__", 0);
+
+ /* "adios_mpi.pyx":1457
+ *
+ * def __repr__(self):
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ *
+ */
+ __Pyx_XDECREF(__pyx_r);
+
+ /* "adios_mpi.pyx":1458
+ * def __repr__(self):
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ * (self.name, self.ldim, self.gdim, self.offset, self.value) # <<<<<<<<<<<<<<
+ *
+ * ## ====================
+ */
+ __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_self->name);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name);
+ __Pyx_GIVEREF(__pyx_v_self->name);
+ __Pyx_INCREF(__pyx_v_self->ldim);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->ldim);
+ __Pyx_GIVEREF(__pyx_v_self->ldim);
+ __Pyx_INCREF(__pyx_v_self->gdim);
+ PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->gdim);
+ __Pyx_GIVEREF(__pyx_v_self->gdim);
+ __Pyx_INCREF(__pyx_v_self->offset);
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->offset);
+ __Pyx_GIVEREF(__pyx_v_self->offset);
+ __Pyx_INCREF(__pyx_v_self->value);
+ PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_self->value);
+ __Pyx_GIVEREF(__pyx_v_self->value);
+
+ /* "adios_mpi.pyx":1457
+ *
+ * def __repr__(self):
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \ # <<<<<<<<<<<<<<
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ *
+ */
+ __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_AdiosVarinfo_name_r_ldim_r_gdim, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1456
+ * write(fd, self.name, val_)
+ *
+ * def __repr__(self): # <<<<<<<<<<<<<<
+ * return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ * (self.name, self.ldim, self.gdim, self.offset, self.value)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("adios_mpi.varinfo.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1401
+ * cdef class varinfo:
+ * cdef bytes name
+ * cdef public ldim # <<<<<<<<<<<<<<
+ * cdef public gdim
+ * cdef public offset
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_4ldim_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_4ldim_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4ldim___get__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_4ldim___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->ldim);
+ __pyx_r = __pyx_v_self->ldim;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_4ldim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_4ldim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4ldim_2__set__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_4ldim_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->ldim);
+ __Pyx_DECREF(__pyx_v_self->ldim);
+ __pyx_v_self->ldim = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_4ldim_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_4ldim_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4ldim_4__del__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_4ldim_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->ldim);
+ __Pyx_DECREF(__pyx_v_self->ldim);
+ __pyx_v_self->ldim = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1402
+ * cdef bytes name
+ * cdef public ldim
+ * cdef public gdim # <<<<<<<<<<<<<<
+ * cdef public offset
+ * cdef public value
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_4gdim_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_4gdim_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4gdim___get__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_4gdim___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->gdim);
+ __pyx_r = __pyx_v_self->gdim;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_4gdim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_4gdim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4gdim_2__set__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_4gdim_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->gdim);
+ __Pyx_DECREF(__pyx_v_self->gdim);
+ __pyx_v_self->gdim = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_4gdim_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_4gdim_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_4gdim_4__del__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_4gdim_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->gdim);
+ __Pyx_DECREF(__pyx_v_self->gdim);
+ __pyx_v_self->gdim = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1403
+ * cdef public ldim
+ * cdef public gdim
+ * cdef public offset # <<<<<<<<<<<<<<
+ * cdef public value
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_6offset_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_6offset___get__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_6offset___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->offset);
+ __pyx_r = __pyx_v_self->offset;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_6offset_2__set__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_6offset_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->offset);
+ __Pyx_DECREF(__pyx_v_self->offset);
+ __pyx_v_self->offset = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_6offset_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_6offset_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_6offset_4__del__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_6offset_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->offset);
+ __Pyx_DECREF(__pyx_v_self->offset);
+ __pyx_v_self->offset = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1404
+ * cdef public gdim
+ * cdef public offset
+ * cdef public value # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, char * name,
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_9adios_mpi_7varinfo_5value_1__get__(PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_5value___get__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_7varinfo_5value___get__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__get__", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(__pyx_v_self->value);
+ __pyx_r = __pyx_v_self->value;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_5value_2__set__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_5value_2__set__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self, PyObject *__pyx_v_value) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__set__", 0);
+ __Pyx_INCREF(__pyx_v_value);
+ __Pyx_GIVEREF(__pyx_v_value);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = __pyx_v_value;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_9adios_mpi_7varinfo_5value_5__del__(PyObject *__pyx_v_self); /*proto*/
+static int __pyx_pw_9adios_mpi_7varinfo_5value_5__del__(PyObject *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_7varinfo_5value_4__del__(((struct __pyx_obj_9adios_mpi_varinfo *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_9adios_mpi_7varinfo_5value_4__del__(struct __pyx_obj_9adios_mpi_varinfo *__pyx_v_self) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__del__", 0);
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_self->value);
+ __Pyx_DECREF(__pyx_v_self->value);
+ __pyx_v_self->value = Py_None;
+
+ /* function exit code */
+ __pyx_r = 0;
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1464
+ * ## ====================
+ *
+ * def readvar(fname, varname): # <<<<<<<<<<<<<<
+ * """ Retrieve a variable value from an Adios file.
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_49readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9adios_mpi_48readvar[] = "readvar(fname, varname)\n Retrieve a variable value from an Adios file.\n\n Args:\n fname (str): Adios file name\n varname (str): Variable name to retrieve\n\n Returns:\n NumPy ndarray: variable value\n ";
+static PyMethodDef __pyx_mdef_9adios_mpi_49readvar = {"readvar", (PyCFunction)__pyx_pw_9adios_mpi_49readvar, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_48readvar};
+static PyObject *__pyx_pw_9adios_mpi_49readvar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_fname = 0;
+ PyObject *__pyx_v_varname = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("readvar (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_varname,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ case 1:
+ if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_varname)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readvar") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ }
+ __pyx_v_fname = values[0];
+ __pyx_v_varname = values[1];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("readvar", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("adios_mpi.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_9adios_mpi_48readvar(__pyx_self, __pyx_v_fname, __pyx_v_varname);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_48readvar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_varname) {
+ struct __pyx_obj_9adios_mpi_file *__pyx_v_f = NULL;
+ PyObject *__pyx_v_v = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_t_5;
+ int __pyx_t_6;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("readvar", 0);
+
+ /* "adios_mpi.pyx":1474
+ * NumPy ndarray: variable value
+ * """
+ * f = file(fname, comm=MPI.COMM_SELF) # <<<<<<<<<<<<<<
+ * if not f.var.has_key(varname):
+ * print "No valid variable"
+ */
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_fname);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
+ __Pyx_GIVEREF(__pyx_v_fname);
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_f = ((struct __pyx_obj_9adios_mpi_file *)__pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "adios_mpi.pyx":1475
+ * """
+ * f = file(fname, comm=MPI.COMM_SELF)
+ * if not f.var.has_key(varname): # <<<<<<<<<<<<<<
+ * print "No valid variable"
+ * return
+ */
+ if (unlikely(__pyx_v_f->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "has_key");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_5 = PyDict_Contains(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
+ if (__pyx_t_6) {
+
+ /* "adios_mpi.pyx":1476
+ * f = file(fname, comm=MPI.COMM_SELF)
+ * if not f.var.has_key(varname):
+ * print "No valid variable" # <<<<<<<<<<<<<<
+ * return
+ *
+ */
+ if (__Pyx_PrintOne(0, __pyx_kp_s_No_valid_variable) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":1477
+ * if not f.var.has_key(varname):
+ * print "No valid variable"
+ * return # <<<<<<<<<<<<<<
+ *
+ * v = f.var[varname]
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ }
+
+ /* "adios_mpi.pyx":1479
+ * return
+ *
+ * v = f.var[varname] # <<<<<<<<<<<<<<
+ * return v.read(from_steps=0, nsteps=v.nsteps)
+ *
+ */
+ if (unlikely(__pyx_v_f->var == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_f->var, __pyx_v_varname); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_v_v = __pyx_t_4;
+ __pyx_t_4 = 0;
+
+ /* "adios_mpi.pyx":1480
+ *
+ * v = f.var[varname]
+ * return v.read(from_steps=0, nsteps=v.nsteps) # <<<<<<<<<<<<<<
+ *
+ * def bpls(fname):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_read); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from_steps, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_nsteps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nsteps, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1464
+ * ## ====================
+ *
+ * def readvar(fname, varname): # <<<<<<<<<<<<<<
+ * """ Retrieve a variable value from an Adios file.
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.readvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_f);
+ __Pyx_XDECREF(__pyx_v_v);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "adios_mpi.pyx":1482
+ * return v.read(from_steps=0, nsteps=v.nsteps)
+ *
+ * def bpls(fname): # <<<<<<<<<<<<<<
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9adios_mpi_51bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname); /*proto*/
+static char __pyx_doc_9adios_mpi_50bpls[] = "bpls(fname)\n Return meta data of an Adios file as a Python dictionary object.\n\n Args:\n fname (str): Adios file name\n\n Returns:\n dict: Adios file meta data\n ";
+static PyMethodDef __pyx_mdef_9adios_mpi_51bpls = {"bpls", (PyCFunction)__pyx_pw_9adios_mpi_51bpls, METH_O, __pyx_doc_9adios_mpi_50bpls};
+static PyObject *__pyx_pw_9adios_mpi_51bpls(PyObject *__pyx_self, PyObject *__pyx_v_fname) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("bpls (wrapper)", 0);
+ __pyx_r = __pyx_pf_9adios_mpi_50bpls(__pyx_self, ((PyObject *)__pyx_v_fname));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9adios_mpi_50bpls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname) {
+ struct __pyx_obj_9adios_mpi_file *__pyx_v_f = NULL;
+ PyObject *__pyx_v_k = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ Py_ssize_t __pyx_t_5;
+ Py_ssize_t __pyx_t_6;
+ int __pyx_t_7;
+ int __pyx_t_8;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("bpls", 0);
+
+ /* "adios_mpi.pyx":1491
+ * dict: Adios file meta data
+ * """
+ * f = file(fname, comm=MPI.COMM_SELF) # <<<<<<<<<<<<<<
+ * return {'nvars': f.nvars,
+ * 'nattrs': f.nattrs,
+ */
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_INCREF(__pyx_v_fname);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname);
+ __Pyx_GIVEREF(__pyx_v_fname);
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_comm, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9adios_mpi_file)), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_f = ((struct __pyx_obj_9adios_mpi_file *)__pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "adios_mpi.pyx":1492
+ * """
+ * f = file(fname, comm=MPI.COMM_SELF)
+ * return {'nvars': f.nvars, # <<<<<<<<<<<<<<
+ * 'nattrs': f.nattrs,
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nvars); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_nvars, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1493
+ * f = file(fname, comm=MPI.COMM_SELF)
+ * return {'nvars': f.nvars,
+ * 'nattrs': f.nattrs, # <<<<<<<<<<<<<<
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->nattrs); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_nattrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1494
+ * return {'nvars': f.nvars,
+ * 'nattrs': f.nattrs,
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]), # <<<<<<<<<<<<<<
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ * 'time_steps': (f.current_step, f.last_step),
+ */
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_5 = 0;
+ if (unlikely(__pyx_v_f->var == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_f->var, 1, __pyx_n_s_iterkeys, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_1);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
+ while (1) {
+ __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_3, NULL, NULL, __pyx_t_7);
+ if (unlikely(__pyx_t_8 == 0)) break;
+ if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3);
+ __pyx_t_3 = 0;
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_vars, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "adios_mpi.pyx":1495
+ * 'nattrs': f.nattrs,
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]), # <<<<<<<<<<<<<<
+ * 'time_steps': (f.current_step, f.last_step),
+ * 'file_size': f.file_size}
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = 0;
+ if (unlikely(__pyx_v_f->attr == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iterkeys");
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_f->attr, 1, __pyx_n_s_iterkeys, (&__pyx_t_5), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_2);
+ __pyx_t_2 = __pyx_t_3;
+ __pyx_t_3 = 0;
+ while (1) {
+ __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_5, &__pyx_t_6, &__pyx_t_3, NULL, NULL, __pyx_t_7);
+ if (unlikely(__pyx_t_8 == 0)) break;
+ if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3);
+ __pyx_t_3 = 0;
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_k))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_attrs, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1496
+ * 'vars': tuple([ k for k in f.var.iterkeys() ]),
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ * 'time_steps': (f.current_step, f.last_step), # <<<<<<<<<<<<<<
+ * 'file_size': f.file_size}
+ */
+ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_f->current_step); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_f->last_step); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_2 = 0;
+ __pyx_t_1 = 0;
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_time_steps, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "adios_mpi.pyx":1497
+ * 'attrs': tuple([ k for k in f.attr.iterkeys() ]),
+ * 'time_steps': (f.current_step, f.last_step),
+ * 'file_size': f.file_size} # <<<<<<<<<<<<<<
+ */
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_f->file_size); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_file_size, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_4;
+ __pyx_t_4 = 0;
+ goto __pyx_L0;
+
+ /* "adios_mpi.pyx":1482
+ * return v.read(from_steps=0, nsteps=v.nsteps)
+ *
+ * def bpls(fname): # <<<<<<<<<<<<<<
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("adios_mpi.bpls", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_f);
+ __Pyx_XDECREF(__pyx_v_k);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+ * # experimental exception made for __getbuffer__ and __releasebuffer__
+ * # -- the details of this may change.
+ * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
+ * # This implementation of getbuffer is geared towards Cython
+ * # requirements, and does not yet fullfill the PEP.
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+ int __pyx_v_copy_shape;
+ int __pyx_v_i;
+ int __pyx_v_ndim;
+ int __pyx_v_endian_detector;
+ int __pyx_v_little_endian;
+ int __pyx_v_t;
+ char *__pyx_v_f;
+ PyArray_Descr *__pyx_v_descr = 0;
+ int __pyx_v_offset;
+ int __pyx_v_hasfields;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_t_4;
+ int __pyx_t_5;
+ PyObject *__pyx_t_6 = NULL;
+ char *__pyx_t_7;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__getbuffer__", 0);
+ if (__pyx_v_info != NULL) {
+ __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(__pyx_v_info->obj);
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203
+ * # of flags
+ *
+ * if info == NULL: return # <<<<<<<<<<<<<<
+ *
+ * cdef int copy_shape, i, ndim
+ */
+ __pyx_t_1 = ((__pyx_v_info == NULL) != 0);
+ if (__pyx_t_1) {
+ __pyx_r = 0;
+ goto __pyx_L0;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206
+ *
+ * cdef int copy_shape, i, ndim
+ * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *
+ */
+ __pyx_v_endian_detector = 1;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":207
+ * cdef int copy_shape, i, ndim
+ * cdef int endian_detector = 1
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
+ *
+ * ndim = PyArray_NDIM(self)
+ */
+ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *
+ * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<
+ *
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211
+ * ndim = PyArray_NDIM(self)
+ *
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
+ * copy_shape = 1
+ * else:
+ */
+ __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":212
+ *
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * copy_shape = 1 # <<<<<<<<<<<<<<
+ * else:
+ * copy_shape = 0
+ */
+ __pyx_v_copy_shape = 1;
+ goto __pyx_L4;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214
+ * copy_shape = 1
+ * else:
+ * copy_shape = 0 # <<<<<<<<<<<<<<
+ *
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ */
+ __pyx_v_copy_shape = 0;
+ }
+ __pyx_L4:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":216
+ * copy_shape = 0
+ *
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
+ * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not C contiguous")
+ */
+ __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L6_bool_binop_done;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217
+ *
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"ndarray is not C contiguous")
+ *
+ */
+ __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L6_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
+ * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
+ *
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":220
+ * raise ValueError(u"ndarray is not C contiguous")
+ *
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
+ * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+ __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L9_bool_binop_done;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221
+ *
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"ndarray is not Fortran contiguous")
+ *
+ */
+ __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L9_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+ * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
+ *
+ * info.buf = PyArray_DATA(self)
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":224
+ * raise ValueError(u"ndarray is not Fortran contiguous")
+ *
+ * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<
+ * info.ndim = ndim
+ * if copy_shape:
+ */
+ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
+ *
+ * info.buf = PyArray_DATA(self)
+ * info.ndim = ndim # <<<<<<<<<<<<<<
+ * if copy_shape:
+ * # Allocate new buffer for strides and shape info.
+ */
+ __pyx_v_info->ndim = __pyx_v_ndim;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226
+ * info.buf = PyArray_DATA(self)
+ * info.ndim = ndim
+ * if copy_shape: # <<<<<<<<<<<<<<
+ * # Allocate new buffer for strides and shape info.
+ * # This is allocated as one block, strides first.
+ */
+ __pyx_t_1 = (__pyx_v_copy_shape != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
+ * # Allocate new buffer for strides and shape info.
+ * # This is allocated as one block, strides first.
+ * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2) # <<<<<<<<<<<<<<
+ * info.shape = info.strides + ndim
+ * for i in range(ndim):
+ */
+ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230
+ * # This is allocated as one block, strides first.
+ * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
+ * info.shape = info.strides + ndim # <<<<<<<<<<<<<<
+ * for i in range(ndim):
+ * info.strides[i] = PyArray_STRIDES(self)[i]
+ */
+ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+ * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
+ * info.shape = info.strides + ndim
+ * for i in range(ndim): # <<<<<<<<<<<<<<
+ * info.strides[i] = PyArray_STRIDES(self)[i]
+ * info.shape[i] = PyArray_DIMS(self)[i]
+ */
+ __pyx_t_4 = __pyx_v_ndim;
+ for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
+ __pyx_v_i = __pyx_t_5;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
+ * info.shape = info.strides + ndim
+ * for i in range(ndim):
+ * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<
+ * info.shape[i] = PyArray_DIMS(self)[i]
+ * else:
+ */
+ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
+ * for i in range(ndim):
+ * info.strides[i] = PyArray_STRIDES(self)[i]
+ * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<
+ * else:
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ */
+ (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
+ }
+ goto __pyx_L11;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
+ * info.shape[i] = PyArray_DIMS(self)[i]
+ * else:
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ * info.suboffsets = NULL
+ */
+ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
+ * else:
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<
+ * info.suboffsets = NULL
+ * info.itemsize = PyArray_ITEMSIZE(self)
+ */
+ __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
+ }
+ __pyx_L11:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
+ * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ * info.suboffsets = NULL # <<<<<<<<<<<<<<
+ * info.itemsize = PyArray_ITEMSIZE(self)
+ * info.readonly = not PyArray_ISWRITEABLE(self)
+ */
+ __pyx_v_info->suboffsets = NULL;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":238
+ * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ * info.suboffsets = NULL
+ * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<
+ * info.readonly = not PyArray_ISWRITEABLE(self)
+ *
+ */
+ __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239
+ * info.suboffsets = NULL
+ * info.itemsize = PyArray_ITEMSIZE(self)
+ * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<
+ *
+ * cdef int t
+ */
+ __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
+ *
+ * cdef int t
+ * cdef char* f = NULL # <<<<<<<<<<<<<<
+ * cdef dtype descr = self.descr
+ * cdef list stack
+ */
+ __pyx_v_f = NULL;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
+ * cdef int t
+ * cdef char* f = NULL
+ * cdef dtype descr = self.descr # <<<<<<<<<<<<<<
+ * cdef list stack
+ * cdef int offset
+ */
+ __pyx_t_3 = ((PyObject *)__pyx_v_self->descr);
+ __Pyx_INCREF(__pyx_t_3);
+ __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":247
+ * cdef int offset
+ *
+ * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<<
+ *
+ * if not hasfields and not copy_shape:
+ */
+ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":249
+ * cdef bint hasfields = PyDataType_HASFIELDS(descr)
+ *
+ * if not hasfields and not copy_shape: # <<<<<<<<<<<<<<
+ * # do not call releasebuffer
+ * info.obj = None
+ */
+ __pyx_t_2 = ((!(__pyx_v_hasfields != 0)) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L15_bool_binop_done;
+ }
+ __pyx_t_2 = ((!(__pyx_v_copy_shape != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L15_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":251
+ * if not hasfields and not copy_shape:
+ * # do not call releasebuffer
+ * info.obj = None # <<<<<<<<<<<<<<
+ * else:
+ * # need to call releasebuffer
+ */
+ __Pyx_INCREF(Py_None);
+ __Pyx_GIVEREF(Py_None);
+ __Pyx_GOTREF(__pyx_v_info->obj);
+ __Pyx_DECREF(__pyx_v_info->obj);
+ __pyx_v_info->obj = Py_None;
+ goto __pyx_L14;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":254
+ * else:
+ * # need to call releasebuffer
+ * info.obj = self # <<<<<<<<<<<<<<
+ *
+ * if not hasfields:
+ */
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+ __Pyx_GOTREF(__pyx_v_info->obj);
+ __Pyx_DECREF(__pyx_v_info->obj);
+ __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
+ }
+ __pyx_L14:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256
+ * info.obj = self
+ *
+ * if not hasfields: # <<<<<<<<<<<<<<
+ * t = descr.type_num
+ * if ((descr.byteorder == c'>' and little_endian) or
+ */
+ __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+ *
+ * if not hasfields:
+ * t = descr.type_num # <<<<<<<<<<<<<<
+ * if ((descr.byteorder == c'>' and little_endian) or
+ * (descr.byteorder == c'<' and not little_endian)):
+ */
+ __pyx_t_4 = __pyx_v_descr->type_num;
+ __pyx_v_t = __pyx_t_4;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
+ * if not hasfields:
+ * t = descr.type_num
+ * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
+ * (descr.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported")
+ */
+ __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
+ if (!__pyx_t_2) {
+ goto __pyx_L20_next_or;
+ } else {
+ }
+ __pyx_t_2 = (__pyx_v_little_endian != 0);
+ if (!__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L19_bool_binop_done;
+ }
+ __pyx_L20_next_or:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+ * t = descr.type_num
+ * if ((descr.byteorder == c'>' and little_endian) or
+ * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"Non-native byte order not supported")
+ * if t == NPY_BYTE: f = "b"
+ */
+ __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L19_bool_binop_done;
+ }
+ __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L19_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
+ * if ((descr.byteorder == c'>' and little_endian) or
+ * (descr.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
+ * if t == NPY_BYTE: f = "b"
+ * elif t == NPY_UBYTE: f = "B"
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+ switch (__pyx_v_t) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+ * (descr.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported")
+ * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<
+ * elif t == NPY_UBYTE: f = "B"
+ * elif t == NPY_SHORT: f = "h"
+ */
+ case NPY_BYTE:
+ __pyx_v_f = __pyx_k_b;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
+ * raise ValueError(u"Non-native byte order not supported")
+ * if t == NPY_BYTE: f = "b"
+ * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<
+ * elif t == NPY_SHORT: f = "h"
+ * elif t == NPY_USHORT: f = "H"
+ */
+ case NPY_UBYTE:
+ __pyx_v_f = __pyx_k_B;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
+ * if t == NPY_BYTE: f = "b"
+ * elif t == NPY_UBYTE: f = "B"
+ * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<
+ * elif t == NPY_USHORT: f = "H"
+ * elif t == NPY_INT: f = "i"
+ */
+ case NPY_SHORT:
+ __pyx_v_f = __pyx_k_h;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
+ * elif t == NPY_UBYTE: f = "B"
+ * elif t == NPY_SHORT: f = "h"
+ * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<
+ * elif t == NPY_INT: f = "i"
+ * elif t == NPY_UINT: f = "I"
+ */
+ case NPY_USHORT:
+ __pyx_v_f = __pyx_k_H;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
+ * elif t == NPY_SHORT: f = "h"
+ * elif t == NPY_USHORT: f = "H"
+ * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<
+ * elif t == NPY_UINT: f = "I"
+ * elif t == NPY_LONG: f = "l"
+ */
+ case NPY_INT:
+ __pyx_v_f = __pyx_k_i;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
+ * elif t == NPY_USHORT: f = "H"
+ * elif t == NPY_INT: f = "i"
+ * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONG: f = "l"
+ * elif t == NPY_ULONG: f = "L"
+ */
+ case NPY_UINT:
+ __pyx_v_f = __pyx_k_I;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
+ * elif t == NPY_INT: f = "i"
+ * elif t == NPY_UINT: f = "I"
+ * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONG: f = "L"
+ * elif t == NPY_LONGLONG: f = "q"
+ */
+ case NPY_LONG:
+ __pyx_v_f = __pyx_k_l;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
+ * elif t == NPY_UINT: f = "I"
+ * elif t == NPY_LONG: f = "l"
+ * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGLONG: f = "q"
+ * elif t == NPY_ULONGLONG: f = "Q"
+ */
+ case NPY_ULONG:
+ __pyx_v_f = __pyx_k_L;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
+ * elif t == NPY_LONG: f = "l"
+ * elif t == NPY_ULONG: f = "L"
+ * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONGLONG: f = "Q"
+ * elif t == NPY_FLOAT: f = "f"
+ */
+ case NPY_LONGLONG:
+ __pyx_v_f = __pyx_k_q;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
+ * elif t == NPY_ULONG: f = "L"
+ * elif t == NPY_LONGLONG: f = "q"
+ * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<
+ * elif t == NPY_FLOAT: f = "f"
+ * elif t == NPY_DOUBLE: f = "d"
+ */
+ case NPY_ULONGLONG:
+ __pyx_v_f = __pyx_k_Q;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
+ * elif t == NPY_LONGLONG: f = "q"
+ * elif t == NPY_ULONGLONG: f = "Q"
+ * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<
+ * elif t == NPY_DOUBLE: f = "d"
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ */
+ case NPY_FLOAT:
+ __pyx_v_f = __pyx_k_f;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
+ * elif t == NPY_ULONGLONG: f = "Q"
+ * elif t == NPY_FLOAT: f = "f"
+ * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ * elif t == NPY_CFLOAT: f = "Zf"
+ */
+ case NPY_DOUBLE:
+ __pyx_v_f = __pyx_k_d;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
+ * elif t == NPY_FLOAT: f = "f"
+ * elif t == NPY_DOUBLE: f = "d"
+ * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<
+ * elif t == NPY_CFLOAT: f = "Zf"
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ */
+ case NPY_LONGDOUBLE:
+ __pyx_v_f = __pyx_k_g;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
+ * elif t == NPY_DOUBLE: f = "d"
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ */
+ case NPY_CFLOAT:
+ __pyx_v_f = __pyx_k_Zf;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
+ * elif t == NPY_LONGDOUBLE: f = "g"
+ * elif t == NPY_CFLOAT: f = "Zf"
+ * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ * elif t == NPY_OBJECT: f = "O"
+ */
+ case NPY_CDOUBLE:
+ __pyx_v_f = __pyx_k_Zd;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
+ * elif t == NPY_CFLOAT: f = "Zf"
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<
+ * elif t == NPY_OBJECT: f = "O"
+ * else:
+ */
+ case NPY_CLONGDOUBLE:
+ __pyx_v_f = __pyx_k_Zg;
+ break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
+ * elif t == NPY_CDOUBLE: f = "Zd"
+ * elif t == NPY_CLONGDOUBLE: f = "Zg"
+ * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+ case NPY_OBJECT:
+ __pyx_v_f = __pyx_k_O;
+ break;
+ default:
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
+ * elif t == NPY_OBJECT: f = "O"
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
+ * info.format = f
+ * return
+ */
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6);
+ __Pyx_GIVEREF(__pyx_t_6);
+ __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_6, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ break;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ * info.format = f # <<<<<<<<<<<<<<
+ * return
+ * else:
+ */
+ __pyx_v_info->format = __pyx_v_f;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":281
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ * info.format = f
+ * return # <<<<<<<<<<<<<<
+ * else:
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
+ * return
+ * else:
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<
+ * info.format[0] = c'^' # Native data types, manual alignment
+ * offset = 0
+ */
+ __pyx_v_info->format = ((char *)malloc(255));
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
+ * else:
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<
+ * offset = 0
+ * f = _util_dtypestring(descr, info.format + 1,
+ */
+ (__pyx_v_info->format[0]) = '^';
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
+ * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ * info.format[0] = c'^' # Native data types, manual alignment
+ * offset = 0 # <<<<<<<<<<<<<<
+ * f = _util_dtypestring(descr, info.format + 1,
+ * info.format + _buffer_format_string_len,
+ */
+ __pyx_v_offset = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
+ * info.format[0] = c'^' # Native data types, manual alignment
+ * offset = 0
+ * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<
+ * info.format + _buffer_format_string_len,
+ * &offset)
+ */
+ __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_f = __pyx_t_7;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
+ * info.format + _buffer_format_string_len,
+ * &offset)
+ * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info):
+ */
+ (__pyx_v_f[0]) = '\x00';
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":197
+ * # experimental exception made for __getbuffer__ and __releasebuffer__
+ * # -- the details of this may change.
+ * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
+ * # This implementation of getbuffer is geared towards Cython
+ * # requirements, and does not yet fullfill the PEP.
+ */
+
+ /* function exit code */
+ __pyx_r = 0;
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = -1;
+ if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
+ __Pyx_GOTREF(__pyx_v_info->obj);
+ __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
+ }
+ goto __pyx_L2;
+ __pyx_L0:;
+ if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
+ __Pyx_GOTREF(Py_None);
+ __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
+ }
+ __pyx_L2:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+ * f[0] = c'\0' # Terminate format string
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format)
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
+ __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+}
+
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ __Pyx_RefNannySetupContext("__releasebuffer__", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info):
+ * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
+ * stdlib.free(info.format)
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+ __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
+ * def __releasebuffer__(ndarray self, Py_buffer* info):
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format) # <<<<<<<<<<<<<<
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * stdlib.free(info.strides)
+ */
+ free(__pyx_v_info->format);
+ goto __pyx_L3;
+ }
+ __pyx_L3:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format)
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
+ * stdlib.free(info.strides)
+ * # info.shape was stored after info.strides in the same block
+ */
+ __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":295
+ * stdlib.free(info.format)
+ * if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ * stdlib.free(info.strides) # <<<<<<<<<<<<<<
+ * # info.shape was stored after info.strides in the same block
+ *
+ */
+ free(__pyx_v_info->strides);
+ goto __pyx_L4;
+ }
+ __pyx_L4:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
+ * f[0] = c'\0' # Terminate format string
+ *
+ * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
+ * if PyArray_HASFIELDS(self):
+ * stdlib.free(info.format)
+ */
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+ * ctypedef npy_cdouble complex_t
+ *
+ * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":772
+ *
+ * cdef inline object PyArray_MultiIterNew1(a):
+ * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+ * ctypedef npy_cdouble complex_t
+ *
+ * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":775
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774
+ * return PyArray_MultiIterNew(1, <void*>a)
+ *
+ * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
+ * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ *
+ * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":781
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780
+ * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ *
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":784
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
+ *
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
+ * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ *
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":786
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
+ * # Recursive utility function used in __getbuffer__ to get format
+ * # string. The new location in the format string is returned.
+ */
+
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
+ PyArray_Descr *__pyx_v_child = 0;
+ int __pyx_v_endian_detector;
+ int __pyx_v_little_endian;
+ PyObject *__pyx_v_fields = 0;
+ PyObject *__pyx_v_childname = NULL;
+ PyObject *__pyx_v_new_offset = NULL;
+ PyObject *__pyx_v_t = NULL;
+ char *__pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ Py_ssize_t __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_t_5;
+ int __pyx_t_6;
+ int __pyx_t_7;
+ long __pyx_t_8;
+ char *__pyx_t_9;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":793
+ * cdef int delta_offset
+ * cdef tuple i
+ * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * cdef tuple fields
+ */
+ __pyx_v_endian_detector = 1;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+ * cdef tuple i
+ * cdef int endian_detector = 1
+ * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
+ * cdef tuple fields
+ *
+ */
+ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":797
+ * cdef tuple fields
+ *
+ * for childname in descr.names: # <<<<<<<<<<<<<<
+ * fields = descr.fields[childname]
+ * child, new_offset = fields
+ */
+ if (unlikely(__pyx_v_descr->names == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ for (;;) {
+ if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":798
+ *
+ * for childname in descr.names:
+ * fields = descr.fields[childname] # <<<<<<<<<<<<<<
+ * child, new_offset = fields
+ *
+ */
+ if (unlikely(__pyx_v_descr->fields == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __Pyx_GOTREF(__pyx_t_3);
+ if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
+ __pyx_t_3 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+ * for childname in descr.names:
+ * fields = descr.fields[childname]
+ * child, new_offset = fields # <<<<<<<<<<<<<<
+ *
+ * if (end - f) - <int>(new_offset - offset[0]) < 15:
+ */
+ if (likely(__pyx_v_fields != Py_None)) {
+ PyObject* sequence = __pyx_v_fields;
+ #if CYTHON_COMPILING_IN_CPYTHON
+ Py_ssize_t size = Py_SIZE(sequence);
+ #else
+ Py_ssize_t size = PySequence_Size(sequence);
+ #endif
+ if (unlikely(size != 2)) {
+ if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+ else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ #if CYTHON_COMPILING_IN_CPYTHON
+ __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
+ __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ #else
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ #endif
+ } else {
+ __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
+ __pyx_t_3 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+ * child, new_offset = fields
+ *
+ * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
+ * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ *
+ */
+ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+ *
+ * if (end - f) - <int>(new_offset - offset[0]) < 15:
+ * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
+ *
+ * if ((child.byteorder == c'>' and little_endian) or
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":804
+ * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ *
+ * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
+ * (child.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported")
+ */
+ __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
+ if (!__pyx_t_7) {
+ goto __pyx_L8_next_or;
+ } else {
+ }
+ __pyx_t_7 = (__pyx_v_little_endian != 0);
+ if (!__pyx_t_7) {
+ } else {
+ __pyx_t_6 = __pyx_t_7;
+ goto __pyx_L7_bool_binop_done;
+ }
+ __pyx_L8_next_or:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":805
+ *
+ * if ((child.byteorder == c'>' and little_endian) or
+ * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
+ * raise ValueError(u"Non-native byte order not supported")
+ * # One could encode it in the format string and have Cython
+ */
+ __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
+ if (__pyx_t_7) {
+ } else {
+ __pyx_t_6 = __pyx_t_7;
+ goto __pyx_L7_bool_binop_done;
+ }
+ __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
+ __pyx_t_6 = __pyx_t_7;
+ __pyx_L7_bool_binop_done:;
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
+ * if ((child.byteorder == c'>' and little_endian) or
+ * (child.byteorder == c'<' and not little_endian)):
+ * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
+ * # One could encode it in the format string and have Cython
+ * # complain instead, BUT: < and > in format strings also imply
+ */
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
+ *
+ * # Output padding bytes
+ * while offset[0] < new_offset: # <<<<<<<<<<<<<<
+ * f[0] = 120 # "x"; pad byte
+ * f += 1
+ */
+ while (1) {
+ __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (!__pyx_t_6) break;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":817
+ * # Output padding bytes
+ * while offset[0] < new_offset:
+ * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<
+ * f += 1
+ * offset[0] += 1
+ */
+ (__pyx_v_f[0]) = 120;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818
+ * while offset[0] < new_offset:
+ * f[0] = 120 # "x"; pad byte
+ * f += 1 # <<<<<<<<<<<<<<
+ * offset[0] += 1
+ *
+ */
+ __pyx_v_f = (__pyx_v_f + 1);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":819
+ * f[0] = 120 # "x"; pad byte
+ * f += 1
+ * offset[0] += 1 # <<<<<<<<<<<<<<
+ *
+ * offset[0] += child.itemsize
+ */
+ __pyx_t_8 = 0;
+ (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
+ * offset[0] += 1
+ *
+ * offset[0] += child.itemsize # <<<<<<<<<<<<<<
+ *
+ * if not PyDataType_HASFIELDS(child):
+ */
+ __pyx_t_8 = 0;
+ (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+ * offset[0] += child.itemsize
+ *
+ * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
+ * t = child.type_num
+ * if end - f < 5:
+ */
+ __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
+ *
+ * if not PyDataType_HASFIELDS(child):
+ * t = child.type_num # <<<<<<<<<<<<<<
+ * if end - f < 5:
+ * raise RuntimeError(u"Format string allocated too short.")
+ */
+ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":825
+ * if not PyDataType_HASFIELDS(child):
+ * t = child.type_num
+ * if end - f < 5: # <<<<<<<<<<<<<<
+ * raise RuntimeError(u"Format string allocated too short.")
+ *
+ */
+ __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
+ if (__pyx_t_6) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
+ * t = child.type_num
+ * if end - f < 5:
+ * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
+ *
+ * # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
+ *
+ * # Until ticket #99 is fixed, use integers to avoid warnings
+ * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<
+ * elif t == NPY_UBYTE: f[0] = 66 #"B"
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 98;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
+ * # Until ticket #99 is fixed, use integers to avoid warnings
+ * if t == NPY_BYTE: f[0] = 98 #"b"
+ * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 66;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
+ * if t == NPY_BYTE: f[0] = 98 #"b"
+ * elif t == NPY_UBYTE: f[0] = 66 #"B"
+ * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 104;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
+ * elif t == NPY_UBYTE: f[0] = 66 #"B"
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 72;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
+ * elif t == NPY_SHORT: f[0] = 104 #"h"
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 105;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
+ * elif t == NPY_USHORT: f[0] = 72 #"H"
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 73;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":835
+ * elif t == NPY_INT: f[0] = 105 #"i"
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 108;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
+ * elif t == NPY_UINT: f[0] = 73 #"I"
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 76;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
+ * elif t == NPY_LONG: f[0] = 108 #"l"
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 113;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
+ * elif t == NPY_ULONG: f[0] = 76 #"L"
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 81;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
+ * elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 102;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
+ * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 100;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
+ * elif t == NPY_FLOAT: f[0] = 102 #"f"
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 103;
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
+ * elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 90;
+ (__pyx_v_f[1]) = 102;
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":843
+ * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 90;
+ (__pyx_v_f[1]) = 100;
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
+ * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<
+ * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ * else:
+ */
+ __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 90;
+ (__pyx_v_f[1]) = 103;
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L15;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
+ * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+ __pyx_t_4 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__pyx_t_6) {
+ (__pyx_v_f[0]) = 79;
+ goto __pyx_L15;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":847
+ * elif t == NPY_OBJECT: f[0] = 79 #"O"
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
+ * f += 1
+ * else:
+ */
+ __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
+ __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ }
+ __pyx_L15:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":848
+ * else:
+ * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ * f += 1 # <<<<<<<<<<<<<<
+ * else:
+ * # Cython ignores struct boundary information ("T{...}"),
+ */
+ __pyx_v_f = (__pyx_v_f + 1);
+ goto __pyx_L13;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":852
+ * # Cython ignores struct boundary information ("T{...}"),
+ * # so don't output it
+ * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<
+ * return f
+ *
+ */
+ __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_v_f = __pyx_t_9;
+ }
+ __pyx_L13:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":797
+ * cdef tuple fields
+ *
+ * for childname in descr.names: # <<<<<<<<<<<<<<
+ * fields = descr.fields[childname]
+ * child, new_offset = fields
+ */
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":853
+ * # so don't output it
+ * f = _util_dtypestring(child, f, end, offset)
+ * return f # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_r = __pyx_v_f;
+ goto __pyx_L0;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":786
+ * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ *
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
+ * # Recursive utility function used in __getbuffer__ to get format
+ * # string. The new location in the format string is returned.
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF((PyObject *)__pyx_v_child);
+ __Pyx_XDECREF(__pyx_v_fields);
+ __Pyx_XDECREF(__pyx_v_childname);
+ __Pyx_XDECREF(__pyx_v_new_offset);
+ __Pyx_XDECREF(__pyx_v_t);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
+ *
+ *
+ * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
+ * cdef PyObject* baseptr
+ * if base is None:
+ */
+
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
+ PyObject *__pyx_v_baseptr;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ int __pyx_t_2;
+ __Pyx_RefNannySetupContext("set_array_base", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
+ * cdef inline void set_array_base(ndarray arr, object base):
+ * cdef PyObject* baseptr
+ * if base is None: # <<<<<<<<<<<<<<
+ * baseptr = NULL
+ * else:
+ */
+ __pyx_t_1 = (__pyx_v_base == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
+ * cdef PyObject* baseptr
+ * if base is None:
+ * baseptr = NULL # <<<<<<<<<<<<<<
+ * else:
+ * Py_INCREF(base) # important to do this before decref below!
+ */
+ __pyx_v_baseptr = NULL;
+ goto __pyx_L3;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
+ * baseptr = NULL
+ * else:
+ * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<<
+ * baseptr = <PyObject*>base
+ * Py_XDECREF(arr.base)
+ */
+ Py_INCREF(__pyx_v_base);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":975
+ * else:
+ * Py_INCREF(base) # important to do this before decref below!
+ * baseptr = <PyObject*>base # <<<<<<<<<<<<<<
+ * Py_XDECREF(arr.base)
+ * arr.base = baseptr
+ */
+ __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
+ }
+ __pyx_L3:;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+ * Py_INCREF(base) # important to do this before decref below!
+ * baseptr = <PyObject*>base
+ * Py_XDECREF(arr.base) # <<<<<<<<<<<<<<
+ * arr.base = baseptr
+ *
+ */
+ Py_XDECREF(__pyx_v_arr->base);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
+ * baseptr = <PyObject*>base
+ * Py_XDECREF(arr.base)
+ * arr.base = baseptr # <<<<<<<<<<<<<<
+ *
+ * cdef inline object get_array_base(ndarray arr):
+ */
+ __pyx_v_arr->base = __pyx_v_baseptr;
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
+ *
+ *
+ * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
+ * cdef PyObject* baseptr
+ * if base is None:
+ */
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
+ * arr.base = baseptr
+ *
+ * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
+ * if arr.base is NULL:
+ * return None
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_t_1;
+ __Pyx_RefNannySetupContext("get_array_base", 0);
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
+ *
+ * cdef inline object get_array_base(ndarray arr):
+ * if arr.base is NULL: # <<<<<<<<<<<<<<
+ * return None
+ * else:
+ */
+ __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
+ if (__pyx_t_1) {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":981
+ * cdef inline object get_array_base(ndarray arr):
+ * if arr.base is NULL:
+ * return None # <<<<<<<<<<<<<<
+ * else:
+ * return <object>arr.base
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(Py_None);
+ __pyx_r = Py_None;
+ goto __pyx_L0;
+ }
+ /*else*/ {
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":983
+ * return None
+ * else:
+ * return <object>arr.base # <<<<<<<<<<<<<<
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
+ __pyx_r = ((PyObject *)__pyx_v_arr->base);
+ goto __pyx_L0;
+ }
+
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
+ * arr.base = baseptr
+ *
+ * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
+ * if arr.base is NULL:
+ * return None
+ */
+
+ /* function exit code */
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+static struct __pyx_vtabstruct_9adios_mpi_file __pyx_vtable_9adios_mpi_file;
+
+static PyObject *__pyx_tp_new_9adios_mpi_file(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_9adios_mpi_file *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_9adios_mpi_file *)o);
+ p->__pyx_vtab = __pyx_vtabptr_9adios_mpi_file;
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_9adios_mpi_file(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_file *p = (struct __pyx_obj_9adios_mpi_file *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->var);
+ Py_CLEAR(p->attr);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_9adios_mpi_file(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi_file *p = (struct __pyx_obj_9adios_mpi_file *)o;
+ if (p->var) {
+ e = (*v)(p->var, a); if (e) return e;
+ }
+ if (p->attr) {
+ e = (*v)(p->attr, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_9adios_mpi_file(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi_file *p = (struct __pyx_obj_9adios_mpi_file *)o;
+ tmp = ((PyObject*)p->var);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->attr);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *__pyx_sq_item_9adios_mpi_file(PyObject *o, Py_ssize_t i) {
+ PyObject *r;
+ PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
+ r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
+ Py_DECREF(x);
+ return r;
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_nvars(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_5nvars_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_nattrs(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_6nattrs_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_current_step(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_12current_step_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_last_step(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_9last_step_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_endianness(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_10endianness_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_version(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_7version_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_file_sizec(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_10file_sizec_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_is_stream(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_9is_stream_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_var(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_3var_1__get__(o);
+}
+
+static int __pyx_setprop_9adios_mpi_4file_var(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_9adios_mpi_4file_3var_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_9adios_mpi_4file_3var_5__del__(o);
+ }
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4file_attr(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4file_4attr_1__get__(o);
+}
+
+static int __pyx_setprop_9adios_mpi_4file_attr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_9adios_mpi_4file_4attr_3__set__(o, v);
+ }
+ else {
+ return __pyx_pw_9adios_mpi_4file_4attr_5__del__(o);
+ }
+}
+
+static PyMethodDef __pyx_methods_9adios_mpi_file[] = {
+ {"__del__", (PyCFunction)__pyx_pw_9adios_mpi_4file_3__del__, METH_NOARGS, __pyx_doc_9adios_mpi_4file_2__del__},
+ {"close", (PyCFunction)__pyx_pw_9adios_mpi_4file_5close, METH_NOARGS, __pyx_doc_9adios_mpi_4file_4close},
+ {"printself", (PyCFunction)__pyx_pw_9adios_mpi_4file_7printself, METH_NOARGS, __pyx_doc_9adios_mpi_4file_6printself},
+ {"advance", (PyCFunction)__pyx_pw_9adios_mpi_4file_9advance, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_4file_8advance},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_9adios_mpi_file[] = {
+ {(char *)"name", __pyx_getprop_9adios_mpi_4file_name, 0, __pyx_k_The_filename_or_stream_name_ass, 0},
+ {(char *)"nvars", __pyx_getprop_9adios_mpi_4file_nvars, 0, __pyx_k_The_number_of_variables, 0},
+ {(char *)"nattrs", __pyx_getprop_9adios_mpi_4file_nattrs, 0, __pyx_k_The_number_of_attributes, 0},
+ {(char *)"current_step", __pyx_getprop_9adios_mpi_4file_current_step, 0, __pyx_k_The_current_timestep_index, 0},
+ {(char *)"last_step", __pyx_getprop_9adios_mpi_4file_last_step, 0, __pyx_k_The_last_timestep_index, 0},
+ {(char *)"endianness", __pyx_getprop_9adios_mpi_4file_endianness, 0, __pyx_k_The_endianness_of_the_stored_da, 0},
+ {(char *)"version", __pyx_getprop_9adios_mpi_4file_version, 0, __pyx_k_The_version_of_Adios, 0},
+ {(char *)"file_sizec", __pyx_getprop_9adios_mpi_4file_file_sizec, 0, __pyx_k_The_size_of_Adios_file, 0},
+ {(char *)"is_stream", __pyx_getprop_9adios_mpi_4file_is_stream, 0, __pyx_k_Indicating_reader_type_file_rea, 0},
+ {(char *)"var", __pyx_getprop_9adios_mpi_4file_var, __pyx_setprop_9adios_mpi_4file_var, __pyx_k_var_dict, 0},
+ {(char *)"attr", __pyx_getprop_9adios_mpi_4file_attr, __pyx_setprop_9adios_mpi_4file_attr, __pyx_k_attr_dict, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_file = {
+ 0, /*sq_length*/
+ 0, /*sq_concat*/
+ 0, /*sq_repeat*/
+ __pyx_sq_item_9adios_mpi_file, /*sq_item*/
+ 0, /*sq_slice*/
+ 0, /*sq_ass_item*/
+ 0, /*sq_ass_slice*/
+ 0, /*sq_contains*/
+ 0, /*sq_inplace_concat*/
+ 0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_file = {
+ 0, /*mp_length*/
+ __pyx_pw_9adios_mpi_4file_11__getitem__, /*mp_subscript*/
+ 0, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_9adios_mpi_file = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.file", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_file), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_file, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_9adios_mpi_4file_13__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ &__pyx_tp_as_sequence_file, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_file, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "file(char *fname, char *method_name='BP', Comm comm=MPI.COMM_WORLD, is_stream=False, ADIOS_LOCKMODE lock_mode=ADIOS_LOCKMODE_ALL, float timeout_sec=0.0)\n\n file class for Adios file read and write.\n\n Args:\n fname (str): filename.\n method_name (str, optional): Adios read method (default: 'BP').\n comm (MPI.Comm, optional): MPI comm for parallel read/write (default: MPI.COMM_WORLD).\n is_stream (bool, optional): Set True if use stream reader (defau [...]
+ __pyx_tp_traverse_9adios_mpi_file, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_file, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_file, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_9adios_mpi_file, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_4file_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_file, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+static struct __pyx_vtabstruct_9adios_mpi_var __pyx_vtable_9adios_mpi_var;
+
+static PyObject *__pyx_tp_new_9adios_mpi_var(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_9adios_mpi_var *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_9adios_mpi_var *)o);
+ p->__pyx_vtab = __pyx_vtabptr_9adios_mpi_var;
+ p->file = ((struct __pyx_obj_9adios_mpi_file *)Py_None); Py_INCREF(Py_None);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_9adios_mpi_var(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_var *p = (struct __pyx_obj_9adios_mpi_var *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->file);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->dtype);
+ Py_CLEAR(p->dims);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_9adios_mpi_var(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi_var *p = (struct __pyx_obj_9adios_mpi_var *)o;
+ if (p->file) {
+ e = (*v)(((PyObject*)p->file), a); if (e) return e;
+ }
+ if (p->dtype) {
+ e = (*v)(((PyObject*)p->dtype), a); if (e) return e;
+ }
+ if (p->dims) {
+ e = (*v)(p->dims, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_9adios_mpi_var(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi_var *p = (struct __pyx_obj_9adios_mpi_var *)o;
+ tmp = ((PyObject*)p->file);
+ p->file = ((struct __pyx_obj_9adios_mpi_file *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->dtype);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->dims);
+ p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *__pyx_sq_item_9adios_mpi_var(PyObject *o, Py_ssize_t i) {
+ PyObject *r;
+ PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
+ r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
+ Py_DECREF(x);
+ return r;
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_3var_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_3var_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_3var_varid(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_3var_5varid_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_3var_dtype(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_3var_5dtype_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_3var_ndim(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_3var_4ndim_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_3var_dims(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_3var_4dims_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_3var_nsteps(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_3var_6nsteps_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_9adios_mpi_var[] = {
+ {"__del__", (PyCFunction)__pyx_pw_9adios_mpi_3var_3__del__, METH_NOARGS, __pyx_doc_9adios_mpi_3var_2__del__},
+ {"close", (PyCFunction)__pyx_pw_9adios_mpi_3var_5close, METH_NOARGS, __pyx_doc_9adios_mpi_3var_4close},
+ {"advance", (PyCFunction)__pyx_pw_9adios_mpi_3var_7advance, METH_NOARGS, __pyx_doc_9adios_mpi_3var_6advance},
+ {"read", (PyCFunction)__pyx_pw_9adios_mpi_3var_9read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_3var_8read},
+ {"printself", (PyCFunction)__pyx_pw_9adios_mpi_3var_11printself, METH_NOARGS, __pyx_doc_9adios_mpi_3var_10printself},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_9adios_mpi_var[] = {
+ {(char *)"name", __pyx_getprop_9adios_mpi_3var_name, 0, __pyx_k_The_variable_name, 0},
+ {(char *)"varid", __pyx_getprop_9adios_mpi_3var_varid, 0, __pyx_k_Internal_variable_id, 0},
+ {(char *)"dtype", __pyx_getprop_9adios_mpi_3var_dtype, 0, __pyx_k_Variable_type_as_in_numpy_dtype, 0},
+ {(char *)"ndim", __pyx_getprop_9adios_mpi_3var_ndim, 0, __pyx_k_The_number_of_dimensions_of_the, 0},
+ {(char *)"dims", __pyx_getprop_9adios_mpi_3var_dims, 0, __pyx_k_The_shape_of_the_variable, 0},
+ {(char *)"nsteps", __pyx_getprop_9adios_mpi_3var_nsteps, 0, __pyx_k_The_number_of_time_steps_of_the, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_var = {
+ 0, /*sq_length*/
+ 0, /*sq_concat*/
+ 0, /*sq_repeat*/
+ __pyx_sq_item_9adios_mpi_var, /*sq_item*/
+ 0, /*sq_slice*/
+ 0, /*sq_ass_item*/
+ 0, /*sq_ass_slice*/
+ 0, /*sq_contains*/
+ 0, /*sq_inplace_concat*/
+ 0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_var = {
+ 0, /*mp_length*/
+ __pyx_pw_9adios_mpi_3var_15__getitem__, /*mp_subscript*/
+ 0, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_9adios_mpi_var = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.var", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_var), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_var, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_9adios_mpi_3var_13__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ &__pyx_tp_as_sequence_var, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_var, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "var(file file, char *name)\n\n Adios variable class.\n\n Unlike attributes whose values are populated on initialization,\n variable's values will be returned by explicitly calling read() or\n array access interface ([]). \n\n Args:\n file (file): Associated file class\n name (str): variable name\n\n Note:\n Users do not need to create this class manually.\n ", /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi_var, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_var, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_var, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_9adios_mpi_var, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_3var_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_var, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_9adios_mpi_attr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_9adios_mpi_attr *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_9adios_mpi_attr *)o);
+ p->file = ((struct __pyx_obj_9adios_mpi_file *)Py_None); Py_INCREF(Py_None);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ p->value = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_9adios_mpi_attr(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_attr *p = (struct __pyx_obj_9adios_mpi_attr *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->file);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->dtype);
+ Py_CLEAR(p->value);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_9adios_mpi_attr(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi_attr *p = (struct __pyx_obj_9adios_mpi_attr *)o;
+ if (p->file) {
+ e = (*v)(((PyObject*)p->file), a); if (e) return e;
+ }
+ if (p->dtype) {
+ e = (*v)(((PyObject*)p->dtype), a); if (e) return e;
+ }
+ if (p->value) {
+ e = (*v)(((PyObject*)p->value), a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_9adios_mpi_attr(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi_attr *p = (struct __pyx_obj_9adios_mpi_attr *)o;
+ tmp = ((PyObject*)p->file);
+ p->file = ((struct __pyx_obj_9adios_mpi_file *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->dtype);
+ p->dtype = ((PyArray_Descr *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->value);
+ p->value = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4attr_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4attr_4name_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4attr_dtype(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4attr_5dtype_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_9adios_mpi_4attr_value(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_4attr_5value_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_9adios_mpi_attr[] = {
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_9adios_mpi_attr[] = {
+ {(char *)"name", __pyx_getprop_9adios_mpi_4attr_name, 0, __pyx_k_The_attribute_name, 0},
+ {(char *)"dtype", __pyx_getprop_9adios_mpi_4attr_dtype, 0, __pyx_k_The_attribute_type_as_in_numpy, 0},
+ {(char *)"value", __pyx_getprop_9adios_mpi_4attr_value, 0, __pyx_k_The_attribute_s_value, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_9adios_mpi_attr = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.attr", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_attr), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_attr, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_9adios_mpi_4attr_3__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "attr(file file, char *name)\n\n Adios attribute class.\n \n Attribute values are loaded on initialization.\n\n Args:\n attr_name (str): attribute name\n\n Raises:\n KeyError: If no attribute name exists.\n\n Note:\n Users do not need to create this class manually. \n ", /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi_attr, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_attr, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_attr, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_9adios_mpi_attr, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_4attr_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_attr, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_9adios_mpi_smartdict(PyTypeObject *t, PyObject *a, PyObject *k) {
+ struct __pyx_obj_9adios_mpi_smartdict *p;
+ PyObject *o = (&PyDict_Type)->tp_new(t, a, k);
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_9adios_mpi_smartdict *)o);
+ p->factory = Py_None; Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_9adios_mpi_smartdict(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_smartdict *p = (struct __pyx_obj_9adios_mpi_smartdict *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->factory);
+ PyObject_GC_Track(o);
+ (&PyDict_Type)->tp_dealloc(o);
+}
+
+static int __pyx_tp_traverse_9adios_mpi_smartdict(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi_smartdict *p = (struct __pyx_obj_9adios_mpi_smartdict *)o;
+ if (!(&PyDict_Type)->tp_traverse); else { e = (&PyDict_Type)->tp_traverse(o,v,a); if (e) return e; }
+ if (p->factory) {
+ e = (*v)(p->factory, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_9adios_mpi_smartdict(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi_smartdict *p = (struct __pyx_obj_9adios_mpi_smartdict *)o;
+ if (!(&PyDict_Type)->tp_clear); else (&PyDict_Type)->tp_clear(o);
+ tmp = ((PyObject*)p->factory);
+ p->factory = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+
+static int __pyx_mp_ass_subscript_9adios_mpi_smartdict(PyObject *o, PyObject *i, PyObject *v) {
+ if (v) {
+ return __pyx_pw_9adios_mpi_9smartdict_3__setitem__(o, i, v);
+ }
+ else {
+ if ((&PyDict_Type)->tp_as_mapping && (&PyDict_Type)->tp_as_mapping->mp_ass_subscript)
+ return (&PyDict_Type)->tp_as_mapping->mp_ass_subscript(o, i, v);
+ PyErr_Format(PyExc_NotImplementedError,
+ "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
+ return -1;
+ }
+}
+
+static PyMethodDef __pyx_methods_9adios_mpi_smartdict[] = {
+ {0, 0, 0, 0}
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_smartdict = {
+ 0, /*mp_length*/
+ 0, /*mp_subscript*/
+ __pyx_mp_ass_subscript_9adios_mpi_smartdict, /*mp_ass_subscript*/
+};
+
+static PyTypeObject __pyx_type_9adios_mpi_smartdict = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.smartdict", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_smartdict), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_smartdict, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_smartdict, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "smartdict(factory)", /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi_smartdict, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_smartdict, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_smartdict, /*tp_methods*/
+ 0, /*tp_members*/
+ 0, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_9smartdict_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_smartdict, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_9adios_mpi_writer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_9adios_mpi_writer *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_9adios_mpi_writer *)o);
+ p->fname = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->gname = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->method = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->method_params = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->comm = ((struct PyMPICommObject *)Py_None); Py_INCREF(Py_None);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ return o;
+}
+
+static void __pyx_tp_dealloc_9adios_mpi_writer(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_writer *p = (struct __pyx_obj_9adios_mpi_writer *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->fname);
+ Py_CLEAR(p->gname);
+ Py_CLEAR(p->method);
+ Py_CLEAR(p->method_params);
+ Py_CLEAR(p->comm);
+ Py_CLEAR(p->var);
+ Py_CLEAR(p->attr);
+ (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_9adios_mpi_writer(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi_writer *p = (struct __pyx_obj_9adios_mpi_writer *)o;
+ if (p->comm) {
+ e = (*v)(((PyObject*)p->comm), a); if (e) return e;
+ }
+ if (p->var) {
+ e = (*v)(p->var, a); if (e) return e;
+ }
+ if (p->attr) {
+ e = (*v)(p->attr, a); if (e) return e;
+ }
+ return 0;
+}
+
+static int __pyx_tp_clear_9adios_mpi_writer(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi_writer *p = (struct __pyx_obj_9adios_mpi_writer *)o;
+ tmp = ((PyObject*)p->comm);
+ p->comm = ((struct PyMPICommObject *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->var);
+ p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->attr);
+ p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *__pyx_sq_item_9adios_mpi_writer(PyObject *o, Py_ssize_t i) {
+ PyObject *r;
+ PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
+ r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
+ Py_DECREF(x);
+ return r;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
- * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
- *
- * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
- * # Recursive utility function used in __getbuffer__ to get format
- * # string. The new location in the format string is returned.
- */
+static int __pyx_mp_ass_subscript_9adios_mpi_writer(PyObject *o, PyObject *i, PyObject *v) {
+ if (v) {
+ return __pyx_pw_9adios_mpi_6writer_11__setitem__(o, i, v);
+ }
+ else {
+ PyErr_Format(PyExc_NotImplementedError,
+ "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
+ return -1;
+ }
+}
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF((PyObject *)__pyx_v_child);
- __Pyx_XDECREF(__pyx_v_fields);
- __Pyx_XDECREF(__pyx_v_childname);
- __Pyx_XDECREF(__pyx_v_new_offset);
- __Pyx_XDECREF(__pyx_v_t);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
+static PyObject *__pyx_getprop_9adios_mpi_6writer_fname(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_6writer_5fname_1__get__(o);
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
- *
- *
- * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
- * cdef PyObject* baseptr
- * if base is None:
- */
+static PyObject *__pyx_getprop_9adios_mpi_6writer_gname(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_6writer_5gname_1__get__(o);
+}
-static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
- PyObject *__pyx_v_baseptr;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- int __pyx_t_2;
- __Pyx_RefNannySetupContext("set_array_base", 0);
+static PyObject *__pyx_getprop_9adios_mpi_6writer_is_noxml(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_6writer_8is_noxml_1__get__(o);
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":968
- * cdef inline void set_array_base(ndarray arr, object base):
- * cdef PyObject* baseptr
- * if base is None: # <<<<<<<<<<<<<<
- * baseptr = NULL
- * else:
- */
- __pyx_t_1 = (__pyx_v_base == Py_None);
- __pyx_t_2 = (__pyx_t_1 != 0);
- if (__pyx_t_2) {
+static PyObject *__pyx_getprop_9adios_mpi_6writer_var(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_6writer_3var_1__get__(o);
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":969
- * cdef PyObject* baseptr
- * if base is None:
- * baseptr = NULL # <<<<<<<<<<<<<<
- * else:
- * Py_INCREF(base) # important to do this before decref below!
- */
- __pyx_v_baseptr = NULL;
- goto __pyx_L3;
- }
- /*else*/ {
+static PyObject *__pyx_getprop_9adios_mpi_6writer_attr(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_6writer_4attr_1__get__(o);
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":971
- * baseptr = NULL
- * else:
- * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<<
- * baseptr = <PyObject*>base
- * Py_XDECREF(arr.base)
- */
- Py_INCREF(__pyx_v_base);
+static PyMethodDef __pyx_methods_9adios_mpi_writer[] = {
+ {"declare_group", (PyCFunction)__pyx_pw_9adios_mpi_6writer_3declare_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_6writer_2declare_group},
+ {"define_var", (PyCFunction)__pyx_pw_9adios_mpi_6writer_5define_var, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_6writer_4define_var},
+ {"define_attr", (PyCFunction)__pyx_pw_9adios_mpi_6writer_7define_attr, METH_O, __pyx_doc_9adios_mpi_6writer_6define_attr},
+ {"define_dynamic_attr", (PyCFunction)__pyx_pw_9adios_mpi_6writer_9define_dynamic_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_6writer_8define_dynamic_attr},
+ {"close", (PyCFunction)__pyx_pw_9adios_mpi_6writer_15close, METH_NOARGS, __pyx_doc_9adios_mpi_6writer_14close},
+ {0, 0, 0, 0}
+};
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":972
- * else:
- * Py_INCREF(base) # important to do this before decref below!
- * baseptr = <PyObject*>base # <<<<<<<<<<<<<<
- * Py_XDECREF(arr.base)
- * arr.base = baseptr
- */
- __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
- }
- __pyx_L3:;
+static struct PyGetSetDef __pyx_getsets_9adios_mpi_writer[] = {
+ {(char *)"fname", __pyx_getprop_9adios_mpi_6writer_fname, 0, __pyx_k_The_filename_to_write, 0},
+ {(char *)"gname", __pyx_getprop_9adios_mpi_6writer_gname, 0, __pyx_k_The_groupname_associated_with_t, 0},
+ {(char *)"is_noxml", __pyx_getprop_9adios_mpi_6writer_is_noxml, 0, __pyx_k_Boolean_to_indicate_using_No_XM, 0},
+ {(char *)"var", __pyx_getprop_9adios_mpi_6writer_var, 0, __pyx_k_Dictionary_of_variables_to_writ, 0},
+ {(char *)"attr", __pyx_getprop_9adios_mpi_6writer_attr, 0, __pyx_k_Dictionary_of_attributes_to_wri, 0},
+ {0, 0, 0, 0, 0}
+};
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":973
- * Py_INCREF(base) # important to do this before decref below!
- * baseptr = <PyObject*>base
- * Py_XDECREF(arr.base) # <<<<<<<<<<<<<<
- * arr.base = baseptr
- *
- */
- Py_XDECREF(__pyx_v_arr->base);
+static PySequenceMethods __pyx_tp_as_sequence_writer = {
+ 0, /*sq_length*/
+ 0, /*sq_concat*/
+ 0, /*sq_repeat*/
+ __pyx_sq_item_9adios_mpi_writer, /*sq_item*/
+ 0, /*sq_slice*/
+ 0, /*sq_ass_item*/
+ 0, /*sq_ass_slice*/
+ 0, /*sq_contains*/
+ 0, /*sq_inplace_concat*/
+ 0, /*sq_inplace_repeat*/
+};
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":974
- * baseptr = <PyObject*>base
- * Py_XDECREF(arr.base)
- * arr.base = baseptr # <<<<<<<<<<<<<<
- *
- * cdef inline object get_array_base(ndarray arr):
- */
- __pyx_v_arr->base = __pyx_v_baseptr;
+static PyMappingMethods __pyx_tp_as_mapping_writer = {
+ 0, /*mp_length*/
+ __pyx_pw_9adios_mpi_6writer_13__getitem__, /*mp_subscript*/
+ __pyx_mp_ass_subscript_9adios_mpi_writer, /*mp_ass_subscript*/
+};
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":966
- *
- *
- * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
- * cdef PyObject* baseptr
- * if base is None:
- */
+static PyTypeObject __pyx_type_9adios_mpi_writer = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.writer", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_writer), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_writer, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_9adios_mpi_6writer_17__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ &__pyx_tp_as_sequence_writer, /*tp_as_sequence*/
+ &__pyx_tp_as_mapping_writer, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "writer(char *fname, bool is_noxml=True, Comm comm=MPI.COMM_WORLD)\n\n writer class for Adios write.\n\n Args:\n fname (str): filename.\n is_noxml (bool, optional): Set True if use noxml APIs (default: True).\n comm (MPI.Comm, optional): MPI comm for parallel read/write (default: MPI.COMM_WORLD).\n\n Example:\n \n >>> import adios as ad\n >>> f = ad.writer('adiosfile.bp')\n \n ", /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi_writer, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_writer, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_writer, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_9adios_mpi_writer, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_6writer_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_writer, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
- /* function exit code */
- __Pyx_RefNannyFinishContext();
+static PyObject *__pyx_tp_new_9adios_mpi_attrinfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_9adios_mpi_attrinfo *p;
+ PyObject *o;
+ if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+ o = (*t->tp_alloc)(t, 0);
+ } else {
+ o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ }
+ if (unlikely(!o)) return 0;
+ p = ((struct __pyx_obj_9adios_mpi_attrinfo *)o);
+ p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->dtype = Py_None; Py_INCREF(Py_None);
+ p->value = Py_None; Py_INCREF(Py_None);
+ return o;
}
-/* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
- * arr.base = baseptr
- *
- * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
- * if arr.base is NULL:
- * return None
- */
+static void __pyx_tp_dealloc_9adios_mpi_attrinfo(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_attrinfo *p = (struct __pyx_obj_9adios_mpi_attrinfo *)o;
+ #if PY_VERSION_HEX >= 0x030400a1
+ if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
+ if (PyObject_CallFinalizerFromDealloc(o)) return;
+ }
+ #endif
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->name);
+ Py_CLEAR(p->dtype);
+ Py_CLEAR(p->value);
+ (*Py_TYPE(o)->tp_free)(o);
+}
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- int __pyx_t_1;
- __Pyx_RefNannySetupContext("get_array_base", 0);
+static int __pyx_tp_traverse_9adios_mpi_attrinfo(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi_attrinfo *p = (struct __pyx_obj_9adios_mpi_attrinfo *)o;
+ if (p->dtype) {
+ e = (*v)(p->dtype, a); if (e) return e;
+ }
+ if (p->value) {
+ e = (*v)(p->value, a); if (e) return e;
+ }
+ return 0;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
- *
- * cdef inline object get_array_base(ndarray arr):
- * if arr.base is NULL: # <<<<<<<<<<<<<<
- * return None
- * else:
- */
- __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
- if (__pyx_t_1) {
+static int __pyx_tp_clear_9adios_mpi_attrinfo(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi_attrinfo *p = (struct __pyx_obj_9adios_mpi_attrinfo *)o;
+ tmp = ((PyObject*)p->dtype);
+ p->dtype = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->value);
+ p->value = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":978
- * cdef inline object get_array_base(ndarray arr):
- * if arr.base is NULL:
- * return None # <<<<<<<<<<<<<<
- * else:
- * return <object>arr.base
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(Py_None);
- __pyx_r = Py_None;
- goto __pyx_L0;
- }
- /*else*/ {
+static PyObject *__pyx_getprop_9adios_mpi_8attrinfo_name(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_8attrinfo_4name_1__get__(o);
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
- * return None
- * else:
- * return <object>arr.base # <<<<<<<<<<<<<<
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
- __pyx_r = ((PyObject *)__pyx_v_arr->base);
- goto __pyx_L0;
- }
+static PyObject *__pyx_getprop_9adios_mpi_8attrinfo_is_static(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_8attrinfo_9is_static_1__get__(o);
+}
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
- * arr.base = baseptr
- *
- * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
- * if arr.base is NULL:
- * return None
- */
+static PyObject *__pyx_getprop_9adios_mpi_8attrinfo_dtype(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_8attrinfo_5dtype_1__get__(o);
+}
- /* function exit code */
- __pyx_L0:;
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
+static PyObject *__pyx_getprop_9adios_mpi_8attrinfo_value(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_8attrinfo_5value_1__get__(o);
+}
+
+static int __pyx_setprop_9adios_mpi_8attrinfo_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+ if (v) {
+ return __pyx_pw_9adios_mpi_8attrinfo_5value_3__set__(o, v);
+ }
+ else {
+ PyErr_SetString(PyExc_NotImplementedError, "__del__");
+ return -1;
+ }
}
-static struct __pyx_vtabstruct_9adios_mpi_file __pyx_vtable_9adios_mpi_file;
-static PyObject *__pyx_tp_new_9adios_mpi_file(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- struct __pyx_obj_9adios_mpi_file *p;
+static PyMethodDef __pyx_methods_9adios_mpi_attrinfo[] = {
+ {"define", (PyCFunction)__pyx_pw_9adios_mpi_8attrinfo_3define, METH_O, __pyx_doc_9adios_mpi_8attrinfo_2define},
+ {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_9adios_mpi_attrinfo[] = {
+ {(char *)"name", __pyx_getprop_9adios_mpi_8attrinfo_name, 0, 0, 0},
+ {(char *)"is_static", __pyx_getprop_9adios_mpi_8attrinfo_is_static, 0, 0, 0},
+ {(char *)"dtype", __pyx_getprop_9adios_mpi_8attrinfo_dtype, 0, 0, 0},
+ {(char *)"value", __pyx_getprop_9adios_mpi_8attrinfo_value, __pyx_setprop_9adios_mpi_8attrinfo_value, 0, 0},
+ {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_9adios_mpi_attrinfo = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.attrinfo", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_attrinfo), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_attrinfo, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_9adios_mpi_8attrinfo_5__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "attrinfo(char *name, value=None, dtype=None, bool is_static=True)", /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi_attrinfo, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_attrinfo, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_attrinfo, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_9adios_mpi_attrinfo, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_8attrinfo_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_attrinfo, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static PyObject *__pyx_tp_new_9adios_mpi_varinfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ struct __pyx_obj_9adios_mpi_varinfo *p;
PyObject *o;
if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
o = (*t->tp_alloc)(t, 0);
@@ -13307,16 +24140,17 @@ static PyObject *__pyx_tp_new_9adios_mpi_file(PyTypeObject *t, CYTHON_UNUSED PyO
o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
}
if (unlikely(!o)) return 0;
- p = ((struct __pyx_obj_9adios_mpi_file *)o);
- p->__pyx_vtab = __pyx_vtabptr_9adios_mpi_file;
+ p = ((struct __pyx_obj_9adios_mpi_varinfo *)o);
p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->ldim = Py_None; Py_INCREF(Py_None);
+ p->gdim = Py_None; Py_INCREF(Py_None);
+ p->offset = Py_None; Py_INCREF(Py_None);
+ p->value = Py_None; Py_INCREF(Py_None);
return o;
}
-static void __pyx_tp_dealloc_9adios_mpi_file(PyObject *o) {
- struct __pyx_obj_9adios_mpi_file *p = (struct __pyx_obj_9adios_mpi_file *)o;
+static void __pyx_tp_dealloc_9adios_mpi_varinfo(PyObject *o) {
+ struct __pyx_obj_9adios_mpi_varinfo *p = (struct __pyx_obj_9adios_mpi_varinfo *)o;
#if PY_VERSION_HEX >= 0x030400a1
if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
if (PyObject_CallFinalizerFromDealloc(o)) return;
@@ -13324,215 +24158,356 @@ static void __pyx_tp_dealloc_9adios_mpi_file(PyObject *o) {
#endif
PyObject_GC_UnTrack(o);
Py_CLEAR(p->name);
- Py_CLEAR(p->var);
- Py_CLEAR(p->attr);
+ Py_CLEAR(p->ldim);
+ Py_CLEAR(p->gdim);
+ Py_CLEAR(p->offset);
+ Py_CLEAR(p->value);
(*Py_TYPE(o)->tp_free)(o);
}
-static int __pyx_tp_traverse_9adios_mpi_file(PyObject *o, visitproc v, void *a) {
+static int __pyx_tp_traverse_9adios_mpi_varinfo(PyObject *o, visitproc v, void *a) {
int e;
- struct __pyx_obj_9adios_mpi_file *p = (struct __pyx_obj_9adios_mpi_file *)o;
- if (p->var) {
- e = (*v)(p->var, a); if (e) return e;
+ struct __pyx_obj_9adios_mpi_varinfo *p = (struct __pyx_obj_9adios_mpi_varinfo *)o;
+ if (p->ldim) {
+ e = (*v)(p->ldim, a); if (e) return e;
}
- if (p->attr) {
- e = (*v)(p->attr, a); if (e) return e;
+ if (p->gdim) {
+ e = (*v)(p->gdim, a); if (e) return e;
+ }
+ if (p->offset) {
+ e = (*v)(p->offset, a); if (e) return e;
+ }
+ if (p->value) {
+ e = (*v)(p->value, a); if (e) return e;
}
return 0;
}
-static int __pyx_tp_clear_9adios_mpi_file(PyObject *o) {
+static int __pyx_tp_clear_9adios_mpi_varinfo(PyObject *o) {
PyObject* tmp;
- struct __pyx_obj_9adios_mpi_file *p = (struct __pyx_obj_9adios_mpi_file *)o;
- tmp = ((PyObject*)p->var);
- p->var = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ struct __pyx_obj_9adios_mpi_varinfo *p = (struct __pyx_obj_9adios_mpi_varinfo *)o;
+ tmp = ((PyObject*)p->ldim);
+ p->ldim = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
- tmp = ((PyObject*)p->attr);
- p->attr = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ tmp = ((PyObject*)p->gdim);
+ p->gdim = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->offset);
+ p->offset = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->value);
+ p->value = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
return 0;
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_name(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_4name_1__get__(o);
+static PyObject *__pyx_getprop_9adios_mpi_7varinfo_ldim(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_7varinfo_4ldim_1__get__(o);
}
-static int __pyx_setprop_9adios_mpi_4file_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+static int __pyx_setprop_9adios_mpi_7varinfo_ldim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
if (v) {
- return __pyx_pw_9adios_mpi_4file_4name_3__set__(o, v);
+ return __pyx_pw_9adios_mpi_7varinfo_4ldim_3__set__(o, v);
}
else {
- return __pyx_pw_9adios_mpi_4file_4name_5__del__(o);
+ return __pyx_pw_9adios_mpi_7varinfo_4ldim_5__del__(o);
}
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_nvars(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_5nvars_1__get__(o);
+static PyObject *__pyx_getprop_9adios_mpi_7varinfo_gdim(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_7varinfo_4gdim_1__get__(o);
}
-static int __pyx_setprop_9adios_mpi_4file_nvars(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+static int __pyx_setprop_9adios_mpi_7varinfo_gdim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
if (v) {
- return __pyx_pw_9adios_mpi_4file_5nvars_3__set__(o, v);
+ return __pyx_pw_9adios_mpi_7varinfo_4gdim_3__set__(o, v);
}
else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+ return __pyx_pw_9adios_mpi_7varinfo_4gdim_5__del__(o);
}
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_nattrs(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_6nattrs_1__get__(o);
+static PyObject *__pyx_getprop_9adios_mpi_7varinfo_offset(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_7varinfo_6offset_1__get__(o);
}
-static int __pyx_setprop_9adios_mpi_4file_nattrs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+static int __pyx_setprop_9adios_mpi_7varinfo_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
if (v) {
- return __pyx_pw_9adios_mpi_4file_6nattrs_3__set__(o, v);
+ return __pyx_pw_9adios_mpi_7varinfo_6offset_3__set__(o, v);
}
else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+ return __pyx_pw_9adios_mpi_7varinfo_6offset_5__del__(o);
}
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_current_step(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_12current_step_1__get__(o);
+static PyObject *__pyx_getprop_9adios_mpi_7varinfo_value(PyObject *o, CYTHON_UNUSED void *x) {
+ return __pyx_pw_9adios_mpi_7varinfo_5value_1__get__(o);
}
-static int __pyx_setprop_9adios_mpi_4file_current_step(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
+static int __pyx_setprop_9adios_mpi_7varinfo_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
if (v) {
- return __pyx_pw_9adios_mpi_4file_12current_step_3__set__(o, v);
+ return __pyx_pw_9adios_mpi_7varinfo_5value_3__set__(o, v);
}
else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+ return __pyx_pw_9adios_mpi_7varinfo_5value_5__del__(o);
}
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_last_step(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_9last_step_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_4file_last_step(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_9last_step_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+static PyMethodDef __pyx_methods_9adios_mpi_varinfo[] = {
+ {"define", (PyCFunction)__pyx_pw_9adios_mpi_7varinfo_3define, METH_O, __pyx_doc_9adios_mpi_7varinfo_2define},
+ {"bytes", (PyCFunction)__pyx_pw_9adios_mpi_7varinfo_5bytes, METH_NOARGS, __pyx_doc_9adios_mpi_7varinfo_4bytes},
+ {"write", (PyCFunction)__pyx_pw_9adios_mpi_7varinfo_7write, METH_O, __pyx_doc_9adios_mpi_7varinfo_6write},
+ {0, 0, 0, 0}
+};
-static PyObject *__pyx_getprop_9adios_mpi_4file_endianness(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_10endianness_1__get__(o);
-}
+static struct PyGetSetDef __pyx_getsets_9adios_mpi_varinfo[] = {
+ {(char *)"ldim", __pyx_getprop_9adios_mpi_7varinfo_ldim, __pyx_setprop_9adios_mpi_7varinfo_ldim, __pyx_k_ldim_object, 0},
+ {(char *)"gdim", __pyx_getprop_9adios_mpi_7varinfo_gdim, __pyx_setprop_9adios_mpi_7varinfo_gdim, __pyx_k_gdim_object, 0},
+ {(char *)"offset", __pyx_getprop_9adios_mpi_7varinfo_offset, __pyx_setprop_9adios_mpi_7varinfo_offset, __pyx_k_offset_object, 0},
+ {(char *)"value", __pyx_getprop_9adios_mpi_7varinfo_value, __pyx_setprop_9adios_mpi_7varinfo_value, __pyx_k_value_object, 0},
+ {0, 0, 0, 0, 0}
+};
-static int __pyx_setprop_9adios_mpi_4file_endianness(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_10endianness_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
+static PyTypeObject __pyx_type_9adios_mpi_varinfo = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.varinfo", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi_varinfo), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi_varinfo, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ __pyx_pw_9adios_mpi_7varinfo_9__repr__, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ "varinfo(char *name, ldim=<\077\077?>, gdim=<\077\077?>, offset=<\077\077?>)", /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi_varinfo, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi_varinfo, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ __pyx_methods_9adios_mpi_varinfo, /*tp_methods*/
+ 0, /*tp_members*/
+ __pyx_getsets_9adios_mpi_varinfo, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ __pyx_pw_9adios_mpi_7varinfo_1__init__, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi_varinfo, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
-static PyObject *__pyx_getprop_9adios_mpi_4file_version(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_7version_1__get__(o);
-}
+static struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *__pyx_freelist_9adios_mpi___pyx_scope_struct____getitem__[8];
+static int __pyx_freecount_9adios_mpi___pyx_scope_struct____getitem__ = 0;
-static int __pyx_setprop_9adios_mpi_4file_version(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_7version_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+static PyObject *__pyx_tp_new_9adios_mpi___pyx_scope_struct____getitem__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ PyObject *o;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9adios_mpi___pyx_scope_struct____getitem__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__)))) {
+ o = (PyObject*)__pyx_freelist_9adios_mpi___pyx_scope_struct____getitem__[--__pyx_freecount_9adios_mpi___pyx_scope_struct____getitem__];
+ memset(o, 0, sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__));
+ (void) PyObject_INIT(o, t);
+ PyObject_GC_Track(o);
+ } else {
+ o = (*t->tp_alloc)(t, 0);
+ if (unlikely(!o)) return 0;
}
+ return o;
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_file_size(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_9file_size_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_4file_file_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_9file_size_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+static void __pyx_tp_dealloc_9adios_mpi___pyx_scope_struct____getitem__(PyObject *o) {
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)o;
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->__pyx_v_dims_);
+ Py_CLEAR(p->__pyx_v_index_);
+ Py_CLEAR(p->__pyx_v_self);
+ if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9adios_mpi___pyx_scope_struct____getitem__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__)))) {
+ __pyx_freelist_9adios_mpi___pyx_scope_struct____getitem__[__pyx_freecount_9adios_mpi___pyx_scope_struct____getitem__++] = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)o);
+ } else {
+ (*Py_TYPE(o)->tp_free)(o);
}
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_var(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_3var_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_4file_var(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_3var_3__set__(o, v);
+static int __pyx_tp_traverse_9adios_mpi___pyx_scope_struct____getitem__(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)o;
+ if (p->__pyx_v_dims_) {
+ e = (*v)(p->__pyx_v_dims_, a); if (e) return e;
}
- else {
- return __pyx_pw_9adios_mpi_4file_3var_5__del__(o);
+ if (p->__pyx_v_index_) {
+ e = (*v)(p->__pyx_v_index_, a); if (e) return e;
+ }
+ if (p->__pyx_v_self) {
+ e = (*v)(((PyObject*)p->__pyx_v_self), a); if (e) return e;
}
+ return 0;
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_attr(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_4attr_1__get__(o);
+static int __pyx_tp_clear_9adios_mpi___pyx_scope_struct____getitem__(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)o;
+ tmp = ((PyObject*)p->__pyx_v_dims_);
+ p->__pyx_v_dims_ = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_index_);
+ p->__pyx_v_index_ = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_self);
+ p->__pyx_v_self = ((struct __pyx_obj_9adios_mpi_var *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
}
-static int __pyx_setprop_9adios_mpi_4file_attr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_4attr_3__set__(o, v);
- }
- else {
- return __pyx_pw_9adios_mpi_4file_4attr_5__del__(o);
+static PyTypeObject __pyx_type_9adios_mpi___pyx_scope_struct____getitem__ = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "adios_mpi.__pyx_scope_struct____getitem__", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ __pyx_tp_dealloc_9adios_mpi___pyx_scope_struct____getitem__, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ #if PY_MAJOR_VERSION < 3
+ 0, /*tp_compare*/
+ #else
+ 0, /*reserved*/
+ #endif
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ 0, /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi___pyx_scope_struct____getitem__, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi___pyx_scope_struct____getitem__, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ 0, /*tp_methods*/
+ 0, /*tp_members*/
+ 0, /*tp_getset*/
+ 0, /*tp_base*/
+ 0, /*tp_dict*/
+ 0, /*tp_descr_get*/
+ 0, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ 0, /*tp_init*/
+ 0, /*tp_alloc*/
+ __pyx_tp_new_9adios_mpi___pyx_scope_struct____getitem__, /*tp_new*/
+ 0, /*tp_free*/
+ 0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ #if PY_VERSION_HEX >= 0x030400a1
+ 0, /*tp_finalize*/
+ #endif
+};
+
+static struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *__pyx_freelist_9adios_mpi___pyx_scope_struct_1_genexpr[8];
+static int __pyx_freecount_9adios_mpi___pyx_scope_struct_1_genexpr = 0;
+
+static PyObject *__pyx_tp_new_9adios_mpi___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+ PyObject *o;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9adios_mpi___pyx_scope_struct_1_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr)))) {
+ o = (PyObject*)__pyx_freelist_9adios_mpi___pyx_scope_struct_1_genexpr[--__pyx_freecount_9adios_mpi___pyx_scope_struct_1_genexpr];
+ memset(o, 0, sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr));
+ (void) PyObject_INIT(o, t);
+ PyObject_GC_Track(o);
+ } else {
+ o = (*t->tp_alloc)(t, 0);
+ if (unlikely(!o)) return 0;
}
+ return o;
}
-static PyObject *__pyx_getprop_9adios_mpi_4file_is_stream(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_4file_9is_stream_1__get__(o);
+static void __pyx_tp_dealloc_9adios_mpi___pyx_scope_struct_1_genexpr(PyObject *o) {
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *)o;
+ PyObject_GC_UnTrack(o);
+ Py_CLEAR(p->__pyx_outer_scope);
+ Py_CLEAR(p->__pyx_v_x);
+ Py_CLEAR(p->__pyx_t_0);
+ if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9adios_mpi___pyx_scope_struct_1_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr)))) {
+ __pyx_freelist_9adios_mpi___pyx_scope_struct_1_genexpr[__pyx_freecount_9adios_mpi___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *)o);
+ } else {
+ (*Py_TYPE(o)->tp_free)(o);
+ }
}
-static int __pyx_setprop_9adios_mpi_4file_is_stream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_4file_9is_stream_3__set__(o, v);
+static int __pyx_tp_traverse_9adios_mpi___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
+ int e;
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *)o;
+ if (p->__pyx_outer_scope) {
+ e = (*v)(((PyObject*)p->__pyx_outer_scope), a); if (e) return e;
}
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
+ if (p->__pyx_v_x) {
+ e = (*v)(p->__pyx_v_x, a); if (e) return e;
}
+ if (p->__pyx_t_0) {
+ e = (*v)(p->__pyx_t_0, a); if (e) return e;
+ }
+ return 0;
}
-static PyMethodDef __pyx_methods_9adios_mpi_file[] = {
- {"__del__", (PyCFunction)__pyx_pw_9adios_mpi_4file_3__del__, METH_NOARGS, 0},
- {"close", (PyCFunction)__pyx_pw_9adios_mpi_4file_5close, METH_NOARGS, 0},
- {"printself", (PyCFunction)__pyx_pw_9adios_mpi_4file_7printself, METH_NOARGS, 0},
- {"advance", (PyCFunction)__pyx_pw_9adios_mpi_4file_9advance, METH_VARARGS|METH_KEYWORDS, 0},
- {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_9adios_mpi_file[] = {
- {(char *)"name", __pyx_getprop_9adios_mpi_4file_name, __pyx_setprop_9adios_mpi_4file_name, 0, 0},
- {(char *)"nvars", __pyx_getprop_9adios_mpi_4file_nvars, __pyx_setprop_9adios_mpi_4file_nvars, 0, 0},
- {(char *)"nattrs", __pyx_getprop_9adios_mpi_4file_nattrs, __pyx_setprop_9adios_mpi_4file_nattrs, 0, 0},
- {(char *)"current_step", __pyx_getprop_9adios_mpi_4file_current_step, __pyx_setprop_9adios_mpi_4file_current_step, 0, 0},
- {(char *)"last_step", __pyx_getprop_9adios_mpi_4file_last_step, __pyx_setprop_9adios_mpi_4file_last_step, 0, 0},
- {(char *)"endianness", __pyx_getprop_9adios_mpi_4file_endianness, __pyx_setprop_9adios_mpi_4file_endianness, 0, 0},
- {(char *)"version", __pyx_getprop_9adios_mpi_4file_version, __pyx_setprop_9adios_mpi_4file_version, 0, 0},
- {(char *)"file_size", __pyx_getprop_9adios_mpi_4file_file_size, __pyx_setprop_9adios_mpi_4file_file_size, 0, 0},
- {(char *)"var", __pyx_getprop_9adios_mpi_4file_var, __pyx_setprop_9adios_mpi_4file_var, 0, 0},
- {(char *)"attr", __pyx_getprop_9adios_mpi_4file_attr, __pyx_setprop_9adios_mpi_4file_attr, 0, 0},
- {(char *)"is_stream", __pyx_getprop_9adios_mpi_4file_is_stream, __pyx_setprop_9adios_mpi_4file_is_stream, 0, 0},
- {0, 0, 0, 0, 0}
-};
+static int __pyx_tp_clear_9adios_mpi___pyx_scope_struct_1_genexpr(PyObject *o) {
+ PyObject* tmp;
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr *)o;
+ tmp = ((PyObject*)p->__pyx_outer_scope);
+ p->__pyx_outer_scope = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_v_x);
+ p->__pyx_v_x = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx_t_0);
+ p->__pyx_t_0 = Py_None; Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ return 0;
+}
-static PyTypeObject __pyx_type_9adios_mpi_file = {
+static PyTypeObject __pyx_type_9adios_mpi___pyx_scope_struct_1_genexpr = {
PyVarObject_HEAD_INIT(0, 0)
- "adios_mpi.file", /*tp_name*/
- sizeof(struct __pyx_obj_9adios_mpi_file), /*tp_basicsize*/
+ "adios_mpi.__pyx_scope_struct_1_genexpr", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
0, /*tp_itemsize*/
- __pyx_tp_dealloc_9adios_mpi_file, /*tp_dealloc*/
+ __pyx_tp_dealloc_9adios_mpi___pyx_scope_struct_1_genexpr, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
@@ -13551,25 +24526,25 @@ static PyTypeObject __pyx_type_9adios_mpi_file = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- " Private Memeber ", /*tp_doc*/
- __pyx_tp_traverse_9adios_mpi_file, /*tp_traverse*/
- __pyx_tp_clear_9adios_mpi_file, /*tp_clear*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ 0, /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi___pyx_scope_struct_1_genexpr, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi___pyx_scope_struct_1_genexpr, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
- __pyx_methods_9adios_mpi_file, /*tp_methods*/
+ 0, /*tp_methods*/
0, /*tp_members*/
- __pyx_getsets_9adios_mpi_file, /*tp_getset*/
+ 0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
- __pyx_pw_9adios_mpi_4file_1__init__, /*tp_init*/
+ 0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_9adios_mpi_file, /*tp_new*/
+ __pyx_tp_new_9adios_mpi___pyx_scope_struct_1_genexpr, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -13583,176 +24558,73 @@ static PyTypeObject __pyx_type_9adios_mpi_file = {
0, /*tp_finalize*/
#endif
};
-static struct __pyx_vtabstruct_9adios_mpi_var __pyx_vtable_9adios_mpi_var;
-static PyObject *__pyx_tp_new_9adios_mpi_var(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- struct __pyx_obj_9adios_mpi_var *p;
+static struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *__pyx_freelist_9adios_mpi___pyx_scope_struct_2_genexpr[8];
+static int __pyx_freecount_9adios_mpi___pyx_scope_struct_2_genexpr = 0;
+
+static PyObject *__pyx_tp_new_9adios_mpi___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
- if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
- o = (*t->tp_alloc)(t, 0);
+ if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9adios_mpi___pyx_scope_struct_2_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr)))) {
+ o = (PyObject*)__pyx_freelist_9adios_mpi___pyx_scope_struct_2_genexpr[--__pyx_freecount_9adios_mpi___pyx_scope_struct_2_genexpr];
+ memset(o, 0, sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr));
+ (void) PyObject_INIT(o, t);
+ PyObject_GC_Track(o);
} else {
- o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+ o = (*t->tp_alloc)(t, 0);
+ if (unlikely(!o)) return 0;
}
- if (unlikely(!o)) return 0;
- p = ((struct __pyx_obj_9adios_mpi_var *)o);
- p->__pyx_vtab = __pyx_vtabptr_9adios_mpi_var;
- p->file = ((struct __pyx_obj_9adios_mpi_file *)Py_None); Py_INCREF(Py_None);
- p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->type = ((PyObject*)Py_None); Py_INCREF(Py_None);
- p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
return o;
}
-static void __pyx_tp_dealloc_9adios_mpi_var(PyObject *o) {
- struct __pyx_obj_9adios_mpi_var *p = (struct __pyx_obj_9adios_mpi_var *)o;
- #if PY_VERSION_HEX >= 0x030400a1
- if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
- if (PyObject_CallFinalizerFromDealloc(o)) return;
- }
- #endif
+static void __pyx_tp_dealloc_9adios_mpi___pyx_scope_struct_2_genexpr(PyObject *o) {
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *)o;
PyObject_GC_UnTrack(o);
- Py_CLEAR(p->file);
- Py_CLEAR(p->name);
- Py_CLEAR(p->type);
- Py_CLEAR(p->dims);
- (*Py_TYPE(o)->tp_free)(o);
+ Py_CLEAR(p->__pyx_outer_scope);
+ Py_CLEAR(p->__pyx_v_x);
+ Py_CLEAR(p->__pyx_t_0);
+ if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9adios_mpi___pyx_scope_struct_2_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr)))) {
+ __pyx_freelist_9adios_mpi___pyx_scope_struct_2_genexpr[__pyx_freecount_9adios_mpi___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *)o);
+ } else {
+ (*Py_TYPE(o)->tp_free)(o);
+ }
}
-static int __pyx_tp_traverse_9adios_mpi_var(PyObject *o, visitproc v, void *a) {
+static int __pyx_tp_traverse_9adios_mpi___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
int e;
- struct __pyx_obj_9adios_mpi_var *p = (struct __pyx_obj_9adios_mpi_var *)o;
- if (p->file) {
- e = (*v)(((PyObject*)p->file), a); if (e) return e;
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *)o;
+ if (p->__pyx_outer_scope) {
+ e = (*v)(((PyObject*)p->__pyx_outer_scope), a); if (e) return e;
}
- if (p->type) {
- e = (*v)(p->type, a); if (e) return e;
+ if (p->__pyx_v_x) {
+ e = (*v)(p->__pyx_v_x, a); if (e) return e;
}
- if (p->dims) {
- e = (*v)(p->dims, a); if (e) return e;
+ if (p->__pyx_t_0) {
+ e = (*v)(p->__pyx_t_0, a); if (e) return e;
}
return 0;
}
-static int __pyx_tp_clear_9adios_mpi_var(PyObject *o) {
+static int __pyx_tp_clear_9adios_mpi___pyx_scope_struct_2_genexpr(PyObject *o) {
PyObject* tmp;
- struct __pyx_obj_9adios_mpi_var *p = (struct __pyx_obj_9adios_mpi_var *)o;
- tmp = ((PyObject*)p->file);
- p->file = ((struct __pyx_obj_9adios_mpi_file *)Py_None); Py_INCREF(Py_None);
+ struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr *)o;
+ tmp = ((PyObject*)p->__pyx_outer_scope);
+ p->__pyx_outer_scope = ((struct __pyx_obj_9adios_mpi___pyx_scope_struct____getitem__ *)Py_None); Py_INCREF(Py_None);
Py_XDECREF(tmp);
- tmp = ((PyObject*)p->type);
- p->type = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ tmp = ((PyObject*)p->__pyx_v_x);
+ p->__pyx_v_x = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
- tmp = ((PyObject*)p->dims);
- p->dims = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ tmp = ((PyObject*)p->__pyx_t_0);
+ p->__pyx_t_0 = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
return 0;
}
-static PyObject *__pyx_getprop_9adios_mpi_3var_name(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_3var_4name_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_3var_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_3var_4name_3__set__(o, v);
- }
- else {
- return __pyx_pw_9adios_mpi_3var_4name_5__del__(o);
- }
-}
-
-static PyObject *__pyx_getprop_9adios_mpi_3var_varid(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_3var_5varid_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_3var_varid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_3var_5varid_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
-
-static PyObject *__pyx_getprop_9adios_mpi_3var_type(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_3var_4type_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_3var_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_3var_4type_3__set__(o, v);
- }
- else {
- return __pyx_pw_9adios_mpi_3var_4type_5__del__(o);
- }
-}
-
-static PyObject *__pyx_getprop_9adios_mpi_3var_ndim(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_3var_4ndim_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_3var_ndim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_3var_4ndim_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
-
-static PyObject *__pyx_getprop_9adios_mpi_3var_dims(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_3var_4dims_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_3var_dims(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_3var_4dims_3__set__(o, v);
- }
- else {
- return __pyx_pw_9adios_mpi_3var_4dims_5__del__(o);
- }
-}
-
-static PyObject *__pyx_getprop_9adios_mpi_3var_nsteps(PyObject *o, CYTHON_UNUSED void *x) {
- return __pyx_pw_9adios_mpi_3var_6nsteps_1__get__(o);
-}
-
-static int __pyx_setprop_9adios_mpi_3var_nsteps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
- if (v) {
- return __pyx_pw_9adios_mpi_3var_6nsteps_3__set__(o, v);
- }
- else {
- PyErr_SetString(PyExc_NotImplementedError, "__del__");
- return -1;
- }
-}
-
-static PyMethodDef __pyx_methods_9adios_mpi_var[] = {
- {"__del__", (PyCFunction)__pyx_pw_9adios_mpi_3var_3__del__, METH_NOARGS, 0},
- {"close", (PyCFunction)__pyx_pw_9adios_mpi_3var_5close, METH_NOARGS, 0},
- {"read", (PyCFunction)__pyx_pw_9adios_mpi_3var_7read, METH_VARARGS|METH_KEYWORDS, 0},
- {"printself", (PyCFunction)__pyx_pw_9adios_mpi_3var_9printself, METH_NOARGS, 0},
- {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_9adios_mpi_var[] = {
- {(char *)"name", __pyx_getprop_9adios_mpi_3var_name, __pyx_setprop_9adios_mpi_3var_name, 0, 0},
- {(char *)"varid", __pyx_getprop_9adios_mpi_3var_varid, __pyx_setprop_9adios_mpi_3var_varid, 0, 0},
- {(char *)"type", __pyx_getprop_9adios_mpi_3var_type, __pyx_setprop_9adios_mpi_3var_type, 0, 0},
- {(char *)"ndim", __pyx_getprop_9adios_mpi_3var_ndim, __pyx_setprop_9adios_mpi_3var_ndim, 0, 0},
- {(char *)"dims", __pyx_getprop_9adios_mpi_3var_dims, __pyx_setprop_9adios_mpi_3var_dims, 0, 0},
- {(char *)"nsteps", __pyx_getprop_9adios_mpi_3var_nsteps, __pyx_setprop_9adios_mpi_3var_nsteps, 0, 0},
- {0, 0, 0, 0, 0}
-};
-
-static PyTypeObject __pyx_type_9adios_mpi_var = {
+static PyTypeObject __pyx_type_9adios_mpi___pyx_scope_struct_2_genexpr = {
PyVarObject_HEAD_INIT(0, 0)
- "adios_mpi.var", /*tp_name*/
- sizeof(struct __pyx_obj_9adios_mpi_var), /*tp_basicsize*/
+ "adios_mpi.__pyx_scope_struct_2_genexpr", /*tp_name*/
+ sizeof(struct __pyx_obj_9adios_mpi___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
0, /*tp_itemsize*/
- __pyx_tp_dealloc_9adios_mpi_var, /*tp_dealloc*/
+ __pyx_tp_dealloc_9adios_mpi___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
@@ -13771,25 +24643,25 @@ static PyTypeObject __pyx_type_9adios_mpi_var = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- " Private Memeber ", /*tp_doc*/
- __pyx_tp_traverse_9adios_mpi_var, /*tp_traverse*/
- __pyx_tp_clear_9adios_mpi_var, /*tp_clear*/
+ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ 0, /*tp_doc*/
+ __pyx_tp_traverse_9adios_mpi___pyx_scope_struct_2_genexpr, /*tp_traverse*/
+ __pyx_tp_clear_9adios_mpi___pyx_scope_struct_2_genexpr, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
- __pyx_methods_9adios_mpi_var, /*tp_methods*/
+ 0, /*tp_methods*/
0, /*tp_members*/
- __pyx_getsets_9adios_mpi_var, /*tp_getset*/
+ 0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
- __pyx_pw_9adios_mpi_3var_1__init__, /*tp_init*/
+ 0, /*tp_init*/
0, /*tp_alloc*/
- __pyx_tp_new_9adios_mpi_var, /*tp_new*/
+ __pyx_tp_new_9adios_mpi___pyx_scope_struct_2_genexpr, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
@@ -13805,25 +24677,30 @@ static PyTypeObject __pyx_type_9adios_mpi_var = {
};
static PyMethodDef __pyx_methods[] = {
- {"init", (PyCFunction)__pyx_pw_9adios_mpi_1init, METH_VARARGS|METH_KEYWORDS, 0},
- {"open", (PyCFunction)__pyx_pw_9adios_mpi_3open, METH_VARARGS|METH_KEYWORDS, 0},
- {"set_group_size", (PyCFunction)__pyx_pw_9adios_mpi_5set_group_size, METH_VARARGS|METH_KEYWORDS, 0},
- {"write", (PyCFunction)__pyx_pw_9adios_mpi_7write, METH_VARARGS|METH_KEYWORDS, 0},
- {"write_int", (PyCFunction)__pyx_pw_9adios_mpi_9write_int, METH_VARARGS|METH_KEYWORDS, 0},
- {"write_long", (PyCFunction)__pyx_pw_9adios_mpi_11write_long, METH_VARARGS|METH_KEYWORDS, 0},
- {"write_float", (PyCFunction)__pyx_pw_9adios_mpi_13write_float, METH_VARARGS|METH_KEYWORDS, 0},
- {"read", (PyCFunction)__pyx_pw_9adios_mpi_15read, METH_VARARGS|METH_KEYWORDS, 0},
- {"close", (PyCFunction)__pyx_pw_9adios_mpi_17close, METH_O, 0},
- {"finalize", (PyCFunction)__pyx_pw_9adios_mpi_19finalize, METH_VARARGS|METH_KEYWORDS, 0},
- {"init_noxml", (PyCFunction)__pyx_pw_9adios_mpi_21init_noxml, METH_VARARGS|METH_KEYWORDS, 0},
- {"allocate_buffer", (PyCFunction)__pyx_pw_9adios_mpi_23allocate_buffer, METH_VARARGS|METH_KEYWORDS, 0},
- {"declare_group", (PyCFunction)__pyx_pw_9adios_mpi_25declare_group, METH_VARARGS|METH_KEYWORDS, 0},
- {"define_var", (PyCFunction)__pyx_pw_9adios_mpi_27define_var, METH_VARARGS|METH_KEYWORDS, 0},
- {"define_attribute", (PyCFunction)__pyx_pw_9adios_mpi_29define_attribute, METH_VARARGS|METH_KEYWORDS, 0},
- {"select_method", (PyCFunction)__pyx_pw_9adios_mpi_31select_method, METH_VARARGS|METH_KEYWORDS, 0},
- {"np2adiostype", (PyCFunction)__pyx_pw_9adios_mpi_33np2adiostype, METH_O, __pyx_doc_9adios_mpi_32np2adiostype},
- {"read_init", (PyCFunction)__pyx_pw_9adios_mpi_35read_init, METH_VARARGS|METH_KEYWORDS, 0},
- {"read_finalize", (PyCFunction)__pyx_pw_9adios_mpi_37read_finalize, METH_VARARGS|METH_KEYWORDS, 0},
+ {"__parse_index", (PyCFunction)__pyx_pw_9adios_mpi_1__parse_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi___parse_index},
+ {"init", (PyCFunction)__pyx_pw_9adios_mpi_3init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_2init},
+ {"open", (PyCFunction)__pyx_pw_9adios_mpi_5open, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_4open},
+ {"set_group_size", (PyCFunction)__pyx_pw_9adios_mpi_7set_group_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_6set_group_size},
+ {"write", (PyCFunction)__pyx_pw_9adios_mpi_9write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_8write},
+ {"write_int", (PyCFunction)__pyx_pw_9adios_mpi_11write_int, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_10write_int},
+ {"write_long", (PyCFunction)__pyx_pw_9adios_mpi_13write_long, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_12write_long},
+ {"write_float", (PyCFunction)__pyx_pw_9adios_mpi_15write_float, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_14write_float},
+ {"write_double", (PyCFunction)__pyx_pw_9adios_mpi_17write_double, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_16write_double},
+ {"read", (PyCFunction)__pyx_pw_9adios_mpi_19read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_18read},
+ {"close", (PyCFunction)__pyx_pw_9adios_mpi_21close, METH_O, __pyx_doc_9adios_mpi_20close},
+ {"finalize", (PyCFunction)__pyx_pw_9adios_mpi_23finalize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_22finalize},
+ {"init_noxml", (PyCFunction)__pyx_pw_9adios_mpi_25init_noxml, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_24init_noxml},
+ {"allocate_buffer", (PyCFunction)__pyx_pw_9adios_mpi_27allocate_buffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_26allocate_buffer},
+ {"declare_group", (PyCFunction)__pyx_pw_9adios_mpi_29declare_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_28declare_group},
+ {"define_var", (PyCFunction)__pyx_pw_9adios_mpi_31define_var, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_30define_var},
+ {"define_attribute", (PyCFunction)__pyx_pw_9adios_mpi_33define_attribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_32define_attribute},
+ {"define_attribute_byvalue", (PyCFunction)__pyx_pw_9adios_mpi_35define_attribute_byvalue, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_34define_attribute_byvalue},
+ {"select_method", (PyCFunction)__pyx_pw_9adios_mpi_37select_method, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_36select_method},
+ {"adios2npdtype", (PyCFunction)__pyx_pw_9adios_mpi_39adios2npdtype, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_38adios2npdtype},
+ {"np2adiostype", (PyCFunction)__pyx_pw_9adios_mpi_41np2adiostype, METH_O, __pyx_doc_9adios_mpi_40np2adiostype},
+ {"adiostype2string", (PyCFunction)__pyx_pw_9adios_mpi_43adiostype2string, METH_O, __pyx_doc_9adios_mpi_42adiostype2string},
+ {"read_init", (PyCFunction)__pyx_pw_9adios_mpi_45read_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_44read_init},
+ {"read_finalize", (PyCFunction)__pyx_pw_9adios_mpi_47read_finalize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9adios_mpi_46read_finalize},
{0, 0, 0, 0}
};
@@ -13835,7 +24712,7 @@ static struct PyModuleDef __pyx_moduledef = {
PyModuleDef_HEAD_INIT,
#endif
"adios_mpi",
- __pyx_k_ADIOS_is_freely_available_under, /* m_doc */
+ __pyx_k_ADIOS_ADIOS_python_module_module, /* m_doc */
-1, /* m_size */
__pyx_methods /* m_methods */,
NULL, /* m_reload */
@@ -13849,59 +24726,89 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_kp_s_15s_d, __pyx_k_15s_d, sizeof(__pyx_k_15s_d), 0, 0, 1, 0},
{&__pyx_kp_s_15s_lu, __pyx_k_15s_lu, sizeof(__pyx_k_15s_lu), 0, 0, 1, 0},
{&__pyx_kp_s_15s_s, __pyx_k_15s_s, sizeof(__pyx_k_15s_s), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosAttr_name_r_dtype_r_value_r, __pyx_k_AdiosAttr_name_r_dtype_r_value_r, sizeof(__pyx_k_AdiosAttr_name_r_dtype_r_value_r), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosAttrinfo_name_r_is_static_r, __pyx_k_AdiosAttrinfo_name_r_is_static_r, sizeof(__pyx_k_AdiosAttrinfo_name_r_is_static_r), 0, 0, 1, 0},
{&__pyx_kp_s_AdiosFile, __pyx_k_AdiosFile, sizeof(__pyx_k_AdiosFile), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosFile_path_r_nvars_r_var_r_n, __pyx_k_AdiosFile_path_r_nvars_r_var_r_n, sizeof(__pyx_k_AdiosFile_path_r_nvars_r_var_r_n), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosVar_varid_r_dtype_r_ndim_r, __pyx_k_AdiosVar_varid_r_dtype_r_ndim_r, sizeof(__pyx_k_AdiosVar_varid_r_dtype_r_ndim_r), 0, 0, 1, 0},
{&__pyx_kp_s_AdiosVariable, __pyx_k_AdiosVariable, sizeof(__pyx_k_AdiosVariable), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosVarinfo_name_r_ldim_r_gdim, __pyx_k_AdiosVarinfo_name_r_ldim_r_gdim, sizeof(__pyx_k_AdiosVarinfo_name_r_ldim_r_gdim), 0, 0, 1, 0},
+ {&__pyx_kp_s_AdiosWriter_fname_r_gname_r_meth, __pyx_k_AdiosWriter_fname_r_gname_r_meth, sizeof(__pyx_k_AdiosWriter_fname_r_gname_r_meth), 0, 0, 1, 0},
{&__pyx_n_s_BP, __pyx_k_BP, sizeof(__pyx_k_BP), 0, 0, 1, 1},
{&__pyx_n_s_BP_AGGREGATE, __pyx_k_BP_AGGREGATE, sizeof(__pyx_k_BP_AGGREGATE), 0, 0, 1, 1},
{&__pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_k_BUFFER_ALLOC_WHEN, sizeof(__pyx_k_BUFFER_ALLOC_WHEN), 0, 0, 1, 1},
{&__pyx_n_s_COMM_SELF, __pyx_k_COMM_SELF, sizeof(__pyx_k_COMM_SELF), 0, 0, 1, 1},
{&__pyx_n_s_COMM_WORLD, __pyx_k_COMM_WORLD, sizeof(__pyx_k_COMM_WORLD), 0, 0, 1, 1},
- {&__pyx_kp_s_Count_dimension_mismatch, __pyx_k_Count_dimension_mismatch, sizeof(__pyx_k_Count_dimension_mismatch), 0, 0, 1, 0},
- {&__pyx_kp_s_Count_is_larger_than_shape, __pyx_k_Count_is_larger_than_shape, sizeof(__pyx_k_Count_is_larger_than_shape), 0, 0, 1, 0},
+ {&__pyx_kp_s_Count_dimension_mismatch_count_d, __pyx_k_Count_dimension_mismatch_count_d, sizeof(__pyx_k_Count_dimension_mismatch_count_d), 0, 0, 1, 0},
{&__pyx_n_s_DATASPACES, __pyx_k_DATASPACES, sizeof(__pyx_k_DATASPACES), 0, 0, 1, 1},
{&__pyx_n_s_DATATYPE, __pyx_k_DATATYPE, sizeof(__pyx_k_DATATYPE), 0, 0, 1, 1},
{&__pyx_n_s_DIMES, __pyx_k_DIMES, sizeof(__pyx_k_DIMES), 0, 0, 1, 1},
{&__pyx_kp_s_Data_type_is_not_supported_yet, __pyx_k_Data_type_is_not_supported_yet, sizeof(__pyx_k_Data_type_is_not_supported_yet), 0, 0, 1, 0},
+ {&__pyx_kp_u_Define_a_group_associated_with, __pyx_k_Define_a_group_associated_with, sizeof(__pyx_k_Define_a_group_associated_with), 0, 1, 0, 0},
+ {&__pyx_kp_u_Define_a_variable_associated_wi, __pyx_k_Define_a_variable_associated_wi, sizeof(__pyx_k_Define_a_variable_associated_wi), 0, 1, 0, 0},
+ {&__pyx_n_s_Ellipsis, __pyx_k_Ellipsis, sizeof(__pyx_k_Ellipsis), 0, 0, 1, 1},
{&__pyx_n_s_FLAG, __pyx_k_FLAG, sizeof(__pyx_k_FLAG), 0, 0, 1, 1},
{&__pyx_n_s_FLEXPATH, __pyx_k_FLEXPATH, sizeof(__pyx_k_FLEXPATH), 0, 0, 1, 1},
{&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},
{&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},
{&__pyx_n_s_ICEE, __pyx_k_ICEE, sizeof(__pyx_k_ICEE), 0, 0, 1, 1},
+ {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
+ {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
{&__pyx_n_s_LATER, __pyx_k_LATER, sizeof(__pyx_k_LATER), 0, 0, 1, 1},
{&__pyx_n_s_MPI, __pyx_k_MPI, sizeof(__pyx_k_MPI), 0, 0, 1, 1},
{&__pyx_n_s_NO, __pyx_k_NO, sizeof(__pyx_k_NO), 0, 0, 1, 1},
{&__pyx_n_s_NOW, __pyx_k_NOW, sizeof(__pyx_k_NOW), 0, 0, 1, 1},
+ {&__pyx_kp_s_Name_index_r_is_not_supported, __pyx_k_Name_index_r_is_not_supported, sizeof(__pyx_k_Name_index_r_is_not_supported), 0, 0, 1, 0},
{&__pyx_kp_s_No_valid_variable, __pyx_k_No_valid_variable, sizeof(__pyx_k_No_valid_variable), 0, 0, 1, 0},
{&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},
+ {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1},
{&__pyx_kp_s_Not_a_valid_var, __pyx_k_Not_a_valid_var, sizeof(__pyx_k_Not_a_valid_var), 0, 0, 1, 0},
{&__pyx_kp_s_Not_an_open_file, __pyx_k_Not_an_open_file, sizeof(__pyx_k_Not_an_open_file), 0, 0, 1, 0},
{&__pyx_kp_s_Not_an_open_var, __pyx_k_Not_an_open_var, sizeof(__pyx_k_Not_an_open_var), 0, 0, 1, 0},
{&__pyx_kp_s_Not_an_open_variable, __pyx_k_Not_an_open_variable, sizeof(__pyx_k_Not_an_open_variable), 0, 0, 1, 0},
- {&__pyx_kp_s_Offset_dimension_mismatch, __pyx_k_Offset_dimension_mismatch, sizeof(__pyx_k_Offset_dimension_mismatch), 0, 0, 1, 0},
+ {&__pyx_kp_s_Offset_dimension_mismatch_offset, __pyx_k_Offset_dimension_mismatch_offset, sizeof(__pyx_k_Offset_dimension_mismatch_offset), 0, 0, 1, 0},
{&__pyx_kp_s_Only_contiguous_arrays_are_suppo, __pyx_k_Only_contiguous_arrays_are_suppo, sizeof(__pyx_k_Only_contiguous_arrays_are_suppo), 0, 0, 1, 0},
+ {&__pyx_kp_u_Perform_read_Read_data_from_an, __pyx_k_Perform_read_Read_data_from_an, sizeof(__pyx_k_Perform_read_Read_data_from_an), 0, 1, 0, 0},
+ {&__pyx_n_s_READ_METHOD, __pyx_k_READ_METHOD, sizeof(__pyx_k_READ_METHOD), 0, 0, 1, 1},
{&__pyx_kp_s_Reading, __pyx_k_Reading, sizeof(__pyx_k_Reading), 0, 0, 1, 0},
+ {&__pyx_kp_s_Requested_is_larger_than_the_sha, __pyx_k_Requested_is_larger_than_the_sha, sizeof(__pyx_k_Requested_is_larger_than_the_sha), 0, 0, 1, 0},
{&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
- {&__pyx_kp_s_Step_index_is_out_of_range, __pyx_k_Step_index_is_out_of_range, sizeof(__pyx_k_Step_index_is_out_of_range), 0, 0, 1, 0},
+ {&__pyx_n_s_S, __pyx_k_S, sizeof(__pyx_k_S), 0, 0, 1, 1},
+ {&__pyx_kp_s_Step_index_is_out_of_range_from, __pyx_k_Step_index_is_out_of_range_from, sizeof(__pyx_k_Step_index_is_out_of_range_from), 0, 0, 1, 0},
+ {&__pyx_kp_s_Step_size_d_is_not_supported, __pyx_k_Step_size_d_is_not_supported, sizeof(__pyx_k_Step_size_d_is_not_supported), 0, 0, 1, 0},
+ {&__pyx_kp_s_Too_many_indices_for_data, __pyx_k_Too_many_indices_for_data, sizeof(__pyx_k_Too_many_indices_for_data), 0, 0, 1, 0},
+ {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
{&__pyx_n_s_UNKNOWN, __pyx_k_UNKNOWN, sizeof(__pyx_k_UNKNOWN), 0, 0, 1, 1},
+ {&__pyx_kp_s_Unhashable_type, __pyx_k_Unhashable_type, sizeof(__pyx_k_Unhashable_type), 0, 0, 1, 0},
{&__pyx_kp_s_Use_default_BP_method, __pyx_k_Use_default_BP_method, sizeof(__pyx_k_Use_default_BP_method), 0, 0, 1, 0},
{&__pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_k_Users_jyc_project_adios_devel_w, sizeof(__pyx_k_Users_jyc_project_adios_devel_w), 0, 0, 1, 0},
{&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
+ {&__pyx_kp_s_Value_is_none, __pyx_k_Value_is_none, sizeof(__pyx_k_Value_is_none), 0, 0, 1, 0},
{&__pyx_kp_s_WARN_Invalid_read_method_name, __pyx_k_WARN_Invalid_read_method_name, sizeof(__pyx_k_WARN_Invalid_read_method_name), 0, 0, 1, 0},
+ {&__pyx_kp_s_Warning_No_support_yet_s_type_d, __pyx_k_Warning_No_support_yet_s_type_d, sizeof(__pyx_k_Warning_No_support_yet_s_type_d), 0, 0, 1, 0},
{&__pyx_n_s_YES, __pyx_k_YES, sizeof(__pyx_k_YES), 0, 0, 1, 1},
- {&__pyx_n_s__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 0, 1, 1},
- {&__pyx_kp_s__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 0, 1, 0},
+ {&__pyx_kp_s__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 0, 1, 0},
+ {&__pyx_kp_s__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 0, 1, 0},
+ {&__pyx_kp_s__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 0, 1, 0},
+ {&__pyx_n_s__45, __pyx_k__45, sizeof(__pyx_k__45), 0, 0, 1, 1},
+ {&__pyx_kp_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 0},
{&__pyx_n_s_adios_mpi, __pyx_k_adios_mpi, sizeof(__pyx_k_adios_mpi), 0, 0, 1, 1},
{&__pyx_n_s_advance, __pyx_k_advance, sizeof(__pyx_k_advance), 0, 0, 1, 1},
- {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1},
+ {&__pyx_n_s_any, __pyx_k_any, sizeof(__pyx_k_any), 0, 0, 1, 1},
+ {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
{&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
{&__pyx_n_s_attr_namelist, __pyx_k_attr_namelist, sizeof(__pyx_k_attr_namelist), 0, 0, 1, 1},
+ {&__pyx_n_s_attrname, __pyx_k_attrname, sizeof(__pyx_k_attrname), 0, 0, 1, 1},
{&__pyx_n_s_attrs, __pyx_k_attrs, sizeof(__pyx_k_attrs), 0, 0, 1, 1},
+ {&__pyx_n_s_atype, __pyx_k_atype, sizeof(__pyx_k_atype), 0, 0, 1, 1},
{&__pyx_n_s_base_path, __pyx_k_base_path, sizeof(__pyx_k_base_path), 0, 0, 1, 1},
{&__pyx_n_s_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1},
{&__pyx_n_s_bpls, __pyx_k_bpls, sizeof(__pyx_k_bpls), 0, 0, 1, 1},
{&__pyx_n_s_buffer_size, __pyx_k_buffer_size, sizeof(__pyx_k_buffer_size), 0, 0, 1, 1},
{&__pyx_n_s_byte, __pyx_k_byte, sizeof(__pyx_k_byte), 0, 0, 1, 1},
{&__pyx_kp_s_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 0, 1, 0},
+ {&__pyx_n_s_bytes_2, __pyx_k_bytes_2, sizeof(__pyx_k_bytes_2), 0, 0, 1, 1},
+ {&__pyx_n_s_char, __pyx_k_char, sizeof(__pyx_k_char), 0, 0, 1, 1},
{&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
{&__pyx_n_s_comm, __pyx_k_comm, sizeof(__pyx_k_comm), 0, 0, 1, 1},
{&__pyx_n_s_complex, __pyx_k_complex, sizeof(__pyx_k_complex), 0, 0, 1, 1},
@@ -13914,6 +24821,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1},
{&__pyx_n_s_current_step, __pyx_k_current_step, sizeof(__pyx_k_current_step), 0, 0, 1, 1},
{&__pyx_n_s_data_size, __pyx_k_data_size, sizeof(__pyx_k_data_size), 0, 0, 1, 1},
+ {&__pyx_n_s_define, __pyx_k_define, sizeof(__pyx_k_define), 0, 0, 1, 1},
{&__pyx_n_s_dimensions, __pyx_k_dimensions, sizeof(__pyx_k_dimensions), 0, 0, 1, 1},
{&__pyx_n_s_dims, __pyx_k_dims, sizeof(__pyx_k_dims), 0, 0, 1, 1},
{&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
@@ -13923,6 +24831,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
{&__pyx_n_s_endianness, __pyx_k_endianness, sizeof(__pyx_k_endianness), 0, 0, 1, 1},
{&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
+ {&__pyx_n_s_factory, __pyx_k_factory, sizeof(__pyx_k_factory), 0, 0, 1, 1},
{&__pyx_n_s_fd_p, __pyx_k_fd_p, sizeof(__pyx_k_fd_p), 0, 0, 1, 1},
{&__pyx_n_s_fh, __pyx_k_fh, sizeof(__pyx_k_fh), 0, 0, 1, 1},
{&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
@@ -13937,22 +24846,35 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_fname, __pyx_k_fname, sizeof(__pyx_k_fname), 0, 0, 1, 1},
{&__pyx_n_s_fp, __pyx_k_fp, sizeof(__pyx_k_fp), 0, 0, 1, 1},
{&__pyx_n_s_from_steps, __pyx_k_from_steps, sizeof(__pyx_k_from_steps), 0, 0, 1, 1},
+ {&__pyx_n_s_gdim, __pyx_k_gdim, sizeof(__pyx_k_gdim), 0, 0, 1, 1},
+ {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
+ {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
+ {&__pyx_n_s_getitem___locals_genexpr, __pyx_k_getitem___locals_genexpr, sizeof(__pyx_k_getitem___locals_genexpr), 0, 0, 1, 1},
{&__pyx_n_s_global_dimensions, __pyx_k_global_dimensions, sizeof(__pyx_k_global_dimensions), 0, 0, 1, 1},
+ {&__pyx_n_s_gname, __pyx_k_gname, sizeof(__pyx_k_gname), 0, 0, 1, 1},
{&__pyx_n_s_group, __pyx_k_group, sizeof(__pyx_k_group), 0, 0, 1, 1},
{&__pyx_n_s_group_id, __pyx_k_group_id, sizeof(__pyx_k_group_id), 0, 0, 1, 1},
{&__pyx_n_s_group_name, __pyx_k_group_name, sizeof(__pyx_k_group_name), 0, 0, 1, 1},
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+ {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
+ {&__pyx_n_s_indices, __pyx_k_indices, sizeof(__pyx_k_indices), 0, 0, 1, 1},
+ {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
{&__pyx_n_s_int16, __pyx_k_int16, sizeof(__pyx_k_int16), 0, 0, 1, 1},
{&__pyx_n_s_int32, __pyx_k_int32, sizeof(__pyx_k_int32), 0, 0, 1, 1},
{&__pyx_n_s_int64, __pyx_k_int64, sizeof(__pyx_k_int64), 0, 0, 1, 1},
{&__pyx_n_s_int8, __pyx_k_int8, sizeof(__pyx_k_int8), 0, 0, 1, 1},
{&__pyx_n_s_integer, __pyx_k_integer, sizeof(__pyx_k_integer), 0, 0, 1, 1},
+ {&__pyx_n_s_is_noxml, __pyx_k_is_noxml, sizeof(__pyx_k_is_noxml), 0, 0, 1, 1},
+ {&__pyx_n_s_is_static, __pyx_k_is_static, sizeof(__pyx_k_is_static), 0, 0, 1, 1},
{&__pyx_n_s_is_stream, __pyx_k_is_stream, sizeof(__pyx_k_is_stream), 0, 0, 1, 1},
{&__pyx_n_s_itemsize, __pyx_k_itemsize, sizeof(__pyx_k_itemsize), 0, 0, 1, 1},
+ {&__pyx_n_s_iteritems, __pyx_k_iteritems, sizeof(__pyx_k_iteritems), 0, 0, 1, 1},
{&__pyx_n_s_iterkeys, __pyx_k_iterkeys, sizeof(__pyx_k_iterkeys), 0, 0, 1, 1},
{&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
+ {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
{&__pyx_n_s_last, __pyx_k_last, sizeof(__pyx_k_last), 0, 0, 1, 1},
{&__pyx_n_s_last_step, __pyx_k_last_step, sizeof(__pyx_k_last_step), 0, 0, 1, 1},
+ {&__pyx_n_s_ldim, __pyx_k_ldim, sizeof(__pyx_k_ldim), 0, 0, 1, 1},
{&__pyx_n_s_local_offsets, __pyx_k_local_offsets, sizeof(__pyx_k_local_offsets), 0, 0, 1, 1},
{&__pyx_n_s_lock_mode, __pyx_k_lock_mode, sizeof(__pyx_k_lock_mode), 0, 0, 1, 1},
{&__pyx_n_s_long, __pyx_k_long, sizeof(__pyx_k_long), 0, 0, 1, 1},
@@ -13961,6 +24883,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
{&__pyx_n_s_method, __pyx_k_method, sizeof(__pyx_k_method), 0, 0, 1, 1},
{&__pyx_n_s_method_name, __pyx_k_method_name, sizeof(__pyx_k_method_name), 0, 0, 1, 1},
+ {&__pyx_n_s_method_params, __pyx_k_method_params, sizeof(__pyx_k_method_params), 0, 0, 1, 1},
{&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1},
{&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
{&__pyx_n_s_mpi4py_MPI, __pyx_k_mpi4py_MPI, sizeof(__pyx_k_mpi4py_MPI), 0, 0, 1, 1},
@@ -13986,13 +24909,25 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1},
{&__pyx_n_s_readvar, __pyx_k_readvar, sizeof(__pyx_k_readvar), 0, 0, 1, 1},
{&__pyx_n_s_real, __pyx_k_real, sizeof(__pyx_k_real), 0, 0, 1, 1},
+ {&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
+ {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
+ {&__pyx_n_s_setitem, __pyx_k_setitem, sizeof(__pyx_k_setitem), 0, 0, 1, 1},
+ {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1},
{&__pyx_n_s_short, __pyx_k_short, sizeof(__pyx_k_short), 0, 0, 1, 1},
{&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
{&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
+ {&__pyx_n_s_squeeze, __pyx_k_squeeze, sizeof(__pyx_k_squeeze), 0, 0, 1, 1},
{&__pyx_n_s_stats, __pyx_k_stats, sizeof(__pyx_k_stats), 0, 0, 1, 1},
+ {&__pyx_n_s_step, __pyx_k_step, sizeof(__pyx_k_step), 0, 0, 1, 1},
{&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
{&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1},
+ {&__pyx_n_s_string_array, __pyx_k_string_array, sizeof(__pyx_k_string_array), 0, 0, 1, 1},
+ {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
+ {&__pyx_n_s_strlen, __pyx_k_strlen, sizeof(__pyx_k_strlen), 0, 0, 1, 1},
+ {&__pyx_n_s_subtract, __pyx_k_subtract, sizeof(__pyx_k_subtract), 0, 0, 1, 1},
+ {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1},
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
+ {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
{&__pyx_n_s_time_index, __pyx_k_time_index, sizeof(__pyx_k_time_index), 0, 0, 1, 1},
{&__pyx_n_s_time_steps, __pyx_k_time_steps, sizeof(__pyx_k_time_steps), 0, 0, 1, 1},
{&__pyx_n_s_timeout_sec, __pyx_k_timeout_sec, sizeof(__pyx_k_timeout_sec), 0, 0, 1, 1},
@@ -14010,21 +24945,39 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
{&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1},
{&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
+ {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
{&__pyx_n_s_var, __pyx_k_var, sizeof(__pyx_k_var), 0, 0, 1, 1},
{&__pyx_n_s_var_namelist, __pyx_k_var_namelist, sizeof(__pyx_k_var_namelist), 0, 0, 1, 1},
+ {&__pyx_kp_u_var_read_line_887, __pyx_k_var_read_line_887, sizeof(__pyx_k_var_read_line_887), 0, 1, 0, 0},
{&__pyx_n_s_varid, __pyx_k_varid, sizeof(__pyx_k_varid), 0, 0, 1, 1},
{&__pyx_n_s_varname, __pyx_k_varname, sizeof(__pyx_k_varname), 0, 0, 1, 1},
{&__pyx_n_s_vars, __pyx_k_vars, sizeof(__pyx_k_vars), 0, 0, 1, 1},
{&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1},
{&__pyx_n_s_vp, __pyx_k_vp, sizeof(__pyx_k_vp), 0, 0, 1, 1},
{&__pyx_n_s_when, __pyx_k_when, sizeof(__pyx_k_when), 0, 0, 1, 1},
+ {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1},
+ {&__pyx_kp_u_writer_declare_group_line_1221, __pyx_k_writer_declare_group_line_1221, sizeof(__pyx_k_writer_declare_group_line_1221), 0, 1, 0, 0},
+ {&__pyx_kp_u_writer_define_var_line_1243, __pyx_k_writer_define_var_line_1243, sizeof(__pyx_k_writer_define_var_line_1243), 0, 1, 0, 0},
+ {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
{&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1},
+ {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #if PY_MAJOR_VERSION >= 3
+ __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #else
+ __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #endif
+ __pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_n_s_Ellipsis); if (!__pyx_builtin_Ellipsis) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
return 0;
__pyx_L1_error:;
return -1;
@@ -14034,117 +24987,289 @@ static int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "adios_mpi.pyx":539
+ /* "adios_mpi.pyx":287
+ * for slice_ in index:
+ * if slice_ is Ellipsis:
+ * fixed.extend([slice(None)] * (ndim-length-len(fixed)+1)) # <<<<<<<<<<<<<<
+ * elif isinstance(slice_, (int, long)):
+ * fixed.append(slice(slice_, slice_+1, None))
+ */
+ __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice_);
+ __Pyx_GIVEREF(__pyx_slice_);
+
+ /* "adios_mpi.pyx":296
+ * index = tuple(fixed)
+ * if len(index) < ndim:
+ * index += (slice(None),) * (ndim-len(index)) # <<<<<<<<<<<<<<
+ *
+ * return index
+ */
+ __pyx_slice__2 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__2);
+ __Pyx_GIVEREF(__pyx_slice__2);
+ __pyx_tuple__3 = PyTuple_New(1); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__3);
+ __Pyx_INCREF(__pyx_slice__2);
+ PyTuple_SET_ITEM(__pyx_tuple__3, 0, __pyx_slice__2);
+ __Pyx_GIVEREF(__pyx_slice__2);
+ __Pyx_GIVEREF(__pyx_tuple__3);
+
+ /* "adios_mpi.pyx":703
* assert self.fp != NULL, 'Not an open file'
*
* self.name = fname.split('/')[-1] ## basename # <<<<<<<<<<<<<<
* self.nvars = self.fp.nvars
* self.nattrs = self.fp.nattrs
*/
- __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__9);
- __Pyx_GIVEREF(__pyx_tuple__9);
+ __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s__11); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__12);
+ __Pyx_GIVEREF(__pyx_tuple__12);
+
+ /* "adios_mpi.pyx":775
+ * for key_ in varname:
+ * if not isinstance(key_, str):
+ * raise TypeError("Unhashable type") # <<<<<<<<<<<<<<
+ *
+ * if key_ in self.var.keys():
+ */
+ __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_Unhashable_type); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__13);
+ __Pyx_GIVEREF(__pyx_tuple__13);
- /* "adios_mpi.pyx":621
+ /* "adios_mpi.pyx":950
* if len(offset) == 0:
* npoffset = npshape.copy()
* npoffset.fill(0) # <<<<<<<<<<<<<<
* else:
* npoffset = np.array(offset, dtype=np.int64)
*/
- __pyx_tuple__10 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__10);
- __Pyx_GIVEREF(__pyx_tuple__10);
+ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__14);
+ __Pyx_GIVEREF(__pyx_tuple__14);
+
+ /* "adios_mpi.pyx":967
+ *
+ * if (npshape < npcount + npoffset).any():
+ * raise IndexError('Requested is larger than the shape.') # <<<<<<<<<<<<<<
+ *
+ * shape = list(npcount)
+ */
+ __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_Requested_is_larger_than_the_sha); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__15);
+ __Pyx_GIVEREF(__pyx_tuple__15);
+
+ /* "adios_mpi.pyx":975
+ *
+ * if len(shape) > 0:
+ * var[:] = fill # <<<<<<<<<<<<<<
+ *
+ * cdef ADIOS_SELECTION * sel
+ */
+ __pyx_slice__16 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__16);
+ __Pyx_GIVEREF(__pyx_slice__16);
+
+ /* "adios_mpi.pyx":1016
+ *
+ * if (ndim_ > 0) and (len(index_) > ndim_):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ */
+ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_Too_many_indices_for_data); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__17);
+ __Pyx_GIVEREF(__pyx_tuple__17);
+
+ /* "adios_mpi.pyx":1019
+ *
+ * if (ndim_ == 0) and (len(index_) > 1):
+ * raise IndexError("Too many indices for data") # <<<<<<<<<<<<<<
+ *
+ * for slice_ in index_:
+ */
+ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_Too_many_indices_for_data); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__18);
+ __Pyx_GIVEREF(__pyx_tuple__18);
+
+ /* "adios_mpi.pyx":1035
+ * from_steps_ = z[0][0]
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:] # <<<<<<<<<<<<<<
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ * else:
+ */
+ __pyx_slice__19 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__19);
+ __Pyx_GIVEREF(__pyx_slice__19);
+
+ /* "adios_mpi.pyx":1036
+ * nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ * offset_ = z[0][1:]
+ * count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1) # <<<<<<<<<<<<<<
+ * else:
+ * indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ */
+ __pyx_slice__20 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__20);
+ __Pyx_GIVEREF(__pyx_slice__20);
+ __pyx_slice__21 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__21);
+ __Pyx_GIVEREF(__pyx_slice__21);
+
+ /* "adios_mpi.pyx":1383
+ * if self.is_static:
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * define_attribute_byvalue(gid, self.name, "", self.value)
+ */
+ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_Value_is_none); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__26);
+ __Pyx_GIVEREF(__pyx_tuple__26);
+
+ /* "adios_mpi.pyx":1417
+ * def define(self, int64_t gid):
+ * if self.value is None:
+ * raise TypeError("Value is none") # <<<<<<<<<<<<<<
+ *
+ * ldim_ = self.ldim
+ */
+ __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_Value_is_none); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__30);
+ __Pyx_GIVEREF(__pyx_tuple__30);
+
+ /* "adios_mpi.pyx":1438
+ * ## No space allowed
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)'))
+ */
+ __pyx_tuple__32 = PyTuple_Pack(2, __pyx_kp_s__31, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__32);
+ __Pyx_GIVEREF(__pyx_tuple__32);
+ __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__34);
+ __Pyx_GIVEREF(__pyx_tuple__34);
+
+ /* "adios_mpi.pyx":1439
+ * define_var(gid, self.name, "", atype,
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'), # <<<<<<<<<<<<<<
+ * str(offset_).replace(' ', '').strip('(,)'))
+ *
+ */
+ __pyx_tuple__35 = PyTuple_Pack(2, __pyx_kp_s__31, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__35);
+ __Pyx_GIVEREF(__pyx_tuple__35);
+ __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__36);
+ __Pyx_GIVEREF(__pyx_tuple__36);
+
+ /* "adios_mpi.pyx":1440
+ * str(ldim_).replace(' ', '').strip('(,)'),
+ * str(gdim_).replace(' ', '').strip('(,)'),
+ * str(offset_).replace(' ', '').strip('(,)')) # <<<<<<<<<<<<<<
+ *
+ * def bytes(self):
+ */
+ __pyx_tuple__37 = PyTuple_Pack(2, __pyx_kp_s__31, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__37);
+ __Pyx_GIVEREF(__pyx_tuple__37);
+ __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__38);
+ __Pyx_GIVEREF(__pyx_tuple__38);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218
* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
* and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
* raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
*
* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
*/
- __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__11);
- __Pyx_GIVEREF(__pyx_tuple__11);
+ __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__39);
+ __Pyx_GIVEREF(__pyx_tuple__39);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
* and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
* raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
*
* info.buf = PyArray_DATA(self)
*/
- __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__12);
- __Pyx_GIVEREF(__pyx_tuple__12);
+ __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__40);
+ __Pyx_GIVEREF(__pyx_tuple__40);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
* if ((descr.byteorder == c'>' and little_endian) or
* (descr.byteorder == c'<' and not little_endian)):
* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
* if t == NPY_BYTE: f = "b"
* elif t == NPY_UBYTE: f = "B"
*/
- __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__13);
- __Pyx_GIVEREF(__pyx_tuple__13);
+ __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__41);
+ __Pyx_GIVEREF(__pyx_tuple__41);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":799
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
*
* if (end - f) - <int>(new_offset - offset[0]) < 15:
* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
*
* if ((child.byteorder == c'>' and little_endian) or
*/
- __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__14);
- __Pyx_GIVEREF(__pyx_tuple__14);
+ __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__42);
+ __Pyx_GIVEREF(__pyx_tuple__42);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":803
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
* if ((child.byteorder == c'>' and little_endian) or
* (child.byteorder == c'<' and not little_endian)):
* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
* # One could encode it in the format string and have Cython
* # complain instead, BUT: < and > in format strings also imply
*/
- __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__15);
- __Pyx_GIVEREF(__pyx_tuple__15);
+ __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__43)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__43);
+ __Pyx_GIVEREF(__pyx_tuple__43);
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":823
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
* t = child.type_num
* if end - f < 5:
* raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
*
* # Until ticket #99 is fixed, use integers to avoid warnings
*/
- __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__16);
- __Pyx_GIVEREF(__pyx_tuple__16);
+ __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__44);
+ __Pyx_GIVEREF(__pyx_tuple__44);
- /* "adios_mpi.pyx":660
+ /* "adios_mpi.pyx":1464
* ## ====================
*
* def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * if not f.var.has_key(varname):
+ * """ Retrieve a variable value from an Adios file.
+ *
*/
- __pyx_tuple__18 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_varname, __pyx_n_s_f, __pyx_n_s_v); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__18);
- __Pyx_GIVEREF(__pyx_tuple__18);
- __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_readvar, 660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__46 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_varname, __pyx_n_s_f, __pyx_n_s_v); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__46);
+ __Pyx_GIVEREF(__pyx_tuple__46);
+ __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_readvar, 1464, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":669
+ /* "adios_mpi.pyx":1482
* return v.read(from_steps=0, nsteps=v.nsteps)
*
* def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * return {'nvars': f.nvars,
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
*/
- __pyx_tuple__20 = PyTuple_Pack(3, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_k); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__20);
- __Pyx_GIVEREF(__pyx_tuple__20);
- __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_bpls, 669, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__48 = PyTuple_Pack(3, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_k); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__48);
+ __Pyx_GIVEREF(__pyx_tuple__48);
+ __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_jyc_project_adios_devel_w, __pyx_n_s_bpls, 1482, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -14157,6 +25282,7 @@ static int __Pyx_InitGlobals(void) {
__pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -14164,6 +25290,7 @@ static int __Pyx_InitGlobals(void) {
__pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_int_12 = PyInt_FromLong(12); if (unlikely(!__pyx_int_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_50 = PyInt_FromLong(50); if (unlikely(!__pyx_int_50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_51 = PyInt_FromLong(51); if (unlikely(!__pyx_int_51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_int_52 = PyInt_FromLong(52); if (unlikely(!__pyx_int_52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -14219,7 +25346,7 @@ PyMODINIT_FUNC PyInit_adios_mpi(void)
#endif
/*--- Module creation code ---*/
#if PY_MAJOR_VERSION < 3
- __pyx_m = Py_InitModule4("adios_mpi", __pyx_methods, __pyx_k_ADIOS_is_freely_available_under, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
+ __pyx_m = Py_InitModule4("adios_mpi", __pyx_methods, __pyx_k_ADIOS_ADIOS_python_module_module, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
#else
__pyx_m = PyModule_Create(&__pyx_moduledef);
#endif
@@ -14259,20 +25386,71 @@ PyMODINIT_FUNC PyInit_adios_mpi(void)
__pyx_vtable_9adios_mpi_file.close = (PyObject *(*)(struct __pyx_obj_9adios_mpi_file *, int __pyx_skip_dispatch))__pyx_f_9adios_mpi_4file_close;
__pyx_vtable_9adios_mpi_file.printself = (PyObject *(*)(struct __pyx_obj_9adios_mpi_file *, int __pyx_skip_dispatch))__pyx_f_9adios_mpi_4file_printself;
__pyx_vtable_9adios_mpi_file.advance = (PyObject *(*)(struct __pyx_obj_9adios_mpi_file *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_4file_advance *__pyx_optional_args))__pyx_f_9adios_mpi_4file_advance;
- if (PyType_Ready(&__pyx_type_9adios_mpi_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_9adios_mpi_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_9adios_mpi_file.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_9adios_mpi_file.tp_dict, __pyx_vtabptr_9adios_mpi_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "file", (PyObject *)&__pyx_type_9adios_mpi_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ #if CYTHON_COMPILING_IN_CPYTHON
+ {
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9adios_mpi_file, "__getitem__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
+ __pyx_wrapperbase_9adios_mpi_4file_10__getitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
+ __pyx_wrapperbase_9adios_mpi_4file_10__getitem__.doc = __pyx_doc_9adios_mpi_4file_10__getitem__;
+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9adios_mpi_4file_10__getitem__;
+ }
+ }
+ #endif
+ #if CYTHON_COMPILING_IN_CPYTHON
+ {
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9adios_mpi_file, "__repr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
+ __pyx_wrapperbase_9adios_mpi_4file_12__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
+ __pyx_wrapperbase_9adios_mpi_4file_12__repr__.doc = __pyx_doc_9adios_mpi_4file_12__repr__;
+ ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9adios_mpi_4file_12__repr__;
+ }
+ }
+ #endif
+ if (__Pyx_SetVtable(__pyx_type_9adios_mpi_file.tp_dict, __pyx_vtabptr_9adios_mpi_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "file", (PyObject *)&__pyx_type_9adios_mpi_file) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_9adios_mpi_file = &__pyx_type_9adios_mpi_file;
__pyx_vtabptr_9adios_mpi_var = &__pyx_vtable_9adios_mpi_var;
__pyx_vtable_9adios_mpi_var.close = (PyObject *(*)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch))__pyx_f_9adios_mpi_3var_close;
+ __pyx_vtable_9adios_mpi_var.advance = (PyObject *(*)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch))__pyx_f_9adios_mpi_3var_advance;
__pyx_vtable_9adios_mpi_var.read = (PyObject *(*)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch, struct __pyx_opt_args_9adios_mpi_3var_read *__pyx_optional_args))__pyx_f_9adios_mpi_3var_read;
__pyx_vtable_9adios_mpi_var.printself = (PyObject *(*)(struct __pyx_obj_9adios_mpi_var *, int __pyx_skip_dispatch))__pyx_f_9adios_mpi_3var_printself;
- if (PyType_Ready(&__pyx_type_9adios_mpi_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_9adios_mpi_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_9adios_mpi_var.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_9adios_mpi_var.tp_dict, __pyx_vtabptr_9adios_mpi_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "var", (PyObject *)&__pyx_type_9adios_mpi_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_9adios_mpi_var.tp_dict, __pyx_vtabptr_9adios_mpi_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "var", (PyObject *)&__pyx_type_9adios_mpi_var) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_9adios_mpi_var = &__pyx_type_9adios_mpi_var;
+ if (PyType_Ready(&__pyx_type_9adios_mpi_attr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi_attr.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "attr", (PyObject *)&__pyx_type_9adios_mpi_attr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_9adios_mpi_attr = &__pyx_type_9adios_mpi_attr;
+ __pyx_type_9adios_mpi_smartdict.tp_base = (&PyDict_Type);
+ if (PyType_Ready(&__pyx_type_9adios_mpi_smartdict) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi_smartdict.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "smartdict", (PyObject *)&__pyx_type_9adios_mpi_smartdict) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_9adios_mpi_smartdict = &__pyx_type_9adios_mpi_smartdict;
+ if (PyType_Ready(&__pyx_type_9adios_mpi_writer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi_writer.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "writer", (PyObject *)&__pyx_type_9adios_mpi_writer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_9adios_mpi_writer = &__pyx_type_9adios_mpi_writer;
+ if (PyType_Ready(&__pyx_type_9adios_mpi_attrinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi_attrinfo.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "attrinfo", (PyObject *)&__pyx_type_9adios_mpi_attrinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_9adios_mpi_attrinfo = &__pyx_type_9adios_mpi_attrinfo;
+ if (PyType_Ready(&__pyx_type_9adios_mpi_varinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi_varinfo.tp_print = 0;
+ if (PyObject_SetAttrString(__pyx_m, "varinfo", (PyObject *)&__pyx_type_9adios_mpi_varinfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_9adios_mpi_varinfo = &__pyx_type_9adios_mpi_varinfo;
+ if (PyType_Ready(&__pyx_type_9adios_mpi___pyx_scope_struct____getitem__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi___pyx_scope_struct____getitem__.tp_print = 0;
+ __pyx_ptype_9adios_mpi___pyx_scope_struct____getitem__ = &__pyx_type_9adios_mpi___pyx_scope_struct____getitem__;
+ if (PyType_Ready(&__pyx_type_9adios_mpi___pyx_scope_struct_1_genexpr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi___pyx_scope_struct_1_genexpr.tp_print = 0;
+ __pyx_ptype_9adios_mpi___pyx_scope_struct_1_genexpr = &__pyx_type_9adios_mpi___pyx_scope_struct_1_genexpr;
+ if (PyType_Ready(&__pyx_type_9adios_mpi___pyx_scope_struct_2_genexpr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_type_9adios_mpi___pyx_scope_struct_2_genexpr.tp_print = 0;
+ __pyx_ptype_9adios_mpi___pyx_scope_struct_2_genexpr = &__pyx_type_9adios_mpi___pyx_scope_struct_2_genexpr;
/*--- Type import code ---*/
__pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type",
#if CYTHON_COMPILING_IN_PYPY
@@ -14282,10 +25460,10 @@ PyMODINIT_FUNC PyInit_adios_mpi(void)
#endif
0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_6mpi4py_3MPI_Status = __Pyx_ImportType("mpi4py.MPI", "Status", sizeof(struct PyMPIStatusObject), 1); if (unlikely(!__pyx_ptype_6mpi4py_3MPI_Status)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_6mpi4py_3MPI_Datatype = __Pyx_ImportType("mpi4py.MPI", "Datatype", sizeof(struct PyMPIDatatypeObject), 1); if (unlikely(!__pyx_ptype_6mpi4py_3MPI_Datatype)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_6mpi4py_3MPI_Request = __Pyx_ImportType("mpi4py.MPI", "Request", sizeof(struct PyMPIRequestObject), 1); if (unlikely(!__pyx_ptype_6mpi4py_3MPI_Request)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -14307,491 +25485,675 @@ PyMODINIT_FUNC PyInit_adios_mpi(void)
/*--- Function import code ---*/
/*--- Execution code ---*/
- /* "adios_mpi.pyx":12
+ /* "adios_mpi.pyx":7
* """
*
* import numpy as np # <<<<<<<<<<<<<<
* cimport numpy as np
*
*/
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "adios_mpi.pyx":15
+ /* "adios_mpi.pyx":10
* cimport numpy as np
*
* import mpi4py.MPI as MPI # <<<<<<<<<<<<<<
* cimport mpi4py.MPI as MPI
*
*/
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_n_s__17);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__17);
- __Pyx_GIVEREF(__pyx_n_s__17);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_mpi4py_MPI, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_INCREF(__pyx_n_s__45);
+ PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__45);
+ __Pyx_GIVEREF(__pyx_n_s__45);
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_mpi4py_MPI, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_MPI, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MPI, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios_mpi.pyx":227
+ /* "adios_mpi.pyx":240
* ## ====================
*
* class DATATYPE: # <<<<<<<<<<<<<<
* unknown = -1
* byte = 0
*/
- __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_DATATYPE, __pyx_n_s_DATATYPE, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_DATATYPE, __pyx_n_s_DATATYPE, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- /* "adios_mpi.pyx":228
+ /* "adios_mpi.pyx":241
*
* class DATATYPE:
* unknown = -1 # <<<<<<<<<<<<<<
* byte = 0
* short = 1
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unknown, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unknown, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":229
+ /* "adios_mpi.pyx":242
* class DATATYPE:
* unknown = -1
* byte = 0 # <<<<<<<<<<<<<<
* short = 1
* integer = 2
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_byte, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_byte, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":230
+ /* "adios_mpi.pyx":243
* unknown = -1
* byte = 0
* short = 1 # <<<<<<<<<<<<<<
* integer = 2
* long = 4
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_short, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_short, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":231
+ /* "adios_mpi.pyx":244
* byte = 0
* short = 1
* integer = 2 # <<<<<<<<<<<<<<
* long = 4
* unsigned_byte = 50
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_integer, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_integer, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":232
+ /* "adios_mpi.pyx":245
* short = 1
* integer = 2
* long = 4 # <<<<<<<<<<<<<<
* unsigned_byte = 50
* unsigned_short = 51
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_long, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_long, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":233
+ /* "adios_mpi.pyx":246
* integer = 2
* long = 4
* unsigned_byte = 50 # <<<<<<<<<<<<<<
* unsigned_short = 51
* unsigned_integer = 52
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_byte, __pyx_int_50) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_byte, __pyx_int_50) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":234
+ /* "adios_mpi.pyx":247
* long = 4
* unsigned_byte = 50
* unsigned_short = 51 # <<<<<<<<<<<<<<
* unsigned_integer = 52
* unsigned_long = 54
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_short, __pyx_int_51) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_short, __pyx_int_51) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":235
+ /* "adios_mpi.pyx":248
* unsigned_byte = 50
* unsigned_short = 51
* unsigned_integer = 52 # <<<<<<<<<<<<<<
* unsigned_long = 54
* real = 5
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_integer, __pyx_int_52) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_integer, __pyx_int_52) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":236
+ /* "adios_mpi.pyx":249
* unsigned_short = 51
* unsigned_integer = 52
* unsigned_long = 54 # <<<<<<<<<<<<<<
* real = 5
* double = 6
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_long, __pyx_int_54) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unsigned_long, __pyx_int_54) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":237
+ /* "adios_mpi.pyx":250
* unsigned_integer = 52
* unsigned_long = 54
* real = 5 # <<<<<<<<<<<<<<
* double = 6
* long_double = 7
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_real, __pyx_int_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_real, __pyx_int_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":238
+ /* "adios_mpi.pyx":251
* unsigned_long = 54
* real = 5
* double = 6 # <<<<<<<<<<<<<<
* long_double = 7
* string = 9
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_double, __pyx_int_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_double, __pyx_int_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":239
+ /* "adios_mpi.pyx":252
* real = 5
* double = 6
* long_double = 7 # <<<<<<<<<<<<<<
* string = 9
* complex = 10
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_long_double, __pyx_int_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_long_double, __pyx_int_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":240
+ /* "adios_mpi.pyx":253
* double = 6
* long_double = 7
* string = 9 # <<<<<<<<<<<<<<
* complex = 10
* double_complex = 11
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_string, __pyx_int_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_string, __pyx_int_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":241
+ /* "adios_mpi.pyx":254
* long_double = 7
* string = 9
* complex = 10 # <<<<<<<<<<<<<<
* double_complex = 11
- *
+ * string_array = 12
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_complex_2, __pyx_int_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_complex_2, __pyx_int_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":242
+ /* "adios_mpi.pyx":255
* string = 9
* complex = 10
* double_complex = 11 # <<<<<<<<<<<<<<
+ * string_array = 12
+ *
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_double_complex, __pyx_int_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":256
+ * complex = 10
+ * double_complex = 11
+ * string_array = 12 # <<<<<<<<<<<<<<
*
* class FLAG:
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_double_complex, __pyx_int_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_string_array, __pyx_int_12) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":227
+ /* "adios_mpi.pyx":240
* ## ====================
*
* class DATATYPE: # <<<<<<<<<<<<<<
* unknown = -1
* byte = 0
*/
- __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_DATATYPE, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_DATATYPE, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATATYPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATATYPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios_mpi.pyx":244
- * double_complex = 11
+ /* "adios_mpi.pyx":258
+ * string_array = 12
*
* class FLAG: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* YES = 1
*/
- __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_FLAG, __pyx_n_s_FLAG, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_FLAG, __pyx_n_s_FLAG, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- /* "adios_mpi.pyx":245
+ /* "adios_mpi.pyx":259
*
* class FLAG:
* UNKNOWN = 0 # <<<<<<<<<<<<<<
* YES = 1
* NO = 2
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":246
+ /* "adios_mpi.pyx":260
* class FLAG:
* UNKNOWN = 0
* YES = 1 # <<<<<<<<<<<<<<
* NO = 2
*
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_YES, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_YES, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":247
+ /* "adios_mpi.pyx":261
* UNKNOWN = 0
* YES = 1
* NO = 2 # <<<<<<<<<<<<<<
*
* class BUFFER_ALLOC_WHEN:
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_NO, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_NO, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":244
- * double_complex = 11
+ /* "adios_mpi.pyx":258
+ * string_array = 12
*
* class FLAG: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* YES = 1
*/
- __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_FLAG, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_FLAG, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_FLAG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_FLAG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios_mpi.pyx":249
+ /* "adios_mpi.pyx":263
* NO = 2
*
* class BUFFER_ALLOC_WHEN: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* NOW = 1
*/
- __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_n_s_BUFFER_ALLOC_WHEN, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_n_s_BUFFER_ALLOC_WHEN, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- /* "adios_mpi.pyx":250
+ /* "adios_mpi.pyx":264
*
* class BUFFER_ALLOC_WHEN:
* UNKNOWN = 0 # <<<<<<<<<<<<<<
* NOW = 1
* LATER = 2
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_UNKNOWN, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":251
+ /* "adios_mpi.pyx":265
* class BUFFER_ALLOC_WHEN:
* UNKNOWN = 0
* NOW = 1 # <<<<<<<<<<<<<<
* LATER = 2
*
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_NOW, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_NOW, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":252
+ /* "adios_mpi.pyx":266
* UNKNOWN = 0
* NOW = 1
* LATER = 2 # <<<<<<<<<<<<<<
*
- * ## ====================
+ * class READ_METHOD:
*/
- if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_LATER, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_LATER, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "adios_mpi.pyx":249
+ /* "adios_mpi.pyx":263
* NO = 2
*
* class BUFFER_ALLOC_WHEN: # <<<<<<<<<<<<<<
* UNKNOWN = 0
* NOW = 1
*/
- __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BUFFER_ALLOC_WHEN, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios_mpi.pyx":258
+ /* "adios_mpi.pyx":268
+ * LATER = 2
+ *
+ * class READ_METHOD: # <<<<<<<<<<<<<<
+ * BP = 0
+ * BP_AGGREGATE = 1
+ */
+ __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_READ_METHOD, __pyx_n_s_READ_METHOD, (PyObject *) NULL, __pyx_n_s_adios_mpi, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+
+ /* "adios_mpi.pyx":269
+ *
+ * class READ_METHOD:
+ * BP = 0 # <<<<<<<<<<<<<<
+ * BP_AGGREGATE = 1
+ * DATASPACES = 3
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_BP, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":270
+ * class READ_METHOD:
+ * BP = 0
+ * BP_AGGREGATE = 1 # <<<<<<<<<<<<<<
+ * DATASPACES = 3
+ * DIMES = 4
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_BP_AGGREGATE, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":271
+ * BP = 0
+ * BP_AGGREGATE = 1
+ * DATASPACES = 3 # <<<<<<<<<<<<<<
+ * DIMES = 4
+ * FLEXPATH = 5
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_DATASPACES, __pyx_int_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":272
+ * BP_AGGREGATE = 1
+ * DATASPACES = 3
+ * DIMES = 4 # <<<<<<<<<<<<<<
+ * FLEXPATH = 5
+ * ICEE = 6
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_DIMES, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":273
+ * DATASPACES = 3
+ * DIMES = 4
+ * FLEXPATH = 5 # <<<<<<<<<<<<<<
+ * ICEE = 6
+ *
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_FLEXPATH, __pyx_int_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":274
+ * DIMES = 4
+ * FLEXPATH = 5
+ * ICEE = 6 # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_ICEE, __pyx_int_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+ /* "adios_mpi.pyx":268
+ * LATER = 2
+ *
+ * class READ_METHOD: # <<<<<<<<<<<<<<
+ * BP = 0
+ * BP_AGGREGATE = 1
+ */
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_READ_METHOD, __pyx_empty_tuple, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_READ_METHOD, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":304
* ## ====================
*
* cpdef init(char * config, MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
* return adios_init(config, comm.ob_mpi)
*
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k_ = ((struct PyMPICommObject *)__pyx_t_1);
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__4 = ((struct PyMPICommObject *)__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k_ = ((struct PyMPICommObject *)__pyx_t_2);
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__4 = ((struct PyMPICommObject *)__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "adios_mpi.pyx":264
+ /* "adios_mpi.pyx":310
* char * name,
* char * mode,
* MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
* cdef int64_t fd
* cdef int result
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__2 = ((struct PyMPICommObject *)__pyx_t_1);
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__5 = ((struct PyMPICommObject *)__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "adios_mpi.pyx":261
+ /* "adios_mpi.pyx":307
* return adios_init(config, comm.ob_mpi)
*
* cpdef int64_t open(char * group_name, # <<<<<<<<<<<<<<
* char * name,
* char * mode,
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "adios_mpi.pyx":264
+ /* "adios_mpi.pyx":310
* char * name,
* char * mode,
* MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
* cdef int64_t fd
* cdef int result
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__2 = ((struct PyMPICommObject *)__pyx_t_2);
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__5 = ((struct PyMPICommObject *)__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "adios_mpi.pyx":308
+ /* "adios_mpi.pyx":361
* ## ADIOS No-XML API
* ## ====================
* cpdef int init_noxml(MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
* return adios_init_noxml(comm.ob_mpi)
*
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__3 = ((struct PyMPICommObject *)__pyx_t_1);
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__6 = ((struct PyMPICommObject *)__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__3 = ((struct PyMPICommObject *)__pyx_t_2);
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__6 = ((struct PyMPICommObject *)__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "adios_mpi.pyx":487
+ /* "adios_mpi.pyx":592
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP",
* MPI.Comm comm = MPI.COMM_WORLD, # <<<<<<<<<<<<<<
* char * parameters = ""):
* cdef method = str2adiosreadmethod(method_name)
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__5 = ((struct PyMPICommObject *)__pyx_t_1);
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__8 = ((struct PyMPICommObject *)__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "adios_mpi.pyx":486
+ /* "adios_mpi.pyx":591
*
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP", # <<<<<<<<<<<<<<
* MPI.Comm comm = MPI.COMM_WORLD,
* char * parameters = ""):
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "adios_mpi.pyx":487
+ /* "adios_mpi.pyx":592
* """ Call adios_read_init_method """
* cpdef int read_init(char * method_name = "BP",
* MPI.Comm comm = MPI.COMM_WORLD, # <<<<<<<<<<<<<<
* char * parameters = ""):
* cdef method = str2adiosreadmethod(method_name)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__5 = ((struct PyMPICommObject *)__pyx_t_2);
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__8 = ((struct PyMPICommObject *)__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "adios_mpi.pyx":521
+ /* "adios_mpi.pyx":685
* def __init__(self, char * fname,
- * char * method_name = "BP",
+ * char * method_name = 'BP',
* MPI.Comm comm = MPI.COMM_WORLD, # <<<<<<<<<<<<<<
* is_stream = False,
* ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_k__6 = ((struct PyMPICommObject *)__pyx_t_1);
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__9 = ((struct PyMPICommObject *)__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "adios_mpi.pyx":523
+ /* "adios_mpi.pyx":687
* MPI.Comm comm = MPI.COMM_WORLD,
* is_stream = False,
* ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL, # <<<<<<<<<<<<<<
* float timeout_sec = 0.0):
* self.fp = NULL
*/
- __pyx_k__7 = ADIOS_LOCKMODE_ALL;
+ __pyx_k__10 = ADIOS_LOCKMODE_ALL;
- /* "adios_mpi.pyx":660
+ /* "adios_mpi.pyx":1206
+ * def __init__(self,char * fname,
+ * bint is_noxml = True,
+ * MPI.Comm comm = MPI.COMM_WORLD): # <<<<<<<<<<<<<<
+ * self.fname = fname
+ * self.method = <bytes>""
+ */
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MPI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COMM_WORLD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Comm))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_k__22 = ((struct PyMPICommObject *)__pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1244
+ *
+ * def define_var(self, char * varname,
+ * ldim = tuple(), # <<<<<<<<<<<<<<
+ * gdim = tuple(),
+ * offset = tuple()):
+ */
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_k__23 = __pyx_t_2;
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1245
+ * def define_var(self, char * varname,
+ * ldim = tuple(),
+ * gdim = tuple(), # <<<<<<<<<<<<<<
+ * offset = tuple()):
+ * """
+ */
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_k__24 = __pyx_t_2;
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1246
+ * ldim = tuple(),
+ * gdim = tuple(),
+ * offset = tuple()): # <<<<<<<<<<<<<<
+ * """
+ * Define a variable associated with the file.
+ */
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_k__25 = __pyx_t_2;
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1407
+ *
+ * def __init__(self, char * name,
+ * ldim = tuple(), # <<<<<<<<<<<<<<
+ * gdim = tuple(),
+ * offset = tuple()):
+ */
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_k__27 = __pyx_t_2;
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1408
+ * def __init__(self, char * name,
+ * ldim = tuple(),
+ * gdim = tuple(), # <<<<<<<<<<<<<<
+ * offset = tuple()):
+ * self.name = name
+ */
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_k__28 = __pyx_t_2;
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1409
+ * ldim = tuple(),
+ * gdim = tuple(),
+ * offset = tuple()): # <<<<<<<<<<<<<<
+ * self.name = name
+ * self.ldim = ldim
+ */
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_k__29 = __pyx_t_2;
+ __Pyx_GIVEREF(__pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "adios_mpi.pyx":1464
* ## ====================
*
* def readvar(fname, varname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * if not f.var.has_key(varname):
+ * """ Retrieve a variable value from an Adios file.
+ *
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9adios_mpi_39readvar, NULL, __pyx_n_s_adios_mpi); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_readvar, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9adios_mpi_49readvar, NULL, __pyx_n_s_adios_mpi); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_readvar, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "adios_mpi.pyx":669
+ /* "adios_mpi.pyx":1482
* return v.read(from_steps=0, nsteps=v.nsteps)
*
* def bpls(fname): # <<<<<<<<<<<<<<
- * f = file(fname, comm=MPI.COMM_SELF)
- * return {'nvars': f.nvars,
+ * """ Return meta data of an Adios file as a Python dictionary object.
+ *
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9adios_mpi_41bpls, NULL, __pyx_n_s_adios_mpi); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_bpls, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9adios_mpi_51bpls, NULL, __pyx_n_s_adios_mpi); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_bpls, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "adios_mpi.pyx":1
- * """ # <<<<<<<<<<<<<<
- * ADIOS is freely available under the terms of the BSD license described
- * in the COPYING file in the top level directory of this source distribution.
+ * # -*- coding: utf-8 -*- # <<<<<<<<<<<<<<
+ * """ADIOS: ADIOS python module
+ *
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_var_read_line_887, __pyx_kp_u_Perform_read_Read_data_from_an) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_writer_declare_group_line_1221, __pyx_kp_u_Define_a_group_associated_with) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_writer_define_var_line_1243, __pyx_kp_u_Define_a_variable_associated_wi) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":976
+ /* "../../../../../../opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
* arr.base = baseptr
*
* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -14822,34 +26184,195 @@ PyMODINIT_FUNC PyInit_adios_mpi(void)
#endif
}
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
- PyObject *m = NULL, *p = NULL;
- void *r = NULL;
- m = PyImport_ImportModule((char *)modname);
- if (!m) goto end;
- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
- if (!p) goto end;
- r = PyLong_AsVoidPtr(p);
-end:
- Py_XDECREF(p);
- Py_XDECREF(m);
- return (__Pyx_RefNannyAPIStruct *)r;
+/* --- Runtime support code --- */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+ PyObject *m = NULL, *p = NULL;
+ void *r = NULL;
+ m = PyImport_ImportModule((char *)modname);
+ if (!m) goto end;
+ p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
+ if (!p) goto end;
+ r = PyLong_AsVoidPtr(p);
+end:
+ Py_XDECREF(p);
+ Py_XDECREF(m);
+ return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif
+
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
+ PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
+ if (unlikely(!result)) {
+ PyErr_Format(PyExc_NameError,
+#if PY_MAJOR_VERSION >= 3
+ "name '%U' is not defined", name);
+#else
+ "name '%.200s' is not defined", PyString_AS_STRING(name));
+#endif
+ }
+ return result;
+}
+
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+ PyObject *r;
+ if (!j) return NULL;
+ r = PyObject_GetItem(o, j);
+ Py_DECREF(j);
+ return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
+ if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
+ PyObject *r = PyList_GET_ITEM(o, i);
+ Py_INCREF(r);
+ return r;
+ }
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+ return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+ int wraparound, int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
+ if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
+ PyObject *r = PyTuple_GET_ITEM(o, i);
+ Py_INCREF(r);
+ return r;
+ }
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+ return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+ int is_list, int wraparound, int boundscheck) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (is_list || PyList_CheckExact(o)) {
+ Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+ if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
+ PyObject *r = PyList_GET_ITEM(o, n);
+ Py_INCREF(r);
+ return r;
+ }
+ }
+ else if (PyTuple_CheckExact(o)) {
+ Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+ if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
+ PyObject *r = PyTuple_GET_ITEM(o, n);
+ Py_INCREF(r);
+ return r;
+ }
+ } else {
+ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+ if (likely(m && m->sq_item)) {
+ if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+ Py_ssize_t l = m->sq_length(o);
+ if (likely(l >= 0)) {
+ i += l;
+ } else {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_Clear();
+ else
+ return NULL;
+ }
+ }
+ return m->sq_item(o, i);
+ }
+ }
+#else
+ if (is_list || PySequence_Check(o)) {
+ return PySequence_GetItem(o, i);
+ }
+#endif
+ return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+ PyThreadState *tstate = PyThreadState_GET();
+ tmp_type = tstate->curexc_type;
+ tmp_value = tstate->curexc_value;
+ tmp_tb = tstate->curexc_traceback;
+ tstate->curexc_type = type;
+ tstate->curexc_value = value;
+ tstate->curexc_traceback = tb;
+ Py_XDECREF(tmp_type);
+ Py_XDECREF(tmp_value);
+ Py_XDECREF(tmp_tb);
+#else
+ PyErr_Restore(type, value, tb);
+#endif
+}
+static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyThreadState *tstate = PyThreadState_GET();
+ *type = tstate->curexc_type;
+ *value = tstate->curexc_value;
+ *tb = tstate->curexc_traceback;
+ tstate->curexc_type = 0;
+ tstate->curexc_value = 0;
+ tstate->curexc_traceback = 0;
+#else
+ PyErr_Fetch(type, value, tb);
+#endif
+}
+
+static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+ CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
+ int full_traceback) {
+ PyObject *old_exc, *old_val, *old_tb;
+ PyObject *ctx;
+ __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
+ if (full_traceback) {
+ Py_XINCREF(old_exc);
+ Py_XINCREF(old_val);
+ Py_XINCREF(old_tb);
+ __Pyx_ErrRestore(old_exc, old_val, old_tb);
+ PyErr_PrintEx(1);
+ }
+ #if PY_MAJOR_VERSION < 3
+ ctx = PyString_FromString(name);
+ #else
+ ctx = PyUnicode_FromString(name);
+ #endif
+ __Pyx_ErrRestore(old_exc, old_val, old_tb);
+ if (!ctx) {
+ PyErr_WriteUnraisable(Py_None);
+ } else {
+ PyErr_WriteUnraisable(ctx);
+ Py_DECREF(ctx);
+ }
}
-#endif
-static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
- PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
- if (unlikely(!result)) {
- PyErr_Format(PyExc_NameError,
-#if PY_MAJOR_VERSION >= 3
- "name '%U' is not defined", name);
-#else
- "name '%.200s' is not defined", PyString_AS_STRING(name));
-#endif
+static void __Pyx_RaiseArgtupleInvalid(
+ const char* func_name,
+ int exact,
+ Py_ssize_t num_min,
+ Py_ssize_t num_max,
+ Py_ssize_t num_found)
+{
+ Py_ssize_t num_expected;
+ const char *more_or_less;
+ if (num_found < num_min) {
+ num_expected = num_min;
+ more_or_less = "at least";
+ } else {
+ num_expected = num_max;
+ more_or_less = "at most";
}
- return result;
+ if (exact) {
+ more_or_less = "exactly";
+ }
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ func_name, more_or_less, num_expected,
+ (num_expected == 1) ? "" : "s", num_found);
}
static void __Pyx_RaiseDoubleKeywordsError(
@@ -14966,31 +26489,6 @@ bad:
return -1;
}
-static void __Pyx_RaiseArgtupleInvalid(
- const char* func_name,
- int exact,
- Py_ssize_t num_min,
- Py_ssize_t num_max,
- Py_ssize_t num_found)
-{
- Py_ssize_t num_expected;
- const char *more_or_less;
- if (num_found < num_min) {
- num_expected = num_min;
- more_or_less = "at least";
- } else {
- num_expected = num_max;
- more_or_less = "at most";
- }
- if (exact) {
- more_or_less = "exactly";
- }
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
- func_name, more_or_less, num_expected,
- (num_expected == 1) ? "" : "s", num_found);
-}
-
static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {
PyErr_Format(PyExc_TypeError,
"Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
@@ -15017,6 +26515,18 @@ static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, in
return 0;
}
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
+ if (unlikely(!type)) {
+ PyErr_SetString(PyExc_SystemError, "Missing type object");
+ return 0;
+ }
+ if (likely(PyObject_TypeCheck(obj, type)))
+ return 1;
+ PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
+ Py_TYPE(obj)->tp_name, type->tp_name);
+ return 0;
+}
+
static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
PyObject *result;
#if CYTHON_COMPILING_IN_CPYTHON
@@ -15053,75 +26563,54 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
}
#endif
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
- if (unlikely(!type)) {
- PyErr_SetString(PyExc_SystemError, "Missing type object");
- return 0;
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
+ PyObject *self, *result;
+ PyCFunction cfunc;
+ cfunc = PyCFunction_GET_FUNCTION(func);
+ self = PyCFunction_GET_SELF(func);
+ if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+ return NULL;
+ result = cfunc(self, arg);
+ Py_LeaveRecursiveCall();
+ if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+ PyErr_SetString(
+ PyExc_SystemError,
+ "NULL result without error in PyObject_Call");
}
- if (likely(PyObject_TypeCheck(obj, type)))
- return 1;
- PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
- Py_TYPE(obj)->tp_name, type->tp_name);
- return 0;
+ return result;
}
+#endif
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
#if CYTHON_COMPILING_IN_CPYTHON
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyThreadState *tstate = PyThreadState_GET();
- tmp_type = tstate->curexc_type;
- tmp_value = tstate->curexc_value;
- tmp_tb = tstate->curexc_traceback;
- tstate->curexc_type = type;
- tstate->curexc_value = value;
- tstate->curexc_traceback = tb;
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
-#else
- PyErr_Restore(type, value, tb);
-#endif
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+ PyObject *result;
+ PyObject *args = PyTuple_New(1);
+ if (unlikely(!args)) return NULL;
+ Py_INCREF(arg);
+ PyTuple_SET_ITEM(args, 0, arg);
+ result = __Pyx_PyObject_Call(func, args, NULL);
+ Py_DECREF(args);
+ return result;
}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
- PyThreadState *tstate = PyThreadState_GET();
- *type = tstate->curexc_type;
- *value = tstate->curexc_value;
- *tb = tstate->curexc_traceback;
- tstate->curexc_type = 0;
- tstate->curexc_value = 0;
- tstate->curexc_traceback = 0;
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+#ifdef __Pyx_CyFunction_USED
+ if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
#else
- PyErr_Fetch(type, value, tb);
+ if (likely(PyCFunction_Check(func))) {
#endif
-}
-
-static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
- CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
- int full_traceback) {
- PyObject *old_exc, *old_val, *old_tb;
- PyObject *ctx;
- __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
- if (full_traceback) {
- Py_XINCREF(old_exc);
- Py_XINCREF(old_val);
- Py_XINCREF(old_tb);
- __Pyx_ErrRestore(old_exc, old_val, old_tb);
- PyErr_PrintEx(1);
- }
- #if PY_MAJOR_VERSION < 3
- ctx = PyString_FromString(name);
- #else
- ctx = PyUnicode_FromString(name);
- #endif
- __Pyx_ErrRestore(old_exc, old_val, old_tb);
- if (!ctx) {
- PyErr_WriteUnraisable(Py_None);
- } else {
- PyErr_WriteUnraisable(ctx);
- Py_DECREF(ctx);
+ if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+ return __Pyx_PyObject_CallMethO(func, arg);
+ }
}
+ return __Pyx__PyObject_CallOneArg(func, arg);
+}
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+ PyObject* args = PyTuple_Pack(1, arg);
+ return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL;
}
+#endif
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
@@ -15160,148 +26649,597 @@ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int eq
#endif
}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
- PyObject *r;
- if (!j) return NULL;
- r = PyObject_GetItem(o, j);
- Py_DECREF(j);
- return r;
+static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
+#if CYTHON_COMPILING_IN_PYPY
+ return PyObject_RichCompareBool(s1, s2, equals);
+#else
+#if PY_MAJOR_VERSION < 3
+ PyObject* owned_ref = NULL;
+#endif
+ int s1_is_unicode, s2_is_unicode;
+ if (s1 == s2) {
+ goto return_eq;
+ }
+ s1_is_unicode = PyUnicode_CheckExact(s1);
+ s2_is_unicode = PyUnicode_CheckExact(s2);
+#if PY_MAJOR_VERSION < 3
+ if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
+ owned_ref = PyUnicode_FromObject(s2);
+ if (unlikely(!owned_ref))
+ return -1;
+ s2 = owned_ref;
+ s2_is_unicode = 1;
+ } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
+ owned_ref = PyUnicode_FromObject(s1);
+ if (unlikely(!owned_ref))
+ return -1;
+ s1 = owned_ref;
+ s1_is_unicode = 1;
+ } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
+ return __Pyx_PyBytes_Equals(s1, s2, equals);
+ }
+#endif
+ if (s1_is_unicode & s2_is_unicode) {
+ Py_ssize_t length;
+ int kind;
+ void *data1, *data2;
+ if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
+ return -1;
+ length = __Pyx_PyUnicode_GET_LENGTH(s1);
+ if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
+ goto return_ne;
+ }
+ kind = __Pyx_PyUnicode_KIND(s1);
+ if (kind != __Pyx_PyUnicode_KIND(s2)) {
+ goto return_ne;
+ }
+ data1 = __Pyx_PyUnicode_DATA(s1);
+ data2 = __Pyx_PyUnicode_DATA(s2);
+ if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
+ goto return_ne;
+ } else if (length == 1) {
+ goto return_eq;
+ } else {
+ int result = memcmp(data1, data2, (size_t)(length * kind));
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(owned_ref);
+ #endif
+ return (equals == Py_EQ) ? (result == 0) : (result != 0);
+ }
+ } else if ((s1 == Py_None) & s2_is_unicode) {
+ goto return_ne;
+ } else if ((s2 == Py_None) & s1_is_unicode) {
+ goto return_ne;
+ } else {
+ int result;
+ PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
+ if (!py_result)
+ return -1;
+ result = __Pyx_PyObject_IsTrue(py_result);
+ Py_DECREF(py_result);
+ return result;
+ }
+return_eq:
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(owned_ref);
+ #endif
+ return (equals == Py_EQ);
+return_ne:
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(owned_ref);
+ #endif
+ return (equals == Py_NE);
+#endif
}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck) {
+
#if CYTHON_COMPILING_IN_CPYTHON
- if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
- if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
- PyObject *r = PyList_GET_ITEM(o, i);
- Py_INCREF(r);
- return r;
- }
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
+#ifdef __Pyx_CyFunction_USED
+ if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
#else
- return PySequence_GetItem(o, i);
+ if (likely(PyCFunction_Check(func))) {
#endif
+ if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
+ return __Pyx_PyObject_CallMethO(func, NULL);
+ }
+ }
+ return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
- int wraparound, int boundscheck) {
+#endif
+
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
+ PyObject *method, *result = NULL;
+ method = __Pyx_PyObject_GetAttrStr(obj, method_name);
+ if (unlikely(!method)) goto bad;
#if CYTHON_COMPILING_IN_CPYTHON
- if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
- if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, i);
- Py_INCREF(r);
- return r;
+ if (likely(PyMethod_Check(method))) {
+ PyObject *self = PyMethod_GET_SELF(method);
+ if (likely(self)) {
+ PyObject *args;
+ PyObject *function = PyMethod_GET_FUNCTION(method);
+ args = PyTuple_New(2);
+ if (unlikely(!args)) goto bad;
+ Py_INCREF(self);
+ PyTuple_SET_ITEM(args, 0, self);
+ Py_INCREF(arg);
+ PyTuple_SET_ITEM(args, 1, arg);
+ Py_INCREF(function);
+ Py_DECREF(method); method = NULL;
+ result = __Pyx_PyObject_Call(function, args, NULL);
+ Py_DECREF(args);
+ Py_DECREF(function);
+ return result;
+ }
}
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
- return PySequence_GetItem(o, i);
#endif
+ result = __Pyx_PyObject_CallOneArg(method, arg);
+bad:
+ Py_XDECREF(method);
+ return result;
}
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
- int is_list, int wraparound, int boundscheck) {
-#if CYTHON_COMPILING_IN_CPYTHON
- if (is_list || PyList_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
- if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
- PyObject *r = PyList_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
+
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
+ if (PY_MAJOR_VERSION >= 3)
+ return __Pyx_PyObject_CallMethod1((PyObject*)&PyDict_Type, __pyx_n_s_values, d);
+ else
+ return PyDict_Values(d);
+}
+
+#if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
+ CYTHON_UNUSED PyObject *cause) {
+ Py_XINCREF(type);
+ if (!value || value == Py_None)
+ value = NULL;
+ else
+ Py_INCREF(value);
+ if (!tb || tb == Py_None)
+ tb = NULL;
+ else {
+ Py_INCREF(tb);
+ if (!PyTraceBack_Check(tb)) {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: arg 3 must be a traceback or None");
+ goto raise_error;
}
}
- else if (PyTuple_CheckExact(o)) {
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
- if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
- PyObject *r = PyTuple_GET_ITEM(o, n);
- Py_INCREF(r);
- return r;
+ if (PyType_Check(type)) {
+#if CYTHON_COMPILING_IN_PYPY
+ if (!value) {
+ Py_INCREF(Py_None);
+ value = Py_None;
}
+#endif
+ PyErr_NormalizeException(&type, &value, &tb);
} else {
- PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
- if (likely(m && m->sq_item)) {
- if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
- Py_ssize_t l = m->sq_length(o);
- if (likely(l >= 0)) {
- i += l;
+ if (value) {
+ PyErr_SetString(PyExc_TypeError,
+ "instance exception may not have a separate value");
+ goto raise_error;
+ }
+ value = type;
+ type = (PyObject*) Py_TYPE(type);
+ Py_INCREF(type);
+ if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: exception class must be a subclass of BaseException");
+ goto raise_error;
+ }
+ }
+ __Pyx_ErrRestore(type, value, tb);
+ return;
+raise_error:
+ Py_XDECREF(value);
+ Py_XDECREF(type);
+ Py_XDECREF(tb);
+ return;
+}
+#else
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+ PyObject* owned_instance = NULL;
+ if (tb == Py_None) {
+ tb = 0;
+ } else if (tb && !PyTraceBack_Check(tb)) {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: arg 3 must be a traceback or None");
+ goto bad;
+ }
+ if (value == Py_None)
+ value = 0;
+ if (PyExceptionInstance_Check(type)) {
+ if (value) {
+ PyErr_SetString(PyExc_TypeError,
+ "instance exception may not have a separate value");
+ goto bad;
+ }
+ value = type;
+ type = (PyObject*) Py_TYPE(value);
+ } else if (PyExceptionClass_Check(type)) {
+ PyObject *instance_class = NULL;
+ if (value && PyExceptionInstance_Check(value)) {
+ instance_class = (PyObject*) Py_TYPE(value);
+ if (instance_class != type) {
+ if (PyObject_IsSubclass(instance_class, type)) {
+ type = instance_class;
} else {
- if (PyErr_ExceptionMatches(PyExc_OverflowError))
- PyErr_Clear();
- else
- return NULL;
+ instance_class = NULL;
}
}
- return m->sq_item(o, i);
}
+ if (!instance_class) {
+ PyObject *args;
+ if (!value)
+ args = PyTuple_New(0);
+ else if (PyTuple_Check(value)) {
+ Py_INCREF(value);
+ args = value;
+ } else
+ args = PyTuple_Pack(1, value);
+ if (!args)
+ goto bad;
+ owned_instance = PyObject_Call(type, args, NULL);
+ Py_DECREF(args);
+ if (!owned_instance)
+ goto bad;
+ value = owned_instance;
+ if (!PyExceptionInstance_Check(value)) {
+ PyErr_Format(PyExc_TypeError,
+ "calling %R should have returned an instance of "
+ "BaseException, not %R",
+ type, Py_TYPE(value));
+ goto bad;
+ }
+ }
+ } else {
+ PyErr_SetString(PyExc_TypeError,
+ "raise: exception class must be a subclass of BaseException");
+ goto bad;
}
+#if PY_VERSION_HEX >= 0x03030000
+ if (cause) {
#else
- if (is_list || PySequence_Check(o)) {
- return PySequence_GetItem(o, i);
+ if (cause && cause != Py_None) {
+#endif
+ PyObject *fixed_cause;
+ if (cause == Py_None) {
+ fixed_cause = NULL;
+ } else if (PyExceptionClass_Check(cause)) {
+ fixed_cause = PyObject_CallObject(cause, NULL);
+ if (fixed_cause == NULL)
+ goto bad;
+ } else if (PyExceptionInstance_Check(cause)) {
+ fixed_cause = cause;
+ Py_INCREF(fixed_cause);
+ } else {
+ PyErr_SetString(PyExc_TypeError,
+ "exception causes must derive from "
+ "BaseException");
+ goto bad;
+ }
+ PyException_SetCause(value, fixed_cause);
+ }
+ PyErr_SetObject(type, value);
+ if (tb) {
+#if CYTHON_COMPILING_IN_PYPY
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+ PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
+ Py_INCREF(tb);
+ PyErr_Restore(tmp_type, tmp_value, tb);
+ Py_XDECREF(tmp_tb);
+#else
+ PyThreadState *tstate = PyThreadState_GET();
+ PyObject* tmp_tb = tstate->curexc_traceback;
+ if (tb != tmp_tb) {
+ Py_INCREF(tb);
+ tstate->curexc_traceback = tb;
+ Py_XDECREF(tmp_tb);
+ }
+#endif
}
+bad:
+ Py_XDECREF(owned_instance);
+ return;
+}
#endif
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d) {
+ if (PY_MAJOR_VERSION >= 3)
+ return __Pyx_PyObject_CallMethod1((PyObject*)&PyDict_Type, __pyx_n_s_keys, d);
+ else
+ return PyDict_Keys(d);
+}
+
+static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
+ PyObject* value;
+#if PY_MAJOR_VERSION >= 3
+ value = PyDict_GetItemWithError(d, key);
+ if (unlikely(!value)) {
+ if (unlikely(PyErr_Occurred()))
+ return NULL;
+ value = default_value;
+ }
+ Py_INCREF(value);
+#else
+ if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) {
+ value = PyDict_GetItem(d, key);
+ if (unlikely(!value)) {
+ value = default_value;
+ }
+ Py_INCREF(value);
+ } else {
+ if (default_value == Py_None)
+ default_value = NULL;
+ value = PyObject_CallMethodObjArgs(
+ d, __pyx_n_s_get, key, default_value, NULL);
+ }
+#endif
+ return value;
}
+static CYTHON_INLINE int __Pyx_PyObject_SetSlice(
+ PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
+ int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
- PyObject *self, *result;
- PyCFunction cfunc;
- cfunc = PyCFunction_GET_FUNCTION(func);
- self = PyCFunction_GET_SELF(func);
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
- return NULL;
- result = cfunc(self, arg);
- Py_LeaveRecursiveCall();
- if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
- PyErr_SetString(
- PyExc_SystemError,
- "NULL result without error in PyObject_Call");
+ PyMappingMethods* mp;
+#if PY_MAJOR_VERSION < 3
+ PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
+ if (likely(ms && ms->sq_ass_slice)) {
+ if (!has_cstart) {
+ if (_py_start && (*_py_start != Py_None)) {
+ cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
+ if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstart = 0;
+ }
+ if (!has_cstop) {
+ if (_py_stop && (*_py_stop != Py_None)) {
+ cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
+ if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstop = PY_SSIZE_T_MAX;
+ }
+ if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
+ Py_ssize_t l = ms->sq_length(obj);
+ if (likely(l >= 0)) {
+ if (cstop < 0) {
+ cstop += l;
+ if (cstop < 0) cstop = 0;
+ }
+ if (cstart < 0) {
+ cstart += l;
+ if (cstart < 0) cstart = 0;
+ }
+ } else {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_Clear();
+ else
+ goto bad;
+ }
+ }
+ return ms->sq_ass_slice(obj, cstart, cstop, value);
}
- return result;
-}
#endif
-
+ mp = Py_TYPE(obj)->tp_as_mapping;
+ if (likely(mp && mp->mp_ass_subscript))
+#endif
+ {
+ int result;
+ PyObject *py_slice, *py_start, *py_stop;
+ if (_py_slice) {
+ py_slice = *_py_slice;
+ } else {
+ PyObject* owned_start = NULL;
+ PyObject* owned_stop = NULL;
+ if (_py_start) {
+ py_start = *_py_start;
+ } else {
+ if (has_cstart) {
+ owned_start = py_start = PyInt_FromSsize_t(cstart);
+ if (unlikely(!py_start)) goto bad;
+ } else
+ py_start = Py_None;
+ }
+ if (_py_stop) {
+ py_stop = *_py_stop;
+ } else {
+ if (has_cstop) {
+ owned_stop = py_stop = PyInt_FromSsize_t(cstop);
+ if (unlikely(!py_stop)) {
+ Py_XDECREF(owned_start);
+ goto bad;
+ }
+ } else
+ py_stop = Py_None;
+ }
+ py_slice = PySlice_New(py_start, py_stop, Py_None);
+ Py_XDECREF(owned_start);
+ Py_XDECREF(owned_stop);
+ if (unlikely(!py_slice)) goto bad;
+ }
#if CYTHON_COMPILING_IN_CPYTHON
-static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
- PyObject *result;
- PyObject *args = PyTuple_New(1);
- if (unlikely(!args)) return NULL;
- Py_INCREF(arg);
- PyTuple_SET_ITEM(args, 0, arg);
- result = __Pyx_PyObject_Call(func, args, NULL);
- Py_DECREF(args);
- return result;
-}
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
-#ifdef __Pyx_CyFunction_USED
- if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
+ result = mp->mp_ass_subscript(obj, py_slice, value);
#else
- if (likely(PyCFunction_Check(func))) {
+ result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice);
#endif
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
- return __Pyx_PyObject_CallMethO(func, arg);
+ if (!_py_slice) {
+ Py_DECREF(py_slice);
}
+ return result;
}
- return __Pyx__PyObject_CallOneArg(func, arg);
+ PyErr_Format(PyExc_TypeError,
+ "'%.200s' object does not support slice %.10s",
+ Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion");
+bad:
+ return -1;
}
-#else
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
- PyObject* args = PyTuple_Pack(1, arg);
- return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL;
+
+static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
+ PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}
-#endif
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+ PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
+ int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
-#ifdef __Pyx_CyFunction_USED
- if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
+ PyMappingMethods* mp;
+#if PY_MAJOR_VERSION < 3
+ PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
+ if (likely(ms && ms->sq_slice)) {
+ if (!has_cstart) {
+ if (_py_start && (*_py_start != Py_None)) {
+ cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
+ if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstart = 0;
+ }
+ if (!has_cstop) {
+ if (_py_stop && (*_py_stop != Py_None)) {
+ cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
+ if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+ } else
+ cstop = PY_SSIZE_T_MAX;
+ }
+ if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
+ Py_ssize_t l = ms->sq_length(obj);
+ if (likely(l >= 0)) {
+ if (cstop < 0) {
+ cstop += l;
+ if (cstop < 0) cstop = 0;
+ }
+ if (cstart < 0) {
+ cstart += l;
+ if (cstart < 0) cstart = 0;
+ }
+ } else {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_Clear();
+ else
+ goto bad;
+ }
+ }
+ return ms->sq_slice(obj, cstart, cstop);
+ }
+#endif
+ mp = Py_TYPE(obj)->tp_as_mapping;
+ if (likely(mp && mp->mp_subscript))
+#endif
+ {
+ PyObject* result;
+ PyObject *py_slice, *py_start, *py_stop;
+ if (_py_slice) {
+ py_slice = *_py_slice;
+ } else {
+ PyObject* owned_start = NULL;
+ PyObject* owned_stop = NULL;
+ if (_py_start) {
+ py_start = *_py_start;
+ } else {
+ if (has_cstart) {
+ owned_start = py_start = PyInt_FromSsize_t(cstart);
+ if (unlikely(!py_start)) goto bad;
+ } else
+ py_start = Py_None;
+ }
+ if (_py_stop) {
+ py_stop = *_py_stop;
+ } else {
+ if (has_cstop) {
+ owned_stop = py_stop = PyInt_FromSsize_t(cstop);
+ if (unlikely(!py_stop)) {
+ Py_XDECREF(owned_start);
+ goto bad;
+ }
+ } else
+ py_stop = Py_None;
+ }
+ py_slice = PySlice_New(py_start, py_stop, Py_None);
+ Py_XDECREF(owned_start);
+ Py_XDECREF(owned_stop);
+ if (unlikely(!py_slice)) goto bad;
+ }
+#if CYTHON_COMPILING_IN_CPYTHON
+ result = mp->mp_subscript(obj, py_slice);
#else
- if (likely(PyCFunction_Check(func))) {
+ result = PyObject_GetItem(obj, py_slice);
#endif
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
- return __Pyx_PyObject_CallMethO(func, NULL);
+ if (!_py_slice) {
+ Py_DECREF(py_slice);
}
+ return result;
}
- return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
+ PyErr_Format(PyExc_TypeError,
+ "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
+bad:
+ return NULL;
+}
+
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) {
+ Py_ssize_t start = *_start, stop = *_stop, length = *_length;
+ if (start < 0) {
+ start += length;
+ if (start < 0)
+ start = 0;
+ }
+ if (stop < 0)
+ stop += length;
+ else if (stop > length)
+ stop = length;
+ *_length = stop - start;
+ *_start = start;
+ *_stop = stop;
+}
+static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
+ PyObject *v;
+ Py_ssize_t i;
+ for (i = 0; i < length; i++) {
+ v = dest[i] = src[i];
+ Py_INCREF(v);
+ }
+}
+static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(
+ PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
+ PyObject* dest;
+ Py_ssize_t length = PyList_GET_SIZE(src);
+ __Pyx_crop_slice(&start, &stop, &length);
+ if (unlikely(length <= 0))
+ return PyList_New(0);
+ dest = PyList_New(length);
+ if (unlikely(!dest))
+ return NULL;
+ __Pyx_copy_object_array(
+ ((PyListObject*)src)->ob_item + start,
+ ((PyListObject*)dest)->ob_item,
+ length);
+ return dest;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(
+ PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
+ PyObject* dest;
+ Py_ssize_t length = PyTuple_GET_SIZE(src);
+ __Pyx_crop_slice(&start, &stop, &length);
+ if (unlikely(length <= 0))
+ return PyTuple_New(0);
+ dest = PyTuple_New(length);
+ if (unlikely(!dest))
+ return NULL;
+ __Pyx_copy_object_array(
+ ((PyTupleObject*)src)->ob_item + start,
+ ((PyTupleObject*)dest)->ob_item,
+ length);
+ return dest;
}
#endif
+static CYTHON_INLINE int __Pyx_div_int(int a, int b) {
+ int q = a / b;
+ int r = a - q*b;
+ q -= ((r != 0) & ((r ^ b) < 0));
+ return q;
+}
+
static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_COMPILING_IN_CPYTHON
PyThreadState *tstate = PyThreadState_GET();
@@ -15520,175 +27458,18 @@ static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* iter_obj, Py_ssize_t ori
return __Pyx_IterFinish();
}
}
- if (pitem) {
- *pitem = next_item;
- } else if (pkey && pvalue) {
- if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
- return -1;
- } else if (pkey) {
- *pkey = next_item;
- } else {
- *pvalue = next_item;
- }
- return 1;
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
- CYTHON_UNUSED PyObject *cause) {
- Py_XINCREF(type);
- if (!value || value == Py_None)
- value = NULL;
- else
- Py_INCREF(value);
- if (!tb || tb == Py_None)
- tb = NULL;
- else {
- Py_INCREF(tb);
- if (!PyTraceBack_Check(tb)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: arg 3 must be a traceback or None");
- goto raise_error;
- }
- }
- if (PyType_Check(type)) {
-#if CYTHON_COMPILING_IN_PYPY
- if (!value) {
- Py_INCREF(Py_None);
- value = Py_None;
- }
-#endif
- PyErr_NormalizeException(&type, &value, &tb);
- } else {
- if (value) {
- PyErr_SetString(PyExc_TypeError,
- "instance exception may not have a separate value");
- goto raise_error;
- }
- value = type;
- type = (PyObject*) Py_TYPE(type);
- Py_INCREF(type);
- if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: exception class must be a subclass of BaseException");
- goto raise_error;
- }
- }
- __Pyx_ErrRestore(type, value, tb);
- return;
-raise_error:
- Py_XDECREF(value);
- Py_XDECREF(type);
- Py_XDECREF(tb);
- return;
-}
-#else
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
- PyObject* owned_instance = NULL;
- if (tb == Py_None) {
- tb = 0;
- } else if (tb && !PyTraceBack_Check(tb)) {
- PyErr_SetString(PyExc_TypeError,
- "raise: arg 3 must be a traceback or None");
- goto bad;
- }
- if (value == Py_None)
- value = 0;
- if (PyExceptionInstance_Check(type)) {
- if (value) {
- PyErr_SetString(PyExc_TypeError,
- "instance exception may not have a separate value");
- goto bad;
- }
- value = type;
- type = (PyObject*) Py_TYPE(value);
- } else if (PyExceptionClass_Check(type)) {
- PyObject *instance_class = NULL;
- if (value && PyExceptionInstance_Check(value)) {
- instance_class = (PyObject*) Py_TYPE(value);
- if (instance_class != type) {
- if (PyObject_IsSubclass(instance_class, type)) {
- type = instance_class;
- } else {
- instance_class = NULL;
- }
- }
- }
- if (!instance_class) {
- PyObject *args;
- if (!value)
- args = PyTuple_New(0);
- else if (PyTuple_Check(value)) {
- Py_INCREF(value);
- args = value;
- } else
- args = PyTuple_Pack(1, value);
- if (!args)
- goto bad;
- owned_instance = PyObject_Call(type, args, NULL);
- Py_DECREF(args);
- if (!owned_instance)
- goto bad;
- value = owned_instance;
- if (!PyExceptionInstance_Check(value)) {
- PyErr_Format(PyExc_TypeError,
- "calling %R should have returned an instance of "
- "BaseException, not %R",
- type, Py_TYPE(value));
- goto bad;
- }
- }
- } else {
- PyErr_SetString(PyExc_TypeError,
- "raise: exception class must be a subclass of BaseException");
- goto bad;
- }
-#if PY_VERSION_HEX >= 0x03030000
- if (cause) {
-#else
- if (cause && cause != Py_None) {
-#endif
- PyObject *fixed_cause;
- if (cause == Py_None) {
- fixed_cause = NULL;
- } else if (PyExceptionClass_Check(cause)) {
- fixed_cause = PyObject_CallObject(cause, NULL);
- if (fixed_cause == NULL)
- goto bad;
- } else if (PyExceptionInstance_Check(cause)) {
- fixed_cause = cause;
- Py_INCREF(fixed_cause);
- } else {
- PyErr_SetString(PyExc_TypeError,
- "exception causes must derive from "
- "BaseException");
- goto bad;
- }
- PyException_SetCause(value, fixed_cause);
- }
- PyErr_SetObject(type, value);
- if (tb) {
-#if CYTHON_COMPILING_IN_PYPY
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
- Py_INCREF(tb);
- PyErr_Restore(tmp_type, tmp_value, tb);
- Py_XDECREF(tmp_tb);
-#else
- PyThreadState *tstate = PyThreadState_GET();
- PyObject* tmp_tb = tstate->curexc_traceback;
- if (tb != tmp_tb) {
- Py_INCREF(tb);
- tstate->curexc_traceback = tb;
- Py_XDECREF(tmp_tb);
- }
-#endif
- }
-bad:
- Py_XDECREF(owned_instance);
- return;
+ if (pitem) {
+ *pitem = next_item;
+ } else if (pkey && pvalue) {
+ if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
+ return -1;
+ } else if (pkey) {
+ *pkey = next_item;
+ } else {
+ *pvalue = next_item;
+ }
+ return 1;
}
-#endif
static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
#if PY_VERSION_HEX >= 0x02070000
@@ -15970,30 +27751,77 @@ bad:
Py_XDECREF(py_frame);
}
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
- const int neg_one = (int) -1, const_zero = 0;
- const int is_unsigned = neg_one > const_zero;
- if (is_unsigned) {
- if (sizeof(int) < sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(int) <= sizeof(unsigned long)) {
- return PyLong_FromUnsignedLong((unsigned long) value);
- } else if (sizeof(int) <= sizeof(unsigned long long)) {
- return PyLong_FromUnsignedLongLong((unsigned long long) value);
- }
- } else {
- if (sizeof(int) <= sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(int) <= sizeof(long long)) {
- return PyLong_FromLongLong((long long) value);
- }
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
+ PyObject *empty_list = 0;
+ PyObject *module = 0;
+ PyObject *global_dict = 0;
+ PyObject *empty_dict = 0;
+ PyObject *list;
+ #if PY_VERSION_HEX < 0x03030000
+ PyObject *py_import;
+ py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
+ if (!py_import)
+ goto bad;
+ #endif
+ if (from_list)
+ list = from_list;
+ else {
+ empty_list = PyList_New(0);
+ if (!empty_list)
+ goto bad;
+ list = empty_list;
}
+ global_dict = PyModule_GetDict(__pyx_m);
+ if (!global_dict)
+ goto bad;
+ empty_dict = PyDict_New();
+ if (!empty_dict)
+ goto bad;
{
- int one = 1; int little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&value;
- return _PyLong_FromByteArray(bytes, sizeof(int),
- little, !is_unsigned);
+ #if PY_MAJOR_VERSION >= 3
+ if (level == -1) {
+ if (strchr(__Pyx_MODULE_NAME, '.')) {
+ #if PY_VERSION_HEX < 0x03030000
+ PyObject *py_level = PyInt_FromLong(1);
+ if (!py_level)
+ goto bad;
+ module = PyObject_CallFunctionObjArgs(py_import,
+ name, global_dict, empty_dict, list, py_level, NULL);
+ Py_DECREF(py_level);
+ #else
+ module = PyImport_ImportModuleLevelObject(
+ name, global_dict, empty_dict, list, 1);
+ #endif
+ if (!module) {
+ if (!PyErr_ExceptionMatches(PyExc_ImportError))
+ goto bad;
+ PyErr_Clear();
+ }
+ }
+ level = 0;
+ }
+ #endif
+ if (!module) {
+ #if PY_VERSION_HEX < 0x03030000
+ PyObject *py_level = PyInt_FromLong(level);
+ if (!py_level)
+ goto bad;
+ module = PyObject_CallFunctionObjArgs(py_import,
+ name, global_dict, empty_dict, list, py_level, NULL);
+ Py_DECREF(py_level);
+ #else
+ module = PyImport_ImportModuleLevelObject(
+ name, global_dict, empty_dict, list, level);
+ #endif
+ }
}
+bad:
+ #if PY_VERSION_HEX < 0x03030000
+ Py_XDECREF(py_import);
+ #endif
+ Py_XDECREF(empty_list);
+ Py_XDECREF(empty_dict);
+ return module;
}
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value) \
@@ -16017,19 +27845,19 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
#endif
#endif
-static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
- const int neg_one = (int) -1, const_zero = 0;
+static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
+ const int64_t neg_one = (int64_t) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
if (likely(PyInt_Check(x))) {
- if (sizeof(int) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
+ if (sizeof(int64_t) < sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x))
} else {
long val = PyInt_AS_LONG(x);
if (is_unsigned && unlikely(val < 0)) {
goto raise_neg_overflow;
}
- return (int) val;
+ return (int64_t) val;
}
} else
#endif
@@ -16039,32 +27867,32 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(int, digit, ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow;
}
- if (sizeof(int) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong(x))
- } else if (sizeof(int) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong(x))
+ if (sizeof(int64_t) <= sizeof(unsigned long)) {
+ __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, PyLong_AsUnsignedLong(x))
+ } else if (sizeof(int64_t) <= sizeof(unsigned long long)) {
+ __PYX_VERIFY_RETURN_INT(int64_t, unsigned long long, PyLong_AsUnsignedLongLong(x))
}
} else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(int, digit, +(((PyLongObject*)x)->ob_digit[0]));
- case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, +(((PyLongObject*)x)->ob_digit[0]));
+ case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
- if (sizeof(int) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong(x))
- } else if (sizeof(int) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong(x))
+ if (sizeof(int64_t) <= sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(int64_t, long, PyLong_AsLong(x))
+ } else if (sizeof(int64_t) <= sizeof(long long)) {
+ __PYX_VERIFY_RETURN_INT(int64_t, long long, PyLong_AsLongLong(x))
}
}
{
@@ -16072,7 +27900,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
- int val;
+ int64_t val;
PyObject *v = __Pyx_PyNumber_Int(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
@@ -16092,112 +27920,39 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
return val;
}
#endif
- return (int) -1;
+ return (int64_t) -1;
}
} else {
- int val;
+ int64_t val;
PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (int) -1;
- val = __Pyx_PyInt_As_int(tmp);
+ if (!tmp) return (int64_t) -1;
+ val = __Pyx_PyInt_As_int64_t(tmp);
Py_DECREF(tmp);
return val;
}
raise_overflow:
PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to int");
- return (int) -1;
+ "value too large to convert to int64_t");
+ return (int64_t) -1;
raise_neg_overflow:
PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int");
- return (int) -1;
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
- PyObject *empty_list = 0;
- PyObject *module = 0;
- PyObject *global_dict = 0;
- PyObject *empty_dict = 0;
- PyObject *list;
- #if PY_VERSION_HEX < 0x03030000
- PyObject *py_import;
- py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
- if (!py_import)
- goto bad;
- #endif
- if (from_list)
- list = from_list;
- else {
- empty_list = PyList_New(0);
- if (!empty_list)
- goto bad;
- list = empty_list;
- }
- global_dict = PyModule_GetDict(__pyx_m);
- if (!global_dict)
- goto bad;
- empty_dict = PyDict_New();
- if (!empty_dict)
- goto bad;
- {
- #if PY_MAJOR_VERSION >= 3
- if (level == -1) {
- if (strchr(__Pyx_MODULE_NAME, '.')) {
- #if PY_VERSION_HEX < 0x03030000
- PyObject *py_level = PyInt_FromLong(1);
- if (!py_level)
- goto bad;
- module = PyObject_CallFunctionObjArgs(py_import,
- name, global_dict, empty_dict, list, py_level, NULL);
- Py_DECREF(py_level);
- #else
- module = PyImport_ImportModuleLevelObject(
- name, global_dict, empty_dict, list, 1);
- #endif
- if (!module) {
- if (!PyErr_ExceptionMatches(PyExc_ImportError))
- goto bad;
- PyErr_Clear();
- }
- }
- level = 0;
- }
- #endif
- if (!module) {
- #if PY_VERSION_HEX < 0x03030000
- PyObject *py_level = PyInt_FromLong(level);
- if (!py_level)
- goto bad;
- module = PyObject_CallFunctionObjArgs(py_import,
- name, global_dict, empty_dict, list, py_level, NULL);
- Py_DECREF(py_level);
- #else
- module = PyImport_ImportModuleLevelObject(
- name, global_dict, empty_dict, list, level);
- #endif
- }
- }
-bad:
- #if PY_VERSION_HEX < 0x03030000
- Py_XDECREF(py_import);
- #endif
- Py_XDECREF(empty_list);
- Py_XDECREF(empty_dict);
- return module;
+ "can't convert negative value to int64_t");
+ return (int64_t) -1;
}
-static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
- const int64_t neg_one = (int64_t) -1, const_zero = 0;
+static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
+ const uint64_t neg_one = (uint64_t) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
if (likely(PyInt_Check(x))) {
- if (sizeof(int64_t) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x))
+ if (sizeof(uint64_t) < sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
} else {
long val = PyInt_AS_LONG(x);
if (is_unsigned && unlikely(val < 0)) {
goto raise_neg_overflow;
}
- return (int64_t) val;
+ return (uint64_t) val;
}
} else
#endif
@@ -16207,32 +27962,32 @@ static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow;
}
- if (sizeof(int64_t) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, PyLong_AsUnsignedLong(x))
- } else if (sizeof(int64_t) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(int64_t, unsigned long long, PyLong_AsUnsignedLongLong(x))
+ if (sizeof(uint64_t) <= sizeof(unsigned long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
+ } else if (sizeof(uint64_t) <= sizeof(unsigned long long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long long, PyLong_AsUnsignedLongLong(x))
}
} else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, +(((PyLongObject*)x)->ob_digit[0]));
- case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +(((PyLongObject*)x)->ob_digit[0]));
+ case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
- if (sizeof(int64_t) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int64_t, long, PyLong_AsLong(x))
- } else if (sizeof(int64_t) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(int64_t, long long, PyLong_AsLongLong(x))
+ if (sizeof(uint64_t) <= sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, long, PyLong_AsLong(x))
+ } else if (sizeof(uint64_t) <= sizeof(long long)) {
+ __PYX_VERIFY_RETURN_INT(uint64_t, long long, PyLong_AsLongLong(x))
}
}
{
@@ -16240,7 +27995,7 @@ static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
- int64_t val;
+ uint64_t val;
PyObject *v = __Pyx_PyNumber_Int(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
@@ -16260,39 +28015,39 @@ static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
return val;
}
#endif
- return (int64_t) -1;
+ return (uint64_t) -1;
}
} else {
- int64_t val;
+ uint64_t val;
PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (int64_t) -1;
- val = __Pyx_PyInt_As_int64_t(tmp);
+ if (!tmp) return (uint64_t) -1;
+ val = __Pyx_PyInt_As_uint64_t(tmp);
Py_DECREF(tmp);
return val;
}
raise_overflow:
PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to int64_t");
- return (int64_t) -1;
+ "value too large to convert to uint64_t");
+ return (uint64_t) -1;
raise_neg_overflow:
PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int64_t");
- return (int64_t) -1;
+ "can't convert negative value to uint64_t");
+ return (uint64_t) -1;
}
-static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
- const uint64_t neg_one = (uint64_t) -1, const_zero = 0;
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+ const int neg_one = (int) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
if (likely(PyInt_Check(x))) {
- if (sizeof(uint64_t) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
+ if (sizeof(int) < sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
} else {
long val = PyInt_AS_LONG(x);
if (is_unsigned && unlikely(val < 0)) {
goto raise_neg_overflow;
}
- return (uint64_t) val;
+ return (int) val;
}
} else
#endif
@@ -16302,32 +28057,32 @@ static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(int, digit, ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow;
}
- if (sizeof(uint64_t) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
- } else if (sizeof(uint64_t) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long long, PyLong_AsUnsignedLongLong(x))
+ if (sizeof(int) <= sizeof(unsigned long)) {
+ __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong(x))
+ } else if (sizeof(int) <= sizeof(unsigned long long)) {
+ __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong(x))
}
} else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
switch (Py_SIZE(x)) {
case 0: return 0;
- case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +(((PyLongObject*)x)->ob_digit[0]));
- case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
+ case 1: __PYX_VERIFY_RETURN_INT(int, digit, +(((PyLongObject*)x)->ob_digit[0]));
+ case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
}
#endif
#endif
- if (sizeof(uint64_t) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, long, PyLong_AsLong(x))
- } else if (sizeof(uint64_t) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(uint64_t, long long, PyLong_AsLongLong(x))
+ if (sizeof(int) <= sizeof(long)) {
+ __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong(x))
+ } else if (sizeof(int) <= sizeof(long long)) {
+ __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong(x))
}
}
{
@@ -16335,7 +28090,7 @@ static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
- uint64_t val;
+ int val;
PyObject *v = __Pyx_PyNumber_Int(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
@@ -16355,24 +28110,24 @@ static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
return val;
}
#endif
- return (uint64_t) -1;
+ return (int) -1;
}
} else {
- uint64_t val;
+ int val;
PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (uint64_t) -1;
- val = __Pyx_PyInt_As_uint64_t(tmp);
+ if (!tmp) return (int) -1;
+ val = __Pyx_PyInt_As_int(tmp);
Py_DECREF(tmp);
return val;
}
raise_overflow:
PyErr_SetString(PyExc_OverflowError,
- "value too large to convert to uint64_t");
- return (uint64_t) -1;
+ "value too large to convert to int");
+ return (int) -1;
raise_neg_overflow:
PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to uint64_t");
- return (uint64_t) -1;
+ "can't convert negative value to int");
+ return (int) -1;
}
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
@@ -16470,6 +28225,32 @@ raise_neg_overflow:
return (long) -1;
}
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+ const int neg_one = (int) -1, const_zero = 0;
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(int) < sizeof(long)) {
+ return PyInt_FromLong((long) value);
+ } else if (sizeof(int) <= sizeof(unsigned long)) {
+ return PyLong_FromUnsignedLong((unsigned long) value);
+ } else if (sizeof(int) <= sizeof(unsigned long long)) {
+ return PyLong_FromUnsignedLongLong((unsigned long long) value);
+ }
+ } else {
+ if (sizeof(int) <= sizeof(long)) {
+ return PyInt_FromLong((long) value);
+ } else if (sizeof(int) <= sizeof(long long)) {
+ return PyLong_FromLongLong((long long) value);
+ }
+ }
+ {
+ int one = 1; int little = (int)*(unsigned char *)&one;
+ unsigned char *bytes = (unsigned char *)&value;
+ return _PyLong_FromByteArray(bytes, sizeof(int),
+ little, !is_unsigned);
+ }
+}
+
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) {
const int64_t neg_one = (int64_t) -1, const_zero = 0;
const int is_unsigned = neg_one > const_zero;
@@ -16955,6 +28736,608 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_long(unsigned long valu
#endif
#endif
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
+ PyObject* fake_module;
+ PyTypeObject* cached_type = NULL;
+ fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
+ if (!fake_module) return NULL;
+ Py_INCREF(fake_module);
+ cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
+ if (cached_type) {
+ if (!PyType_Check((PyObject*)cached_type)) {
+ PyErr_Format(PyExc_TypeError,
+ "Shared Cython type %.200s is not a type object",
+ type->tp_name);
+ goto bad;
+ }
+ if (cached_type->tp_basicsize != type->tp_basicsize) {
+ PyErr_Format(PyExc_TypeError,
+ "Shared Cython type %.200s has the wrong size, try recompiling",
+ type->tp_name);
+ goto bad;
+ }
+ } else {
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
+ PyErr_Clear();
+ if (PyType_Ready(type) < 0) goto bad;
+ if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
+ goto bad;
+ Py_INCREF(type);
+ cached_type = type;
+ }
+done:
+ Py_DECREF(fake_module);
+ return cached_type;
+bad:
+ Py_XDECREF(cached_type);
+ cached_type = NULL;
+ goto done;
+}
+
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+#if CYTHON_COMPILING_IN_CPYTHON
+ PyThreadState *tstate = PyThreadState_GET();
+ tmp_type = tstate->exc_type;
+ tmp_value = tstate->exc_value;
+ tmp_tb = tstate->exc_traceback;
+ tstate->exc_type = *type;
+ tstate->exc_value = *value;
+ tstate->exc_traceback = *tb;
+#else
+ PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
+ PyErr_SetExcInfo(*type, *value, *tb);
+#endif
+ *type = tmp_type;
+ *value = tmp_value;
+ *tb = tmp_tb;
+}
+
+static PyObject *__Pyx_Generator_Next(PyObject *self);
+static PyObject *__Pyx_Generator_Send(PyObject *self, PyObject *value);
+static PyObject *__Pyx_Generator_Close(PyObject *self);
+static PyObject *__Pyx_Generator_Throw(PyObject *gen, PyObject *args);
+static PyTypeObject *__pyx_GeneratorType = 0;
+#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
+#define __Pyx_Generator_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
+#if 1 || PY_VERSION_HEX < 0x030300B0
+static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue) {
+ PyObject *et, *ev, *tb;
+ PyObject *value = NULL;
+ __Pyx_ErrFetch(&et, &ev, &tb);
+ if (!et) {
+ Py_XDECREF(tb);
+ Py_XDECREF(ev);
+ Py_INCREF(Py_None);
+ *pvalue = Py_None;
+ return 0;
+ }
+ if (unlikely(et != PyExc_StopIteration) &&
+ unlikely(!PyErr_GivenExceptionMatches(et, PyExc_StopIteration))) {
+ __Pyx_ErrRestore(et, ev, tb);
+ return -1;
+ }
+ if (likely(et == PyExc_StopIteration)) {
+ if (likely(!ev) || !PyObject_IsInstance(ev, PyExc_StopIteration)) {
+ if (!ev) {
+ Py_INCREF(Py_None);
+ ev = Py_None;
+ }
+ Py_XDECREF(tb);
+ Py_DECREF(et);
+ *pvalue = ev;
+ return 0;
+ }
+ }
+ PyErr_NormalizeException(&et, &ev, &tb);
+ if (unlikely(!PyObject_IsInstance(ev, PyExc_StopIteration))) {
+ __Pyx_ErrRestore(et, ev, tb);
+ return -1;
+ }
+ Py_XDECREF(tb);
+ Py_DECREF(et);
+#if PY_VERSION_HEX >= 0x030300A0
+ value = ((PyStopIterationObject *)ev)->value;
+ Py_INCREF(value);
+ Py_DECREF(ev);
+#else
+ {
+ PyObject* args = PyObject_GetAttr(ev, __pyx_n_s_args);
+ Py_DECREF(ev);
+ if (likely(args)) {
+ value = PyObject_GetItem(args, 0);
+ Py_DECREF(args);
+ }
+ if (unlikely(!value)) {
+ __Pyx_ErrRestore(NULL, NULL, NULL);
+ Py_INCREF(Py_None);
+ value = Py_None;
+ }
+ }
+#endif
+ *pvalue = value;
+ return 0;
+}
+#endif
+static CYTHON_INLINE
+void __Pyx_Generator_ExceptionClear(__pyx_GeneratorObject *self) {
+ PyObject *exc_type = self->exc_type;
+ PyObject *exc_value = self->exc_value;
+ PyObject *exc_traceback = self->exc_traceback;
+ self->exc_type = NULL;
+ self->exc_value = NULL;
+ self->exc_traceback = NULL;
+ Py_XDECREF(exc_type);
+ Py_XDECREF(exc_value);
+ Py_XDECREF(exc_traceback);
+}
+static CYTHON_INLINE
+int __Pyx_Generator_CheckRunning(__pyx_GeneratorObject *gen) {
+ if (unlikely(gen->is_running)) {
+ PyErr_SetString(PyExc_ValueError,
+ "generator already executing");
+ return 1;
+ }
+ return 0;
+}
+static CYTHON_INLINE
+PyObject *__Pyx_Generator_SendEx(__pyx_GeneratorObject *self, PyObject *value) {
+ PyObject *retval;
+ assert(!self->is_running);
+ if (unlikely(self->resume_label == 0)) {
+ if (unlikely(value && value != Py_None)) {
+ PyErr_SetString(PyExc_TypeError,
+ "can't send non-None value to a "
+ "just-started generator");
+ return NULL;
+ }
+ }
+ if (unlikely(self->resume_label == -1)) {
+ PyErr_SetNone(PyExc_StopIteration);
+ return NULL;
+ }
+ if (value) {
+#if CYTHON_COMPILING_IN_PYPY
+#else
+ if (self->exc_traceback) {
+ PyThreadState *tstate = PyThreadState_GET();
+ PyTracebackObject *tb = (PyTracebackObject *) self->exc_traceback;
+ PyFrameObject *f = tb->tb_frame;
+ Py_XINCREF(tstate->frame);
+ assert(f->f_back == NULL);
+ f->f_back = tstate->frame;
+ }
+#endif
+ __Pyx_ExceptionSwap(&self->exc_type, &self->exc_value,
+ &self->exc_traceback);
+ } else {
+ __Pyx_Generator_ExceptionClear(self);
+ }
+ self->is_running = 1;
+ retval = self->body((PyObject *) self, value);
+ self->is_running = 0;
+ if (retval) {
+ __Pyx_ExceptionSwap(&self->exc_type, &self->exc_value,
+ &self->exc_traceback);
+#if CYTHON_COMPILING_IN_PYPY
+#else
+ if (self->exc_traceback) {
+ PyTracebackObject *tb = (PyTracebackObject *) self->exc_traceback;
+ PyFrameObject *f = tb->tb_frame;
+ Py_CLEAR(f->f_back);
+ }
+#endif
+ } else {
+ __Pyx_Generator_ExceptionClear(self);
+ }
+ return retval;
+}
+static CYTHON_INLINE
+PyObject *__Pyx_Generator_FinishDelegation(__pyx_GeneratorObject *gen) {
+ PyObject *ret;
+ PyObject *val = NULL;
+ __Pyx_Generator_Undelegate(gen);
+ __Pyx_PyGen_FetchStopIterationValue(&val);
+ ret = __Pyx_Generator_SendEx(gen, val);
+ Py_XDECREF(val);
+ return ret;
+}
+static PyObject *__Pyx_Generator_Next(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject*) self;
+ PyObject *yf = gen->yieldfrom;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ PyObject *ret;
+ gen->is_running = 1;
+ ret = Py_TYPE(yf)->tp_iternext(yf);
+ gen->is_running = 0;
+ if (likely(ret)) {
+ return ret;
+ }
+ return __Pyx_Generator_FinishDelegation(gen);
+ }
+ return __Pyx_Generator_SendEx(gen, Py_None);
+}
+static PyObject *__Pyx_Generator_Send(PyObject *self, PyObject *value) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject*) self;
+ PyObject *yf = gen->yieldfrom;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ PyObject *ret;
+ gen->is_running = 1;
+ if (__Pyx_Generator_CheckExact(yf)) {
+ ret = __Pyx_Generator_Send(yf, value);
+ } else {
+ if (value == Py_None)
+ ret = PyIter_Next(yf);
+ else
+ ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
+ }
+ gen->is_running = 0;
+ if (likely(ret)) {
+ return ret;
+ }
+ return __Pyx_Generator_FinishDelegation(gen);
+ }
+ return __Pyx_Generator_SendEx(gen, value);
+}
+static int __Pyx_Generator_CloseIter(__pyx_GeneratorObject *gen, PyObject *yf) {
+ PyObject *retval = NULL;
+ int err = 0;
+ if (__Pyx_Generator_CheckExact(yf)) {
+ retval = __Pyx_Generator_Close(yf);
+ if (!retval)
+ return -1;
+ } else {
+ PyObject *meth;
+ gen->is_running = 1;
+ meth = PyObject_GetAttr(yf, __pyx_n_s_close);
+ if (unlikely(!meth)) {
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
+ PyErr_WriteUnraisable(yf);
+ }
+ PyErr_Clear();
+ } else {
+ retval = PyObject_CallFunction(meth, NULL);
+ Py_DECREF(meth);
+ if (!retval)
+ err = -1;
+ }
+ gen->is_running = 0;
+ }
+ Py_XDECREF(retval);
+ return err;
+}
+static PyObject *__Pyx_Generator_Close(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ PyObject *retval, *raised_exception;
+ PyObject *yf = gen->yieldfrom;
+ int err = 0;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ Py_INCREF(yf);
+ err = __Pyx_Generator_CloseIter(gen, yf);
+ __Pyx_Generator_Undelegate(gen);
+ Py_DECREF(yf);
+ }
+ if (err == 0)
+ PyErr_SetNone(PyExc_GeneratorExit);
+ retval = __Pyx_Generator_SendEx(gen, NULL);
+ if (retval) {
+ Py_DECREF(retval);
+ PyErr_SetString(PyExc_RuntimeError,
+ "generator ignored GeneratorExit");
+ return NULL;
+ }
+ raised_exception = PyErr_Occurred();
+ if (!raised_exception
+ || raised_exception == PyExc_StopIteration
+ || raised_exception == PyExc_GeneratorExit
+ || PyErr_GivenExceptionMatches(raised_exception, PyExc_GeneratorExit)
+ || PyErr_GivenExceptionMatches(raised_exception, PyExc_StopIteration))
+ {
+ if (raised_exception) PyErr_Clear();
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+ return NULL;
+}
+static PyObject *__Pyx_Generator_Throw(PyObject *self, PyObject *args) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ PyObject *typ;
+ PyObject *tb = NULL;
+ PyObject *val = NULL;
+ PyObject *yf = gen->yieldfrom;
+ if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))
+ return NULL;
+ if (unlikely(__Pyx_Generator_CheckRunning(gen)))
+ return NULL;
+ if (yf) {
+ PyObject *ret;
+ Py_INCREF(yf);
+ if (PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit)) {
+ int err = __Pyx_Generator_CloseIter(gen, yf);
+ Py_DECREF(yf);
+ __Pyx_Generator_Undelegate(gen);
+ if (err < 0)
+ return __Pyx_Generator_SendEx(gen, NULL);
+ goto throw_here;
+ }
+ gen->is_running = 1;
+ if (__Pyx_Generator_CheckExact(yf)) {
+ ret = __Pyx_Generator_Throw(yf, args);
+ } else {
+ PyObject *meth = PyObject_GetAttr(yf, __pyx_n_s_throw);
+ if (unlikely(!meth)) {
+ Py_DECREF(yf);
+ if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
+ gen->is_running = 0;
+ return NULL;
+ }
+ PyErr_Clear();
+ __Pyx_Generator_Undelegate(gen);
+ gen->is_running = 0;
+ goto throw_here;
+ }
+ ret = PyObject_CallObject(meth, args);
+ Py_DECREF(meth);
+ }
+ gen->is_running = 0;
+ Py_DECREF(yf);
+ if (!ret) {
+ ret = __Pyx_Generator_FinishDelegation(gen);
+ }
+ return ret;
+ }
+throw_here:
+ __Pyx_Raise(typ, val, tb, NULL);
+ return __Pyx_Generator_SendEx(gen, NULL);
+}
+static int __Pyx_Generator_traverse(PyObject *self, visitproc visit, void *arg) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ Py_VISIT(gen->closure);
+ Py_VISIT(gen->classobj);
+ Py_VISIT(gen->yieldfrom);
+ Py_VISIT(gen->exc_type);
+ Py_VISIT(gen->exc_value);
+ Py_VISIT(gen->exc_traceback);
+ return 0;
+}
+static int __Pyx_Generator_clear(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ Py_CLEAR(gen->closure);
+ Py_CLEAR(gen->classobj);
+ Py_CLEAR(gen->yieldfrom);
+ Py_CLEAR(gen->exc_type);
+ Py_CLEAR(gen->exc_value);
+ Py_CLEAR(gen->exc_traceback);
+ Py_CLEAR(gen->gi_name);
+ Py_CLEAR(gen->gi_qualname);
+ return 0;
+}
+static void __Pyx_Generator_dealloc(PyObject *self) {
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ PyObject_GC_UnTrack(gen);
+ if (gen->gi_weakreflist != NULL)
+ PyObject_ClearWeakRefs(self);
+ if (gen->resume_label > 0) {
+ PyObject_GC_Track(self);
+#if PY_VERSION_HEX >= 0x030400a1
+ if (PyObject_CallFinalizerFromDealloc(self))
+#else
+ Py_TYPE(gen)->tp_del(self);
+ if (self->ob_refcnt > 0)
+#endif
+ {
+ return;
+ }
+ PyObject_GC_UnTrack(self);
+ }
+ __Pyx_Generator_clear(self);
+ PyObject_GC_Del(gen);
+}
+static void __Pyx_Generator_del(PyObject *self) {
+ PyObject *res;
+ PyObject *error_type, *error_value, *error_traceback;
+ __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self;
+ if (gen->resume_label <= 0)
+ return ;
+#if PY_VERSION_HEX < 0x030400a1
+ assert(self->ob_refcnt == 0);
+ self->ob_refcnt = 1;
+#endif
+ __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
+ res = __Pyx_Generator_Close(self);
+ if (res == NULL)
+ PyErr_WriteUnraisable(self);
+ else
+ Py_DECREF(res);
+ __Pyx_ErrRestore(error_type, error_value, error_traceback);
+#if PY_VERSION_HEX < 0x030400a1
+ assert(self->ob_refcnt > 0);
+ if (--self->ob_refcnt == 0) {
+ return;
+ }
+ {
+ Py_ssize_t refcnt = self->ob_refcnt;
+ _Py_NewReference(self);
+ self->ob_refcnt = refcnt;
+ }
+#if CYTHON_COMPILING_IN_CPYTHON
+ assert(PyType_IS_GC(self->ob_type) &&
+ _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
+ _Py_DEC_REFTOTAL;
+#endif
+#ifdef COUNT_ALLOCS
+ --Py_TYPE(self)->tp_frees;
+ --Py_TYPE(self)->tp_allocs;
+#endif
+#endif
+}
+static PyObject *
+__Pyx_Generator_get_name(__pyx_GeneratorObject *self)
+{
+ Py_INCREF(self->gi_name);
+ return self->gi_name;
+}
+static int
+__Pyx_Generator_set_name(__pyx_GeneratorObject *self, PyObject *value)
+{
+ PyObject *tmp;
+#if PY_MAJOR_VERSION >= 3
+ if (unlikely(value == NULL || !PyUnicode_Check(value))) {
+#else
+ if (unlikely(value == NULL || !PyString_Check(value))) {
+#endif
+ PyErr_SetString(PyExc_TypeError,
+ "__name__ must be set to a string object");
+ return -1;
+ }
+ tmp = self->gi_name;
+ Py_INCREF(value);
+ self->gi_name = value;
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyObject *
+__Pyx_Generator_get_qualname(__pyx_GeneratorObject *self)
+{
+ Py_INCREF(self->gi_qualname);
+ return self->gi_qualname;
+}
+static int
+__Pyx_Generator_set_qualname(__pyx_GeneratorObject *self, PyObject *value)
+{
+ PyObject *tmp;
+#if PY_MAJOR_VERSION >= 3
+ if (unlikely(value == NULL || !PyUnicode_Check(value))) {
+#else
+ if (unlikely(value == NULL || !PyString_Check(value))) {
+#endif
+ PyErr_SetString(PyExc_TypeError,
+ "__qualname__ must be set to a string object");
+ return -1;
+ }
+ tmp = self->gi_qualname;
+ Py_INCREF(value);
+ self->gi_qualname = value;
+ Py_XDECREF(tmp);
+ return 0;
+}
+static PyGetSetDef __pyx_Generator_getsets[] = {
+ {(char *) "__name__", (getter)__Pyx_Generator_get_name, (setter)__Pyx_Generator_set_name,
+ (char*) PyDoc_STR("name of the generator"), 0},
+ {(char *) "__qualname__", (getter)__Pyx_Generator_get_qualname, (setter)__Pyx_Generator_set_qualname,
+ (char*) PyDoc_STR("qualified name of the generator"), 0},
+ {0, 0, 0, 0, 0}
+};
+static PyMemberDef __pyx_Generator_memberlist[] = {
+ {(char *) "gi_running", T_BOOL, offsetof(__pyx_GeneratorObject, is_running), READONLY, NULL},
+ {0, 0, 0, 0, 0}
+};
+static PyMethodDef __pyx_Generator_methods[] = {
+ {"send", (PyCFunction) __Pyx_Generator_Send, METH_O, 0},
+ {"throw", (PyCFunction) __Pyx_Generator_Throw, METH_VARARGS, 0},
+ {"close", (PyCFunction) __Pyx_Generator_Close, METH_NOARGS, 0},
+ {0, 0, 0, 0}
+};
+static PyTypeObject __pyx_GeneratorType_type = {
+ PyVarObject_HEAD_INIT(0, 0)
+ "generator",
+ sizeof(__pyx_GeneratorObject),
+ 0,
+ (destructor) __Pyx_Generator_dealloc,
+ 0,
+ 0,
+ 0,
+#if PY_MAJOR_VERSION < 3
+ 0,
+#else
+ 0,
+#endif
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
+ 0,
+ (traverseproc) __Pyx_Generator_traverse,
+ 0,
+ 0,
+ offsetof(__pyx_GeneratorObject, gi_weakreflist),
+ 0,
+ (iternextfunc) __Pyx_Generator_Next,
+ __pyx_Generator_methods,
+ __pyx_Generator_memberlist,
+ __pyx_Generator_getsets,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+#if PY_VERSION_HEX >= 0x030400a1
+ 0,
+#else
+ __Pyx_Generator_del,
+#endif
+ 0,
+#if PY_VERSION_HEX >= 0x030400a1
+ __Pyx_Generator_del,
+#endif
+};
+static __pyx_GeneratorObject *__Pyx_Generator_New(__pyx_generator_body_t body,
+ PyObject *closure, PyObject *name, PyObject *qualname) {
+ __pyx_GeneratorObject *gen =
+ PyObject_GC_New(__pyx_GeneratorObject, &__pyx_GeneratorType_type);
+ if (gen == NULL)
+ return NULL;
+ gen->body = body;
+ gen->closure = closure;
+ Py_XINCREF(closure);
+ gen->is_running = 0;
+ gen->resume_label = 0;
+ gen->classobj = NULL;
+ gen->yieldfrom = NULL;
+ gen->exc_type = NULL;
+ gen->exc_value = NULL;
+ gen->exc_traceback = NULL;
+ gen->gi_weakreflist = NULL;
+ Py_XINCREF(qualname);
+ gen->gi_qualname = qualname;
+ Py_XINCREF(name);
+ gen->gi_name = name;
+ PyObject_GC_Track(gen);
+ return gen;
+}
+static int __pyx_Generator_init(void) {
+ __pyx_GeneratorType_type.tp_getattro = PyObject_GenericGetAttr;
+ __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
+ __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
+ if (__pyx_GeneratorType == NULL) {
+ return -1;
+ }
+ return 0;
+}
+
static int __Pyx_check_binary_version(void) {
char ctversion[4], rtversion[4];
PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
diff --git a/wrappers/numpy/adios_mpi.pyx b/wrappers/numpy/adios_mpi.pyx
index cc84963..519283c 100644
--- a/wrappers/numpy/adios_mpi.pyx
+++ b/wrappers/numpy/adios_mpi.pyx
@@ -1,12 +1,7 @@
-"""
- ADIOS is freely available under the terms of the BSD license described
- in the COPYING file in the top level directory of this source distribution.
+# -*- coding: utf-8 -*-
+"""ADIOS: ADIOS python module
- Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
-"""
-"""
- This is a cython file. To generate a CPP file, use the following command:
- $ cython --cplus adios.pyx
+.. moduleauthor:: Jong Choi <choij at ornl.gov>
"""
import numpy as np
@@ -18,6 +13,15 @@ cimport mpi4py.MPI as MPI
import cython
cimport cython
+from libc.stdlib cimport malloc, free
+from cpython.string cimport PyString_AsString
+
+cdef char ** to_cstring_array(list_str):
+ cdef char **ret = <char **>malloc(len(list_str) * sizeof(char *))
+ for i in xrange(len(list_str)):
+ ret[i] = PyString_AsString(list_str[i])
+ return ret
+
## ====================
## ADIOS Exported Functions
## ====================
@@ -42,6 +46,7 @@ cdef extern from "adios_types.h":
adios_string
adios_complex
adios_double_complex
+ adios_string_array
ctypedef enum ADIOS_BUFFER_ALLOC_WHEN:
ADIOS_BUFFER_ALLOC_UNKNOWN
@@ -106,6 +111,13 @@ cdef extern from "adios.h":
ADIOS_DATATYPES type,
char * value,
char * var)
+
+ cdef int adios_define_attribute_byvalue (int64_t group,
+ char * name,
+ char * path,
+ ADIOS_DATATYPES type,
+ int nelems,
+ void * values)
cdef int adios_select_method (int64_t group,
char * method,
@@ -149,12 +161,6 @@ cdef extern from "adios_selection.h":
cdef extern from "adios_read.h":
ctypedef enum ADIOS_READ_METHOD:
- ADIOS_READ_METHOD_BP
- ADIOS_READ_METHOD_BP_AGGREGATE
- ADIOS_READ_METHOD_DATASPACES
- ADIOS_READ_METHOD_DIMES
- ADIOS_READ_METHOD_FLEXPATH
- ADIOS_READ_METHOD_ICEE
pass
ctypedef enum ADIOS_LOCKMODE:
@@ -219,6 +225,13 @@ cdef extern from "adios_read.h":
void * data)
cdef int adios_perform_reads (const ADIOS_FILE *fp, int blocking)
+ cdef int adios_get_attr (ADIOS_FILE *fp,
+ const char * attrname,
+ ADIOS_DATATYPES * type,
+ int * size,
+ void ** data)
+
+ cdef char * adios_type_to_string (ADIOS_DATATYPES type)
## ====================
## ADIOS Enum (public)
@@ -240,6 +253,7 @@ class DATATYPE:
string = 9
complex = 10
double_complex = 11
+ string_array = 12
class FLAG:
UNKNOWN = 0
@@ -250,7 +264,39 @@ class BUFFER_ALLOC_WHEN:
UNKNOWN = 0
NOW = 1
LATER = 2
+
+class READ_METHOD:
+ BP = 0
+ BP_AGGREGATE = 1
+ DATASPACES = 3
+ DIMES = 4
+ FLEXPATH = 5
+ ICEE = 6
+
+
+cpdef __parse_index(index, ndim):
+ # Fix index, handling ellipsis and incomplete slices.
+ if not isinstance(index, tuple):
+ index = (index,)
+
+ fixed = []
+ length = len(index)
+ for slice_ in index:
+ if slice_ is Ellipsis:
+ fixed.extend([slice(None)] * (ndim-length-len(fixed)+1))
+ elif isinstance(slice_, (int, long)):
+ fixed.append(slice(slice_, slice_+1, None))
+ else:
+ fixed.append(slice_)
+ length -= 1
+
+ index = tuple(fixed)
+ if len(index) < ndim:
+ index += (slice(None),) * (ndim-len(index))
+
+ return index
+
## ====================
## ADIOS Write API
## ====================
@@ -273,12 +319,15 @@ cpdef int64_t set_group_size(int64_t fd_p, uint64_t data_size):
result = adios_group_size(fd_p, data_size, &total_size)
return total_size
-cpdef int write (int64_t fd_p, char * name, np.ndarray val):
+cpdef int write (int64_t fd_p, char * name, val, dtype=None):
cdef np.ndarray val_
- if val.flags.contiguous:
- val_ = val
+ if isinstance(val, (np.ndarray)):
+ if val.flags.contiguous:
+ val_ = val
+ else:
+ val_ = np.array(val, copy=True)
else:
- val_ = np.array(val, copy=True)
+ val_ = np.array(val, dtype=dtype)
return adios_write (fd_p, name, <void *> val_.data)
@@ -291,6 +340,10 @@ cpdef int write_long (int64_t fd_p, char * name, long val):
cpdef int write_float (int64_t fd_p, char * name, float val):
return adios_write (fd_p, name, &val)
+cpdef int write_double (int64_t fd_p, char * name, double val):
+ return adios_write (fd_p, name, &val)
+
+
cpdef int read(int64_t fd_p, char * name, np.ndarray val):
assert val.flags.contiguous, 'Only contiguous arrays are supported.'
print "Reading ... ", val.itemsize * val.size, "(bytes)"
@@ -326,13 +379,13 @@ cpdef int64_t declare_group(char * name,
cpdef int define_var(int64_t group_id,
char * name,
char * path,
- int type,
+ int atype,
char * dimensions = "",
char * global_dimensions = "",
char * local_offsets = ""):
return adios_define_var(group_id,
name, path,
- <ADIOS_DATATYPES> type,
+ <ADIOS_DATATYPES> atype,
dimensions,
global_dimensions,
local_offsets)
@@ -340,16 +393,59 @@ cpdef int define_var(int64_t group_id,
cpdef int define_attribute (int64_t group,
char * name,
char * path,
- int type,
+ int atype,
char * value,
char * var):
return adios_define_attribute (group,
name,
path,
- <ADIOS_DATATYPES> type,
+ <ADIOS_DATATYPES> atype,
value,
var)
+cpdef int define_attribute_byvalue (int64_t group,
+ char * name,
+ char * path,
+ val):
+ cdef np.ndarray val_
+ if isinstance(val, (np.ndarray)):
+ if val.flags.contiguous:
+ val_ = val
+ else:
+ val_ = np.array(val, copy=True)
+ else:
+ val_ = np.array(val)
+
+ atype = np2adiostype(val_.dtype)
+
+ cdef char * pt1
+ cdef char ** pt2
+ if (val_.dtype.char == 'S'):
+ if (val_.size == 1):
+ pt1 = PyString_AsString(val)
+ adios_define_attribute_byvalue (group,
+ name,
+ path,
+ DATATYPE.string,
+ 1,
+ <void *> pt1)
+ else:
+ pt2 = to_cstring_array(val)
+ adios_define_attribute_byvalue (group,
+ name,
+ path,
+ DATATYPE.string_array,
+ len(val),
+ <void *> pt2)
+ free(pt2)
+ else:
+ adios_define_attribute_byvalue (group,
+ name,
+ path,
+ <ADIOS_DATATYPES> atype,
+ val_.size,
+ <void *> val_.data)
+
cpdef int select_method (int64_t group,
char * method,
char * parameters = "",
@@ -364,34 +460,37 @@ cpdef int select_method (int64_t group,
## ADIOS Read API (V2)
## ====================
-cdef type adios2nptype(ADIOS_DATATYPES t):
- cdef type ntype = None
+cpdef np.dtype adios2npdtype(ADIOS_DATATYPES t, int strlen = 1):
+ """ strlen apply only to string type """
+ cdef np.dtype ntype = None
if t == adios_byte:
- ntype = np.int8
+ ntype = np.dtype(np.int8)
elif t == adios_short:
- ntype = np.int16
+ ntype = np.dtype(np.int16)
elif t == adios_integer:
- ntype = np.int32
+ ntype = np.dtype(np.int32)
elif t == adios_long:
- ntype = np.int64
+ ntype = np.dtype(np.int64)
elif t == adios_unsigned_byte:
- ntype = np.uint8
+ ntype = np.dtype(np.uint8)
elif t == adios_unsigned_short:
- ntype = np.uint16
+ ntype = np.dtype(np.uint16)
elif t == adios_unsigned_integer:
- ntype = np.uint32
+ ntype = np.dtype(np.uint32)
elif t == adios_unsigned_long:
- ntype = np.uint64
+ ntype = np.dtype(np.uint64)
elif t == adios_real:
- ntype = np.float32
+ ntype = np.dtype(np.float32)
elif t == adios_double:
- ntype = np.float64
+ ntype = np.dtype(np.float64)
elif t == adios_long_double:
- ntype = np.float128
+ ntype = np.dtype(np.float128)
elif t == adios_complex:
- ntype = np.complex64
+ ntype = np.dtype(np.complex64)
elif t == adios_double_complex:
- ntype = np.complex128
+ ntype = np.dtype(np.complex128)
+ elif t == adios_string:
+ ntype = np.dtype((np.str_, strlen))
else:
ntype = None
@@ -412,32 +511,33 @@ cdef printfile(ADIOS_FILE * f):
cdef printvar(ADIOS_VARINFO * v):
print '%15s : %d' % ('varid', v.varid)
- print '%15s : %s' % ('type', adios2nptype(v.type))
+ print '%15s : %s' % ('type', adios2npdtype(v.type))
print '%15s : %d' % ('ndim', v.ndim)
print '%15s : %s' % ('dims', [v.dims[i] for i in range(v.ndim)])
print '%15s : %d' % ('nsteps', v.nsteps)
cdef ADIOS_READ_METHOD str2adiosreadmethod(bytes name):
if (name == "BP"):
- method = ADIOS_READ_METHOD_BP
+ method = READ_METHOD.BP
elif (name == "BP_AGGREGATE"):
- method = ADIOS_READ_METHOD_BP_AGGREGATE
+ method = READ_METHOD.BP_AGGREGATE
elif (name == "DATASPACES"):
- method = ADIOS_READ_METHOD_DATASPACES
+ method = READ_METHOD.DATASPACES
elif (name == "DIMES"):
- method = ADIOS_READ_METHOD_DIMES
+ method = READ_METHOD.DIMES
elif (name == "FLEXPATH"):
- method = ADIOS_READ_METHOD_FLEXPATH
+ method = READ_METHOD.FLEXPATH
elif (name == "ICEE"):
- method = ADIOS_READ_METHOD_ICEE
+ method = READ_METHOD.ICEE
else:
print '[WARN] Invalid read method name:', name, '. Use default BP method'
- method = ADIOS_READ_METHOD_BP
+ method = READ_METHOD.BP
return method
-cpdef np2adiostype(type nptype):
- """ Ignored: int_, intc, intp """
+cpdef np2adiostype(np.dtype nptype):
+ """ Convert Numpy.dtype to Adios Datatype
+ """
cdef atype = DATATYPE.unknown
@@ -473,11 +573,16 @@ cpdef np2adiostype(type nptype):
atype = DATATYPE.complex
elif (nptype == np.complex128):
atype = DATATYPE.double_complex
- elif (nptype == np.str_):
- atype = DATATYPE.byte
+ elif (nptype.char == 'S'):
+ atype = DATATYPE.string
+ else:
+ atype = DATATYPE.unknown
return atype
+cpdef str adiostype2string (ADIOS_DATATYPES type):
+ return str(adios_type_to_string(<ADIOS_DATATYPES> type))
+
## ====================
## ADIOS Class Definitions for Read
## ====================
@@ -495,29 +600,88 @@ cpdef int read_finalize(char * method_name = "BP"):
cdef method = str2adiosreadmethod(method_name)
return adios_read_finalize_method (method)
-""" Python class for ADIOS_FILE structure """
+## Python class for ADIOS_FILE structure
cdef class file:
- """ Private Memeber """
+ """
+ file class for Adios file read and write.
+
+ Args:
+ fname (str): filename.
+ method_name (str, optional): Adios read method (default: 'BP').
+ comm (MPI.Comm, optional): MPI comm for parallel read/write (default: MPI.COMM_WORLD).
+ is_stream (bool, optional): Set True if use stream reader (default: False).
+ lock_mode (int, optional): ADIOS_LOCKMODE for stream reader (default: ADIOS_LOCKMODE_ALL).
+ timeout_sec (float, optional): Timeout seconds for stream reader (default: 0.0).
+
+ Example:
+
+ >>> import adios as ad
+ >>> f = ad.file('adiosfile.bp')
+
+ """
+
cpdef ADIOS_FILE * fp
-
- """ Public Memeber """
- cpdef public bytes name
- cpdef public int nvars
- cpdef public int nattrs
- cpdef public int current_step
- cpdef public int last_step
- cpdef public int endianness
- cpdef public int version
- cpdef public int file_size
+ cpdef bytes name
+ cpdef int nvars
+ cpdef int nattrs
+ cpdef int current_step
+ cpdef int last_step
+ cpdef int endianness
+ cpdef int version
+ cpdef int file_size
+ cpdef bint is_stream
+ ## Public Memeber
cpdef public dict var
cpdef public dict attr
- cpdef public bint is_stream
+ property name:
+ """ The filename (or stream name) associated with. """
+ def __get__(self):
+ return self.name
+
+ property nvars:
+ """ The number of variables. """
+ def __get__(self):
+ return self.nvars
+
+ property nattrs:
+ """ The number of attributes. """
+ def __get__(self):
+ return self.nattrs
+
+ property current_step:
+ """ The current timestep index. """
+ def __get__(self):
+ return self.current_step
+
+ property last_step:
+ """ The last timestep index. """
+ def __get__(self):
+ return self.last_step
+
+ property endianness:
+ """ The endianness of the stored data. """
+ def __get__(self):
+ return self.endianness
+
+ property version:
+ """ The version of Adios. """
+ def __get__(self):
+ return self.version
+
+ property file_sizec:
+ """ The size of Adios file. """
+ def __get__(self):
+ return self.file_size
+
+ property is_stream:
+ """ Indicating reader type; file reader or stream reader """
+ def __get__(self):
+ return self.is_stream
- """ Initialization. Call adios_read_open and populate public members """
def __init__(self, char * fname,
- char * method_name = "BP",
+ char * method_name = 'BP',
MPI.Comm comm = MPI.COMM_WORLD,
is_stream = False,
ADIOS_LOCKMODE lock_mode = ADIOS_LOCKMODE_ALL,
@@ -545,43 +709,147 @@ cdef class file:
self.version = self.fp.version
self.file_size = self.fp.file_size
- for varname in [self.fp.var_namelist[i] for i in range(self.nvars)]:
- self.var[varname] = var(self, varname)
+ for name in [self.fp.var_namelist[i] for i in range(self.nvars)]:
+ self.var[name] = var(self, name)
+
+ for name in [self.fp.attr_namelist[i] for i in range(self.nattrs)]:
+ self.attr[name] = attr(self, name)
def __del__(self):
- self.close()
+ """ Close file on destruction. """
+ self.close()
- """ Call adios_read_close """
cpdef close(self):
+ """ Close the open file. """
assert self.fp != NULL, 'Not an open file'
adios_read_close(self.fp)
self.fp = NULL
- """ Print self """
cpdef printself(self):
+ """ Print native ADIOS_FILE structure. """
assert self.fp != NULL, 'Not an open file'
print '=== AdiosFile ==='
print '%15s : %lu' % ('fp', <unsigned long> self.fp)
printfile(self.fp)
cpdef advance(self, int last = 0, float timeout_sec = 0.0):
- return adios_advance_step(self.fp, last, timeout_sec)
+ """
+ Advance a timestep for stream reader.
+
+ Args:
+ last (int, optional): last timestep index (default: 0).
+ timeout_sec (float, optional): timeout seconds (default: 0.0).
+
+ Returns:
+ int: 0 if successful, non-zero otherwise.
+ """
+ val = adios_advance_step(self.fp, last, timeout_sec)
+ if (val >= 0):
+ self.current_step = self.fp.current_step
+ self.last_step = self.fp.last_step
+
+ for v in self.var.values():
+ v.advance()
+
+ return val
+
+ def __getitem__(self, varname):
+ """
+ Return Adios variable.
+
+ Args:
+ varname (str): variable name.
+
+ Raises:
+ KeyError: If no varname exists.
+
+ """
+ if not isinstance(varname, tuple):
+ varname = (varname,)
+
+ if len(varname) > 1:
+ raise KeyError(varname)
+
+ for key_ in varname:
+ if not isinstance(key_, str):
+ raise TypeError("Unhashable type")
+
+ if key_ in self.var.keys():
+ return self.var.get(key_)
+ elif key_ in self.attr.keys():
+ return self.attr.get(key_)
+ else:
+ raise KeyError(key_)
+
+ def __repr__(self):
+ """ Return string representation. """
+ return ("AdiosFile (path=%r, nvars=%r, var=%r, nattrs=%r, attr=%r, "
+ "current_step=%r, last_step=%r, file_size=%r)") % \
+ (self.fp.path,
+ self.nvars,
+ self.var.keys(),
+ self.nattrs,
+ self.attr.keys(),
+ self.current_step,
+ self.last_step,
+ self.file_size)
-""" Python class for ADIOS_VARINFO structure """
cdef class var:
- """ Private Memeber """
+ """
+ Adios variable class.
+
+ Unlike attributes whose values are populated on initialization,
+ variable's values will be returned by explicitly calling read() or
+ array access interface ([]).
+
+ Args:
+ file (file): Associated file class
+ name (str): variable name
+
+ Note:
+ Users do not need to create this class manually.
+ """
+
cdef file file
cdef ADIOS_VARINFO * vp
- """ Public Memeber """
- cpdef public bytes name
- cpdef public int varid
- cpdef public type type
- cpdef public int ndim
- cpdef public tuple dims
- cpdef public int nsteps
+ cpdef bytes name
+ cpdef int varid
+ cpdef np.dtype dtype
+ cpdef int ndim
+ cpdef tuple dims
+ cpdef int nsteps
+
+ property name:
+ """ The variable name. """
+ def __get__(self):
+ return self.name
+
+ property varid:
+ """ Internal variable id. """
+ def __get__(self):
+ return self.varid
+
+ property dtype:
+ """ Variable type as in numpy.dtype. """
+ def __get__(self):
+ return self.dtype
+
+ property ndim:
+ """ The number of dimensions of the variable. """
+ def __get__(self):
+ return self.ndim
+
+ property dims:
+ """ The shape of the variable. """
+ def __get__(self):
+ return self.dims
+
+ property nsteps:
+ """ The number of time steps of the variable. """
+ def __get__(self):
+ return self.nsteps
- """ Initialization. Call adios_inq_var and populate public members """
def __init__(self, file file, char * name):
self.file = file
self.vp = NULL
@@ -591,26 +859,87 @@ cdef class var:
assert self.vp != NULL, 'Not a valid var'
self.name = name
- self.varid = self.vp.varid
- self.type = adios2nptype(self.vp.type)
+ self.varid = self.vp.varid
self.ndim = self.vp.ndim
self.dims = tuple([self.vp.dims[i] for i in range(self.vp.ndim)])
self.nsteps = self.vp.nsteps
-
+
+ if self.vp.type == DATATYPE.string:
+ self.dtype = adios2npdtype(self.vp.type, len(<char*> self.vp.value))
+ else:
+ self.dtype = adios2npdtype(self.vp.type)
+
def __del__(self):
self.close()
- """ Call adios_free_varinfo """
cpdef close(self):
+ """ Close and free variable information """
assert self.vp != NULL, 'Not an open var'
adios_free_varinfo(self.vp)
self.vp = NULL
- """ Call adios_schedule_read and adios_perform_reads """
- cpdef read(self, tuple offset = (), tuple count = (), from_steps = 0, nsteps = 1):
- assert self.type is not None, 'Data type is not supported yet'
- if (self.nsteps > 0):
- assert from_steps + nsteps <= self.nsteps, 'Step index is out of range'
+ cpdef advance(self):
+ """ Update variable information after the stream advanced """
+ self.vp = adios_inq_var(self.file.fp, self.name)
+ assert self.vp != NULL, 'Not a valid var'
+ self.nsteps = self.vp.nsteps
+
+ cpdef read(self, tuple offset = (), tuple count = (), from_steps = None, nsteps = None, fill = 0):
+ """ Perform read.
+
+ Read data from an ADIOS BP file. Subset reading is
+ supported. Without any options, this will read out a whole
+ data.
+
+ Args:
+ offset (tuple of int, optional): offset (default: ())
+ count (tuple of int, optional): count (default: ())
+ from_steps (int, optional): starting step index (default: None)
+ nsteps (int, optional): number of time dimensions (default: None)
+ fill (value, optional): default fill value (default: 0)
+
+ Returns:
+ NumPy ndarray
+
+ Raises:
+ IndexError: If dimension is mismatched or out of the boundary.
+
+
+ Example:
+
+ The following command will read the full data:
+
+ >>> var.read()
+
+ which is equvalent to
+
+ >>> var[]
+
+
+ The following command is for subset reading:
+
+ >>> var.read(offset=(1,2), count=(3,4))
+
+ which will return an 3x4 array offset by (1,2) in the original
+ data. With Numpy's array notation, the following command does the same job:
+
+ >>> var[1:4, 2:6]
+
+ Similarly, the following two commands are same:
+
+ >>> var.read(count=(5,6))
+ >>> var[:5, :6]
+
+ """
+ if from_steps is None:
+ from_steps = 0 ##self.file.current_step
+
+ if nsteps is None:
+ nsteps = self.file.last_step - from_steps + 1
+
+ assert self.dtype is not None, 'Data type is not supported yet'
+ if (self.nsteps > 0) and (from_steps + nsteps > self.nsteps):
+ raise IndexError('Step index is out of range: from_steps=%r, nsteps=%r' % (from_steps, nsteps))
cdef list lshape = [self.vp.dims[i] for i in range(self.vp.ndim)]
cdef np.ndarray npshape = np.array(lshape, dtype=np.int64)
@@ -628,36 +957,520 @@ cdef class var:
else:
npcount = np.array(count, dtype=np.int64)
- assert npshape.ndim == npoffset.ndim, 'Offset dimension mismatch'
- assert npshape.ndim == npcount.ndim, 'Count dimension mismatch.'
- assert (npshape - npoffset >= npcount).all(), 'Count is larger than shape.'
+ if npshape.ndim != npoffset.ndim:
+ raise IndexError('Offset dimension mismatch (offset dim: %r)' % (npoffset.ndim))
+
+ if npshape.ndim != npcount.ndim:
+ raise IndexError('Count dimension mismatch (count dim: %r)' % (npcount.ndim))
+
+ if (npshape < npcount + npoffset).any():
+ raise IndexError('Requested is larger than the shape.')
shape = list(npcount)
if (nsteps > 1):
shape.insert(0, nsteps)
- cdef np.ndarray var = np.zeros(shape, dtype=self.type)
+ cdef np.ndarray var = np.zeros(shape, dtype=self.dtype)
+
+ if len(shape) > 0:
+ var[:] = fill
cdef ADIOS_SELECTION * sel
sel = adios_selection_boundingbox (self.vp.ndim, <uint64_t *> npoffset.data, <uint64_t *> npcount.data)
-
+
+ ##print 'npoffset', npoffset
+ ##print 'npcount', npcount
+
adios_schedule_read_byid (self.file.fp, sel, self.vp.varid, from_steps, nsteps, <void *> var.data)
adios_perform_reads(self.file.fp, 1)
- return var
+ ## Try not to return as scalar to be consistent
+ ##if (var.ndim == 0):
+ ## return np.asscalar(var)
+ ##else:
+ ## return var
+ return np.squeeze(var)
- """ Print self """
cpdef printself(self):
+ """ Print native ADIOS_VARINFO structure. """
assert self.vp != NULL, 'Not an open variable'
print '=== AdiosVariable ==='
print '%15s : %lu' % ('vp', <unsigned long> self.vp)
print '%15s : %lu' % ('fp', <unsigned long> self.file.fp)
printvar(self.vp)
+
+ def __repr__(self):
+ return "AdiosVar (varid=%r, dtype=%r, ndim=%r, dims=%r, nsteps=%r)" % \
+ (self.varid,
+ self.dtype,
+ self.ndim,
+ self.dims,
+ self.nsteps)
+
+ def __getitem__(self, index):
+ ndim_ = self.ndim
+ if (self.nsteps) > 1: ndim_ += 1
+
+ index_ = __parse_index(index, ndim_)
+ if (ndim_ > 0) and (len(index_) > ndim_):
+ raise IndexError("Too many indices for data")
+
+ if (ndim_ == 0) and (len(index_) > 1):
+ raise IndexError("Too many indices for data")
+
+ for slice_ in index_:
+ if isinstance(slice_.step, (int, long)) and (slice_.step != 1):
+ raise IndexError("Step size (%d) is not supported." % (slice_.step))
+ if isinstance(slice_, str):
+ raise IndexError("Name index (%r) is not supported." % (slice_))
+
+ if (self.nsteps) > 1:
+ dims_ = list(self.dims)
+ dims_.insert(0, self.nsteps)
+ indices = tuple(x[0].indices(x[1]) for x in zip(index_, dims_))
+ z = zip(*indices)
+
+ from_steps_ = z[0][0]
+ nsteps_ = (z[1][0] - z[0][0]-1)%self.nsteps+1
+ offset_ = z[0][1:]
+ count_ = tuple((np.subtract(z[1][1:], z[0][1:])-1)%dims_[1:]+1)
+ else:
+ indices = tuple(x[0].indices(x[1]) for x in zip(index_, self.dims))
+ z = zip(*indices)
+
+ if len(z) == 0:
+ from_steps_ = 0
+ nsteps_ = self.nsteps
+ offset_ = ()
+ count_ = ()
+ else:
+ from_steps_ = 0
+ nsteps_ = self.nsteps
+ offset_ = z[0]
+ count_ = tuple((np.subtract(z[1], z[0])-1)%self.dims+1)
+
+ ##print "from_steps", from_steps_
+ ##print "nsteps", nsteps_
+ ##print "offset", offset_
+ ##print "count", count_
+
+ return self.read(offset=offset_,
+ count=count_,
+ from_steps=from_steps_,
+ nsteps=nsteps_)
+
+cdef class attr:
+ """
+ Adios attribute class.
+
+ Attribute values are loaded on initialization.
+
+ Args:
+ attr_name (str): attribute name
+
+ Raises:
+ KeyError: If no attribute name exists.
+
+ Note:
+ Users do not need to create this class manually.
+ """
+ cdef file file
+ cpdef bytes name
+ cpdef np.dtype dtype
+ cdef np.ndarray value
+
+ property name:
+ """ The attribute name """
+ def __get__(self):
+ return self.name
+
+ property dtype:
+ """ The attribute type as in numpy.dtype """
+ def __get__(self):
+ return self.dtype
+
+ property value:
+ """ The attribute's value """
+ def __get__(self):
+ return self.value
+
+ def __init__(self, file file, char * name):
+ self.file = file
+ self.name = name
+
+ cdef int64_t p
+ cdef ADIOS_DATATYPES atype
+ cdef int bytes
+ cdef list strlist
+ cdef int len
+
+ err = adios_get_attr(self.file.fp, self.name, &atype, &bytes, <void **> &p)
+
+ if err == 0:
+ if atype == DATATYPE.string:
+ bytes = bytes - 1 ## Remove the NULL terminal
+ self.dtype = adios2npdtype(atype, bytes)
+ if atype == DATATYPE.string_array:
+ strlist = list()
+ len = bytes/sizeof(p)
+ for i in range(len):
+ strlist.append((<char **>p)[i])
+ self.value = np.array(strlist)
+ self.dtype = self.value.dtype
+
+ elif self.dtype is None:
+ print 'Warning: No support yet: %s (type=%d, bytes=%d)' % \
+ (self.name, atype, bytes)
+ else:
+ len = bytes/self.dtype.itemsize
+ if len == 1:
+ self.value = np.array(len, dtype=self.dtype)
+ else:
+ self.value = np.zeros(len, dtype=self.dtype)
+ self.value.data = <char *> p
+ else:
+ raise KeyError(name)
+
+ def __repr__(self):
+ return "AdiosAttr (name=%r, dtype=%r, value=%r)" % \
+ (self.name, self.dtype, self.value)
+
+
+## Helper dict
+cdef class smartdict(dict):
+ cdef factory
+ def __init__(self, factory):
+ dict.__init__(self)
+ self.factory = factory
+
+ def __setitem__(self, key, value):
+ if key in dict.keys(self):
+ dict.__setitem__(self, key, value)
+ else:
+ self.factory(key, value)
+
+cdef class writer:
+ """
+ writer class for Adios write.
+
+ Args:
+ fname (str): filename.
+ is_noxml (bool, optional): Set True if use noxml APIs (default: True).
+ comm (MPI.Comm, optional): MPI comm for parallel read/write (default: MPI.COMM_WORLD).
+
+ Example:
+
+ >>> import adios as ad
+ >>> f = ad.writer('adiosfile.bp')
+
+ """
+
+ cdef int64_t gid
+ cpdef bytes fname
+ cpdef bytes gname
+ cpdef bytes method
+ cpdef bytes method_params
+ cpdef bint is_noxml
+ cpdef MPI.Comm comm
+
+ cpdef dict var
+ cpdef dict attr
+
+ property fname:
+ """ The filename to write. """
+ def __get__(self):
+ return self.fname
+
+ property gname:
+ """ The groupname associated with the file. """
+ def __get__(self):
+ return self.gname
+
+ property is_noxml:
+ """ Boolean to indicate using No-XML or not. """
+ def __get__(self):
+ return self.is_noxml
+
+ property var:
+ """ Dictionary of variables to write. """
+ def __get__(self):
+ return self.var
+
+ property attr:
+ """ Dictionary of attributes to write. """
+ def __get__(self):
+ return self.attr
+
+ def __init__(self,char * fname,
+ bint is_noxml = True,
+ MPI.Comm comm = MPI.COMM_WORLD):
+ self.fname = fname
+ self.method = <bytes>""
+ self.method_params = <bytes>""
+ self.is_noxml = is_noxml
+ self.comm = comm
+ self.var = dict()
+ self.attr = dict()
+
+ ##def __var_factory__(self, name, value):
+ ## print "var_factory:", name, value
+ ##
+ ##def __attr_factory__(self, name, value):
+ ## print "attr_factory:", name, value
+
+ def declare_group(self, char * gname,
+ char * method = "POSIX1",
+ char * method_params = ""):
+ """
+ Define a group associated with the file.
+
+ Args:
+ gname (str): group name.
+ method (str, optional): Adios write method (default: 'POSIX1')
+ method_params (str, optional): parameters for the write method (default: '')
+
+ Example:
+
+ >>> fw.declare_group('group', method='MPI', method_params='verbose=3')
+
+ """
+ self.gid = declare_group(gname, "", 1)
+ self.gname = gname
+ self.method = method
+ self.method_params = method_params
+ select_method(self.gid, self.method, self.method_params, "")
+
+ def define_var(self, char * varname,
+ ldim = tuple(),
+ gdim = tuple(),
+ offset = tuple()):
+ """
+ Define a variable associated with the file.
+
+ Args:
+ varname (str): variable name.
+ ldim (tuple, optional): local dimension (default: tuple())
+ gdim (tuple, optional): global dimension (default: tuple())
+ offset (tuple, optional): offset (default: tuple())
+
+ Example:
+
+ Write 'temperature' variable of size of 2x3 array.
+
+ >>> fw.define_var ('temperature', (2,3))
+
+ """
+ self.var[varname] = varinfo(varname, ldim, gdim, offset)
+
+ def define_attr(self, char * attrname):
+ """
+ Define attribute in the file.
+
+ Args:
+ attrname (str): attribute name.
+ """
+
+ self.attr[attrname] = attrinfo(attrname, is_static=True)
+
+ def define_dynamic_attr(self, char * attrname,
+ char * varname,
+ dtype):
+ self.attr[attrname] = attrinfo(attrname, varname, dtype, is_static=False)
+ def __setitem__(self, name, val):
+ if self.var.has_key(name):
+ self.var[name].value = val
+ elif self.attr.has_key(name):
+ self.attr[name].value = val
+ else:
+ self.var[name] = val
+
+ def __getitem__(self, name):
+ if self.var.has_key(name):
+ return self.var[name].value
+ elif self.attr.has_key(name):
+ return self.attr[name].value
+ else:
+ raise KeyError(name)
+
+ def close(self):
+ """
+ Write variables and attributes to a file and close the writer.
+ """
+ fd = open(self.gname, self.fname, "w")
+
+ extra_var = dict()
+ extra_attr = dict()
+
+ for key, val in self.var.iteritems():
+ if not isinstance(val, varinfo):
+ n = np.array(val)
+ extra_var[key] = varinfo(key, n.shape)
+ extra_var[key].value = val
+ else:
+ if self.is_noxml: val.define(self.gid)
+
+ for key, val in extra_var.iteritems():
+ if self.is_noxml: val.define(self.gid)
+ self.var[key] = val
+
+ for key, val in self.attr.iteritems():
+ if not isinstance(val, attrinfo):
+ extra_attr[key] = attrinfo(key, val, np.array(val).dtype)
+ else:
+ if self.is_noxml: val.define(self.gid)
+
+ for key, val in extra_attr.iteritems():
+ if self.is_noxml: val.define(self.gid)
+
+ groupsize = 0
+ for var in self.var.values():
+ groupsize = groupsize + var.bytes()
+
+ set_group_size(fd, groupsize)
+
+ for var in self.var.values():
+ var.write(fd)
+
+ close(fd)
+
+ def __repr__(self):
+ return ("AdiosWriter (fname=%r, gname=%r, "
+ "method=%r, method_params=%r, var=%r, attr=%r)") % \
+ (self.fname,
+ self.gname,
+ self.method,
+ self.method_params,
+ self.var.keys(),
+ self.attr.keys())
+
+cdef class attrinfo:
+ cdef bytes name
+ cdef bint is_static # Use define_byvalue, if True
+ cdef dtype
+ cdef value # Either varname or nparray
+
+ property name:
+ def __get__(self):
+ return self.name
+
+ property is_static:
+ def __get__(self):
+ return self.is_static
+
+ property dtype:
+ def __get__(self):
+ return self.dtype
+
+ property value:
+ def __get__(self):
+ return self.value
+
+ def __set__(self, value):
+ self.value = value
+
+ def __init__(self, char * name,
+ value = None,
+ dtype = None,
+ bint is_static = True):
+ self.name = name
+ self.value = value
+ self.dtype = dtype
+ self.is_static = is_static
+
+ def define(self, int64_t gid):
+ if self.is_static:
+ if self.value is None:
+ raise TypeError("Value is none")
+
+ define_attribute_byvalue(gid, self.name, "", self.value)
+ else:
+ ##atype = np2adiostype(np.dtype(self.dtype))
+ ##define_attribute(gid, self.name, "",
+ ## atype, "", str(self.value))
+ raise NotImplementedError
+
+ def __repr__(self):
+ return ("AdiosAttrinfo (name=%r, is_static=%r, value=%r, dtype=%r)") % \
+ (self.name,
+ self.is_static,
+ self.value,
+ self.dtype)
+
+cdef class varinfo:
+ cdef bytes name
+ cdef public ldim
+ cdef public gdim
+ cdef public offset
+ cdef public value
+
+ def __init__(self, char * name,
+ ldim = tuple(),
+ gdim = tuple(),
+ offset = tuple()):
+ self.name = name
+ self.ldim = ldim
+ self.gdim = gdim
+ self.offset = offset
+
+ def define(self, int64_t gid):
+ if self.value is None:
+ raise TypeError("Value is none")
+
+ ldim_ = self.ldim
+ if isinstance(self.ldim, (tuple, list)):
+ ldim_ = tuple(self.ldim)
+
+ gdim_ = self.gdim
+ if isinstance(self.gdim, (tuple, list)):
+ gdim_ = tuple(self.gdim)
+
+ offset_ = self.offset
+ if isinstance(self.offset, (tuple, list)):
+ offset_ = tuple(self.offset)
+
+ val_ = self.value
+ if not isinstance(self.value, (np.ndarray)):
+ val_ = np.array(self.value)
+
+ atype = np2adiostype(val_.dtype)
+ ## No space allowed
+ define_var(gid, self.name, "", atype,
+ str(ldim_).replace(' ', '').strip('(,)'),
+ str(gdim_).replace(' ', '').strip('(,)'),
+ str(offset_).replace(' ', '').strip('(,)'))
+
+ def bytes(self):
+ val_ = self.value
+ if not isinstance(self.value, (np.ndarray)):
+ val_ = np.array(self.value)
+
+ return val_.size * val_.itemsize
+
+ def write(self, int64_t fd):
+ val_ = self.value
+ if not isinstance(self.value, (np.ndarray)):
+ val_ = np.array(self.value)
+
+ write(fd, self.name, val_)
+
+ def __repr__(self):
+ return ("AdiosVarinfo (name=%r, ldim=%r, gdim=%r, offset=%r, value=%r)") % \
+ (self.name, self.ldim, self.gdim, self.offset, self.value)
+
## ====================
## ADIOS Global functions
## ====================
def readvar(fname, varname):
+ """ Retrieve a variable value from an Adios file.
+
+ Args:
+ fname (str): Adios file name
+ varname (str): Variable name to retrieve
+
+ Returns:
+ NumPy ndarray: variable value
+ """
f = file(fname, comm=MPI.COMM_SELF)
if not f.var.has_key(varname):
print "No valid variable"
@@ -667,6 +1480,14 @@ def readvar(fname, varname):
return v.read(from_steps=0, nsteps=v.nsteps)
def bpls(fname):
+ """ Return meta data of an Adios file as a Python dictionary object.
+
+ Args:
+ fname (str): Adios file name
+
+ Returns:
+ dict: Adios file meta data
+ """
f = file(fname, comm=MPI.COMM_SELF)
return {'nvars': f.nvars,
'nattrs': f.nattrs,
diff --git a/wrappers/numpy/conf/__init__.py b/wrappers/numpy/conf/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/wrappers/numpy/conf/mpiconfig.py b/wrappers/numpy/conf/mpiconfig.py
new file mode 100644
index 0000000..146d2c2
--- /dev/null
+++ b/wrappers/numpy/conf/mpiconfig.py
@@ -0,0 +1,363 @@
+import sys, os, platform, re
+
+from distutils import sysconfig
+from distutils.util import convert_path
+from distutils.util import split_quoted
+from distutils.spawn import find_executable
+from distutils import log
+
+try:
+ from collections import OrderedDict
+except ImportError:
+ OrderedDict = dict
+
+try:
+ from configparser import ConfigParser
+ from configparser import Error as ConfigParserError
+except ImportError:
+ from ConfigParser import ConfigParser
+ from ConfigParser import Error as ConfigParserError
+
+class Config(object):
+
+ def __init__(self, logger=None):
+ self.log = logger or log
+ self.section = None
+ self.filename = None
+ self.compiler_info = OrderedDict((
+ ('mpicc' , None),
+ ('mpicxx' , None),
+ ('mpif77' , None),
+ ('mpif90' , None),
+ ('mpif95' , None),
+ ('mpild' , None),
+ ))
+ self.library_info = OrderedDict((
+ ('define_macros' , []),
+ ('undef_macros' , []),
+ ('include_dirs' , []),
+
+ ('libraries' , []),
+ ('library_dirs' , []),
+ ('runtime_library_dirs' , []),
+
+ ('extra_compile_args' , []),
+ ('extra_link_args' , []),
+ ('extra_objects' , []),
+ ))
+
+ def __bool__(self):
+ for v in self.compiler_info.values():
+ if v:
+ return True
+ for v in self.library_info.values():
+ if v:
+ return True
+ return False
+
+ __nonzero__ = __bool__
+
+ def get(self, k, d=None):
+ if k in self.compiler_info:
+ return self.compiler_info[k]
+ if k in self.library_info:
+ return self.library_info[k]
+ return d
+
+ def info(self, log=None):
+ if log is None: log = self.log
+ mpicc = self.compiler_info.get('mpicc')
+ mpicxx = self.compiler_info.get('mpicxx')
+ mpif77 = self.compiler_info.get('mpif77')
+ mpif90 = self.compiler_info.get('mpif90')
+ mpif95 = self.compiler_info.get('mpif95')
+ mpild = self.compiler_info.get('mpild')
+ if mpicc:
+ log.info("MPI C compiler: %s", mpicc)
+ if mpicxx:
+ log.info("MPI C++ compiler: %s", mpicxx)
+ if mpif77:
+ log.info("MPI F77 compiler: %s", mpif77)
+ if mpif90:
+ log.info("MPI F90 compiler: %s", mpif90)
+ if mpif95:
+ log.info("MPI F95 compiler: %s", mpif95)
+ if mpild:
+ log.info("MPI linker: %s", mpild)
+
+ def update(self, config, **more):
+ if hasattr(config, 'keys'):
+ config = config.items()
+ for option, value in config:
+ if option in self.compiler_info:
+ self.compiler_info[option] = value
+ if option in self.library_info:
+ self.library_info[option] = value
+ if more:
+ self.update(more)
+
+ def setup(self, options, environ=None):
+ if environ is None: environ = os.environ
+ self.setup_library_info(options, environ)
+ self.setup_compiler_info(options, environ)
+
+ def setup_library_info(self, options, environ):
+ filename = section = None
+ mpiopt = getattr(options, 'mpi', None)
+ mpiopt = environ.get('MPICFG', mpiopt)
+ if mpiopt:
+ if ',' in mpiopt:
+ section, filename = mpiopt.split(',', 1)
+ else:
+ section = mpiopt
+ if not filename: filename = "mpi.cfg"
+ if not section: section = "mpi"
+
+ sections = [section+"-"+sys.platform, section]
+ self.load(filename, sections)
+ if not self:
+ if os.name == 'posix':
+ self._setup_posix()
+ if sys.platform == 'win32':
+ self._setup_windows()
+
+ def _setup_posix(self):
+ pass
+
+ def _setup_windows(self):
+ from glob import glob
+ ProgramFiles = os.environ.get('ProgramFiles', '')
+ for (name, install_suffix) in (
+ ('mpich2', 'MPICH2'),
+ ('openmpi', 'OpenMPI'),
+ ('openmpi', 'OpenMPI*'),
+ ('deinompi', 'DeinoMPI'),
+ ('msmpi', 'Microsoft HPC Pack 2008 SDK'),
+ ):
+ mpi_dir = os.path.join(ProgramFiles, install_suffix)
+ if '*' in mpi_dir:
+ dirs = glob(mpi_dir)
+ if dirs:
+ mpi_dir = max(dirs)
+ if not os.path.isdir(mpi_dir):
+ continue
+ define_macros = []
+ include_dir = os.path.join(mpi_dir, 'include')
+ library = 'mpi'
+ library_dir = os.path.join(mpi_dir, 'lib')
+ if name == 'openmpi':
+ define_macros.append(('OMPI_IMPORTS', None))
+ library = 'libmpi'
+ if name == 'msmpi':
+ library = 'msmpi'
+ bits = platform.architecture()[0]
+ if bits == '32bit':
+ library_dir = os.path.join(library_dir, 'i386')
+ if bits == '64bit':
+ library_dir = os.path.join(library_dir, 'amd64')
+ self.library_info.update(
+ define_macros=define_macros,
+ include_dirs=[include_dir],
+ libraries=[library],
+ library_dirs=[library_dir],
+ )
+ self.section = name
+ self.filename = [mpi_dir]
+ break
+
+
+ def setup_compiler_info(self, options, environ):
+ def find_exe(cmd, path=None):
+ if not cmd: return None
+ parts = split_quoted(cmd)
+ exe, args = parts[0], parts[1:]
+ if not os.path.isabs(exe) and path:
+ exe = os.path.basename(exe)
+ exe = find_executable(exe, path)
+ if not exe: return None
+ return ' '.join([exe]+args)
+ COMPILERS = (
+ ('mpicc', ['mpicc', 'mpcc_r']),
+ ('mpicxx', ['mpicxx', 'mpic++', 'mpiCC', 'mpCC_r']),
+ ('mpif77', ['mpif77', 'mpf77_r']),
+ ('mpif90', ['mpif90', 'mpf90_r']),
+ ('mpif95', ['mpif95', 'mpf95_r']),
+ ('mpild', []),
+ )
+ #
+ compiler_info = {}
+ PATH = environ.get('PATH', '')
+ for name, _ in COMPILERS:
+ cmd = (environ.get(name.upper()) or
+ getattr(options, name, None) or
+ self.compiler_info.get(name) or
+ None)
+ if cmd:
+ exe = find_exe(cmd, path=PATH)
+ if exe:
+ path = os.path.dirname(exe)
+ PATH = path + os.path.pathsep + PATH
+ compiler_info[name] = exe
+ else:
+ self.log.error("error: '%s' not found", cmd)
+ #
+ if not self and not compiler_info:
+ for name, candidates in COMPILERS:
+ for cmd in candidates:
+ cmd = find_exe(cmd)
+ if cmd:
+ compiler_info[name] = cmd
+ break
+ #
+ self.compiler_info.update(compiler_info)
+
+
+ def load(self, filename="mpi.cfg", section='mpi'):
+ if isinstance(filename, str):
+ filenames = filename.split(os.path.pathsep)
+ else:
+ filenames = list(filename)
+ if isinstance(section, str):
+ sections = section.split(',')
+ else:
+ sections = list(section)
+ #
+ try:
+ parser = ConfigParser(dict_type=OrderedDict)
+ except TypeError:
+ parser = ConfigParser()
+ try:
+ read_ok = parser.read(filenames)
+ except ConfigParserError:
+ self.log.error(
+ "error: parsing configuration file/s '%s'",
+ os.path.pathsep.join(filenames))
+ return None
+ for section in sections:
+ if parser.has_section(section):
+ break
+ section = None
+ if not section:
+ self.log.error(
+ "error: section/s '%s' not found in file/s '%s'",
+ ','.join(sections), os.path.pathsep.join(filenames))
+ return None
+ parser_items = list(parser.items(section, vars=None))
+ #
+ compiler_info = type(self.compiler_info)()
+ for option, value in parser_items:
+ if option in self.compiler_info:
+ compiler_info[option] = value
+ #
+ pathsep = os.path.pathsep
+ expanduser = os.path.expanduser
+ expandvars = os.path.expandvars
+ library_info = type(self.library_info)()
+ for k, v in parser_items:
+ if k in ('define_macros',
+ 'undef_macros',
+ ):
+ macros = [e.strip() for e in v.split(',')]
+ if k == 'define_macros':
+ for i, m in enumerate(macros):
+ try: # -DFOO=bar
+ idx = m.index('=')
+ macro = (m[:idx], m[idx+1:] or None)
+ except ValueError: # -DFOO
+ macro = (m, None)
+ macros[i] = macro
+ library_info[k] = macros
+ elif k in ('include_dirs',
+ 'library_dirs',
+ 'runtime_dirs',
+ 'runtime_library_dirs',
+ ):
+ if k == 'runtime_dirs': k = 'runtime_library_dirs'
+ pathlist = [p.strip() for p in v.split(pathsep)]
+ library_info[k] = [expanduser(expandvars(p))
+ for p in pathlist if p]
+ elif k == 'libraries':
+ library_info[k] = [e.strip() for e in split_quoted(v)]
+ elif k in ('extra_compile_args',
+ 'extra_link_args',
+ ):
+ library_info[k] = split_quoted(v)
+ elif k == 'extra_objects':
+ library_info[k] = [expanduser(expandvars(e))
+ for e in split_quoted(v)]
+ elif hasattr(self, k):
+ library_info[k] = v.strip()
+ else:
+ pass
+ #
+ self.section = section
+ self.filename = read_ok
+ self.compiler_info.update(compiler_info)
+ self.library_info.update(library_info)
+ return compiler_info, library_info, section, read_ok
+
+ def dump(self, filename=None, section='mpi'):
+ # prepare configuration values
+ compiler_info = self.compiler_info.copy()
+ library_info = self.library_info.copy()
+ for k in library_info:
+ if k in ('define_macros',
+ 'undef_macros',
+ ):
+ macros = library_info[k]
+ if k == 'define_macros':
+ for i, (m, v) in enumerate(macros):
+ if v is None:
+ macros[i] = m
+ else:
+ macros[i] = '%s=%s' % (m, v)
+ library_info[k] = ','.join(macros)
+ elif k in ('include_dirs',
+ 'library_dirs',
+ 'runtime_library_dirs',
+ ):
+ library_info[k] = os.path.pathsep.join(library_info[k])
+ elif isinstance(library_info[k], list):
+ library_info[k] = ' '.join(library_info[k])
+ # fill configuration parser
+ try:
+ parser = ConfigParser(dict_type=OrderedDict)
+ except TypeError:
+ parser = ConfigParser()
+ parser.add_section(section)
+ for option, value in compiler_info.items():
+ if not value: continue
+ parser.set(section, option, value)
+ for option, value in library_info.items():
+ if not value: continue
+ parser.set(section, option, value)
+ # save configuration file
+ if filename is None:
+ parser.write(sys.stdout)
+ elif hasattr(filename, 'write'):
+ parser.write(filename)
+ elif isinstance(filename, str):
+ f = open(filename, 'wt')
+ try:
+ parser.write(f)
+ finally:
+ f.close()
+ return parser
+
+
+if __name__ == '__main__':
+
+ import optparse
+ parser = optparse.OptionParser()
+ parser.add_option("--mpi", type="string")
+ parser.add_option("--mpicc", type="string")
+ parser.add_option("--mpicxx", type="string")
+ parser.add_option("--mpif90", type="string")
+ parser.add_option("--mpif77", type="string")
+ parser.add_option("--mpild", type="string")
+ (options, args) = parser.parse_args()
+
+ logger = log.Log(log.INFO)
+ conf = Config(logger)
+ conf.setup(options)
+ conf.dump()
diff --git a/wrappers/numpy/conf/mpidistutils.py b/wrappers/numpy/conf/mpidistutils.py
new file mode 100644
index 0000000..6fe9b80
--- /dev/null
+++ b/wrappers/numpy/conf/mpidistutils.py
@@ -0,0 +1,1534 @@
+# Author: Lisandro Dalcin
+# Contact: dalcinl at gmail.com
+
+"""
+Support for building mpi4py with distutils.
+"""
+
+# -----------------------------------------------------------------------------
+
+import sys
+if sys.version[:3] == '3.0':
+ from distutils import version
+ version.cmp = lambda a, b : (a > b) - (a < b)
+ del version
+del sys
+
+# -----------------------------------------------------------------------------
+
+import sys, os, platform, re
+from distutils import sysconfig
+from distutils.util import convert_path
+from distutils.util import split_quoted
+from distutils.spawn import find_executable
+from distutils import log
+
+def fix_config_vars(names, values):
+ values = list(values)
+ if sys.platform == 'darwin':
+ if 'ARCHFLAGS' in os.environ:
+ ARCHFLAGS = os.environ['ARCHFLAGS']
+ for i, flag in enumerate(list(values)):
+ flag, count = re.subn('-arch\s+\w+', ' ', flag)
+ if count and ARCHFLAGS:
+ flag = flag + ' ' + ARCHFLAGS
+ values[i] = flag
+ if 'SDKROOT' in os.environ:
+ SDKROOT = os.environ['SDKROOT']
+ for i, flag in enumerate(list(values)):
+ flag, count = re.subn('-isysroot [^ \t]*', ' ', flag)
+ if count and SDKROOT:
+ flag = flag + ' ' + '-isysroot ' + SDKROOT
+ values[i] = flag
+ return values
+
+def get_config_vars(*names):
+ # Core Python configuration
+ values = sysconfig.get_config_vars(*names)
+ # Do any distutils flags fixup right now
+ values = fix_config_vars(names, values)
+ return values
+
+def fix_compiler_cmd(cc, mpicc):
+ if not mpicc: return cc
+ if not cc: return mpicc
+ from os.path import basename
+ cc = split_quoted(cc)
+ i = 0
+ while basename(cc[i]) == 'env':
+ i = 1
+ while '=' in cc[i]:
+ i = i + 1
+ cc[i] = mpicc
+ return ' '.join(cc)
+
+def fix_linker_cmd(ld, mpild):
+ if not mpild: return ld
+ if not ld: return mpild
+ from os.path import basename
+ ld = split_quoted(ld)
+ i = 0
+ if (sys.platform.startswith('aix') and
+ basename(ld[i]) == 'ld_so_aix'):
+ i = i + 1
+ while basename(ld[i]) == 'env':
+ i = i + 1
+ while '=' in ld[i]:
+ i = i + 1
+ ld[i] = mpild
+ return ' '.join(ld)
+
+def split_linker_cmd(ld):
+ from os.path import basename
+ ld = split_quoted(ld)
+ i = 0
+ if (sys.platform.startswith('aix') and
+ basename(pyld[i]) == 'ld_so_aix'):
+ i = i + 1
+ while basename(ld[i]) == 'env':
+ i = i + 1
+ while '=' in ld[i]:
+ i = i + 1
+ p = i + 1
+ ld, flags = ' '.join(ld[:p]), ' '.join(ld[p:])
+ return ld, flags
+
+from distutils.unixccompiler import UnixCCompiler
+rpath_option_orig = UnixCCompiler.runtime_library_dir_option
+def rpath_option(compiler, dir):
+ option = rpath_option_orig(compiler, dir)
+ if sys.platform.startswith('linux'):
+ if option.startswith('-R'):
+ option = option.replace('-R', '-Wl,-rpath,', 1)
+ elif option.startswith('-Wl,-R,'):
+ option = option.replace('-Wl,-R,', '-Wl,-rpath,', 1)
+ return option
+UnixCCompiler.runtime_library_dir_option = rpath_option
+
+def customize_compiler(compiler, lang=None,
+ mpicc=None, mpicxx=None, mpild=None,
+ environ=None):
+ if environ is None:
+ environ = os.environ
+ if compiler.compiler_type == 'unix':
+ # Distutils configuration, actually obtained by parsing
+ # :file:{prefix}/lib[32|64]/python{X}.{Y}/config/Makefile
+ (cc, cxx, ccshared, ld,
+ basecflags, opt) = get_config_vars (
+ 'CC', 'CXX', 'CCSHARED', 'LDSHARED',
+ 'BASECFLAGS', 'OPT')
+ cc = cc .replace('-pthread', '')
+ cxx = cxx .replace('-pthread', '')
+ ld = ld .replace('-pthread', '')
+ ld, ldshared = split_linker_cmd(ld)
+ basecflags, opt = basecflags or '', opt or ''
+ ccshared = ccshared or ''
+ ldshared = ldshared or ''
+ # Compiler command overriding
+ if not mpild and (mpicc or mpicxx):
+ if lang == 'c':
+ mpild = mpicc
+ elif lang == 'c++':
+ mpild = mpicxx
+ else:
+ mpild = mpicc or mpicxx
+ if mpicc:
+ cc = fix_compiler_cmd(cc, mpicc)
+ if mpicxx:
+ cxx = fix_compiler_cmd(cxx, mpicxx)
+ if mpild:
+ ld = fix_linker_cmd(ld, mpild)
+ # Environment handling
+ cppflags = cflags = cxxflags = ldflags = ''
+ CPPFLAGS = environ.get('CPPFLAGS', '')
+ CFLAGS = environ.get('CFLAGS', '')
+ CXXFLAGS = environ.get('CXXFLAGS', '')
+ LDFLAGS = environ.get('LDFLAGS', '')
+ if CPPFLAGS:
+ cppflags = cppflags + ' ' + CPPFLAGS
+ cflags = cflags + ' ' + CPPFLAGS
+ cxxflags = cxxflags + ' ' + CPPFLAGS
+ ldflags = ldflags + ' ' + CPPFLAGS
+ if CFLAGS:
+ cflags = cflags + ' ' + CFLAGS
+ ldflags = ldflags + ' ' + CFLAGS
+ if CXXFLAGS:
+ cxxflags = cxxflags + ' ' + CXXFLAGS
+ ldflags = ldflags + ' ' + CXXFLAGS
+ if LDFLAGS:
+ ldflags = ldflags + ' ' + LDFLAGS
+ basecflags = environ.get('BASECFLAGS', basecflags)
+ opt = environ.get('OPT', opt )
+ ccshared = environ.get('CCSHARED', ccshared)
+ ldshared = environ.get('LDSHARED', ldshared)
+ cflags = ' '.join((basecflags, opt, cflags))
+ cxxflags = ' '.join((basecflags, opt, cxxflags))
+ cxxflags = cxxflags.replace('-Wstrict-prototypes', '')
+ # Distutils compiler setup
+ cpp = os.environ.get('CPP') or (cc + ' -E')
+ cc_so = cc + ' ' + ccshared
+ cxx_so = cxx + ' ' + ccshared
+ ld_so = ld + ' ' + ldshared
+ compiler.set_executables(
+ preprocessor = cpp + ' ' + cppflags,
+ compiler = cc + ' ' + cflags,
+ compiler_so = cc_so + ' ' + cflags,
+ compiler_cxx = cxx_so + ' ' + cxxflags,
+ linker_so = ld_so + ' ' + ldflags,
+ linker_exe = ld + ' ' + ldflags,
+ )
+ try: compiler.compiler_cxx.remove('-Wstrict-prototypes')
+ except: pass
+ if compiler.compiler_type == 'mingw32':
+ compiler.set_executables(
+ preprocessor = 'gcc -mno-cygwin -E',
+ )
+ if compiler.compiler_type in ('unix', 'cygwin', 'mingw32'):
+ if lang == 'c++':
+ def find_cmd_pos(cmd):
+ pos = 0
+ if os.path.basename(cmd[pos]) == "env":
+ pos = 1
+ while '=' in cmd[pos]:
+ pos = pos + 1
+ return pos
+ i = find_cmd_pos(compiler.compiler_so)
+ j = find_cmd_pos(compiler.compiler_cxx)
+ compiler.compiler_so[i] = compiler.compiler_cxx[j]
+ try: compiler.compiler_so.remove('-Wstrict-prototypes')
+ except: pass
+ if compiler.compiler_type == 'msvc':
+ if not compiler.initialized:
+ compiler.initialize()
+ compiler.ldflags_shared.append('/MANIFEST')
+ compiler.ldflags_shared_debug.append('/MANIFEST')
+
+# -----------------------------------------------------------------------------
+
+try:
+ from mpiconfig import Config
+except ImportError:
+ from conf.mpiconfig import Config
+
+def configuration(command_obj, verbose=True):
+ config = Config()
+ config.setup(command_obj)
+ if verbose:
+ if config.section and config.filename:
+ log.info("MPI configuration: [%s] from '%s'",
+ config.section, ','.join(config.filename))
+ config.info(log)
+ return config
+
+def configure_compiler(compiler, config, lang=None):
+ #
+ mpicc = config.get('mpicc')
+ mpicxx = config.get('mpicxx')
+ mpild = config.get('mpild')
+ customize_compiler(compiler, lang,
+ mpicc=mpicc, mpicxx=mpicxx, mpild=mpild)
+ #
+ for k, v in config.get('define_macros', []):
+ compiler.define_macro(k, v)
+ for v in config.get('undef_macros', []):
+ compiler.undefine_macro(v)
+ for v in config.get('include_dirs', []):
+ compiler.add_include_dir(v)
+ for v in config.get('libraries', []):
+ compiler.add_library(v)
+ for v in config.get('library_dirs', []):
+ compiler.add_library_dir(v)
+ for v in config.get('runtime_library_dirs', []):
+ compiler.add_runtime_library_dir(v)
+ for v in config.get('extra_objects', []):
+ compiler.add_link_object(v)
+ if compiler.compiler_type in \
+ ('unix', 'intel', 'cygwin', 'mingw32'):
+ cc_args = config.get('extra_compile_args', [])
+ ld_args = config.get('extra_link_args', [])
+ compiler.compiler += cc_args
+ compiler.compiler_so += cc_args
+ compiler.compiler_cxx += cc_args
+ compiler.linker_so += ld_args
+ compiler.linker_exe += ld_args
+ return compiler
+
+# -----------------------------------------------------------------------------
+
+try:
+ from mpiscanner import Scanner
+except ImportError:
+ try:
+ from conf.mpiscanner import Scanner
+ except ImportError:
+ class Scanner(object):
+ def parse_file(self, *args):
+ raise NotImplementedError(
+ "You forgot to grab 'mpiscanner.py'")
+
+class ConfigureMPI(object):
+
+ SRCDIR = 'src'
+ SOURCES = [os.path.join('include', 'mpi4py', 'mpi.pxi')]
+ DESTDIR = 'src'
+ CONFIG_H = 'config.h'
+ MISSING_H = 'missing.h'
+
+ def __init__(self, config_cmd):
+ self.scanner = Scanner()
+ for filename in self.SOURCES:
+ fullname = os.path.join(self.SRCDIR, filename)
+ self.scanner.parse_file(fullname)
+ self.config_cmd = config_cmd
+
+ def run(self):
+ results = []
+ for name, code in self.scanner.itertests():
+ log.info("checking for '%s' ..." % name)
+ body = self.gen_one(results, code)
+ ok = self.run_one(body)
+ if not ok:
+ log.info("**** failed check for '%s'" % name)
+ results.append((name, ok))
+ return results
+
+ def dump(self, results):
+ destdir = self.DESTDIR
+ config_h = os.path.join(destdir, self.CONFIG_H)
+ missing_h = os.path.join(destdir, self.MISSING_H)
+ log.info("writing '%s'", config_h)
+ self.scanner.dump_config_h(config_h, results)
+ log.info("writing '%s'", missing_h)
+ self.scanner.dump_missing_h(missing_h, None)
+
+ def gen_one(self, results, code):
+ #
+ configtest_h = "_configtest.h"
+ self.config_cmd.temp_files.insert(0, configtest_h)
+ fh = open(configtest_h, "w")
+ try:
+ sep = "/* " + ('-'*72)+ " */\n"
+ fh.write(sep)
+ self.scanner.dump_config_h(fh, results)
+ fh.write(sep)
+ self.scanner.dump_missing_h(fh, results)
+ fh.write(sep)
+ finally:
+ fh.close()
+ #
+ body = ['#include "%s"' % configtest_h,
+ 'int main(int argc, char **argv) {',
+ ' %s' % code,
+ ' return 0;',
+ '}']
+ body = '\n'.join(body) + '\n'
+ return body
+
+ def run_one(self, body, lang='c'):
+ ok = self.config_cmd.try_link(body, headers=['mpi.h'], lang=lang)
+ return ok
+
+# -----------------------------------------------------------------------------
+
+cmd_mpi_opts = [
+
+ ('mpild=', None,
+ "MPI linker command, "
+ "overridden by environment variable 'MPILD' "
+ "(defaults to 'mpicc' or 'mpicxx' if any is available)"),
+
+ ('mpif77=', None,
+ "MPI F77 compiler command, "
+ "overridden by environment variable 'MPIF77' "
+ "(defaults to 'mpif77' if available)"),
+
+ ('mpif90=', None,
+ "MPI F90 compiler command, "
+ "overridden by environment variable 'MPIF90' "
+ "(defaults to 'mpif90' if available)"),
+
+ ('mpif95=', None,
+ "MPI F95 compiler command, "
+ "overridden by environment variable 'MPIF95' "
+ "(defaults to 'mpif95' if available)"),
+
+ ('mpicxx=', None,
+ "MPI C++ compiler command, "
+ "overridden by environment variable 'MPICXX' "
+ "(defaults to 'mpicxx', 'mpiCC', or 'mpic++' if any is available)"),
+
+ ('mpicc=', None,
+ "MPI C compiler command, "
+ "overridden by environment variables 'MPICC' "
+ "(defaults to 'mpicc' if available)"),
+
+ ('mpi=', None,
+ "specify a configuration section, "
+ "and an optional list of configuration files "
+ + "(e.g. --mpi=section,file1" + os.path.pathsep + "file2), " +
+ "to look for MPI includes/libraries, "
+ "overridden by environment variable 'MPICFG' "
+ "(defaults to section 'mpi' in configuration file 'mpi.cfg')"),
+
+ ('configure', None,
+ "exhaustive test for checking missing MPI constants/types/functions"),
+
+ ]
+
+def cmd_get_mpi_options(cmd_opts):
+ optlist = []
+ for (option, _, _) in cmd_opts:
+ if option[-1] == '=':
+ option = option[:-1]
+ option = option.replace('-','_')
+ optlist.append(option)
+ return optlist
+
+def cmd_initialize_mpi_options(cmd):
+ mpiopts = cmd_get_mpi_options(cmd_mpi_opts)
+ for op in mpiopts:
+ setattr(cmd, op, None)
+
+def cmd_set_undefined_mpi_options(cmd, basecmd):
+ mpiopts = cmd_get_mpi_options(cmd_mpi_opts)
+ optlist = tuple(zip(mpiopts, mpiopts))
+ cmd.set_undefined_options(basecmd, *optlist)
+
+# -----------------------------------------------------------------------------
+
+from distutils.core import setup as fcn_setup
+from distutils.core import Distribution as cls_Distribution
+from distutils.core import Extension as cls_Extension
+from distutils.core import Command
+
+from distutils.command import config as cmd_config
+from distutils.command import build as cmd_build
+from distutils.command import install as cmd_install
+from distutils.command import sdist as cmd_sdist
+from distutils.command import clean as cmd_clean
+
+from distutils.command import build_py as cmd_build_py
+from distutils.command import build_clib as cmd_build_clib
+from distutils.command import build_ext as cmd_build_ext
+from distutils.command import install_data as cmd_install_data
+from distutils.command import install_lib as cmd_install_lib
+
+from distutils.errors import DistutilsError
+from distutils.errors import DistutilsSetupError
+from distutils.errors import DistutilsPlatformError
+from distutils.errors import DistutilsOptionError
+from distutils.errors import CCompilerError
+
+# -----------------------------------------------------------------------------
+
+# Distribution class supporting a 'executables' keyword
+
+class Distribution(cls_Distribution):
+
+ def __init__ (self, attrs=None):
+ # support for pkg data
+ self.package_data = {}
+ # PEP 314
+ self.provides = None
+ self.requires = None
+ self.obsoletes = None
+ # supports 'executables' keyword
+ self.executables = None
+ cls_Distribution.__init__(self, attrs)
+
+ def has_executables(self):
+ return self.executables and len(self.executables) > 0
+
+ def is_pure (self):
+ return (cls_Distribution.is_pure(self) and
+ not self.has_executables())
+
+# Extension class
+
+class Extension(cls_Extension):
+ def __init__ (self, **kw):
+ optional = kw.pop('optional', None)
+ configure = kw.pop('configure', None)
+ cls_Extension.__init__(self, **kw)
+ self.optional = optional
+ self.configure = configure
+
+# Library class
+
+class Library(Extension):
+ def __init__ (self, **kw):
+ kind = kw.pop('kind', "static")
+ package = kw.pop('package', None)
+ dest_dir = kw.pop('dest_dir', None)
+ Extension.__init__(self, **kw)
+ self.kind = kind
+ self.package = package
+ self.dest_dir = dest_dir
+
+# Executable class
+
+class Executable(Extension):
+ def __init__ (self, **kw):
+ package = kw.pop('package', None)
+ dest_dir = kw.pop('dest_dir', None)
+ Extension.__init__(self, **kw)
+ self.package = package
+ self.dest_dir = dest_dir
+
+# setup function
+
+def setup(**attrs):
+ if 'distclass' not in attrs:
+ attrs['distclass'] = Distribution
+ if 'cmdclass' not in attrs:
+ attrs['cmdclass'] = {}
+ cmdclass = attrs['cmdclass']
+ for cmd in (config, build, install,
+ test, clean, sdist,
+ build_src, build_py,
+ build_clib, build_ext, build_exe,
+ install_lib, install_data, install_exe,
+ ):
+ if cmd.__name__ not in cmdclass:
+ cmdclass[cmd.__name__] = cmd
+ return fcn_setup(**attrs)
+
+# -----------------------------------------------------------------------------
+
+# A minimalistic MPI program :-)
+
+ConfigTest = """\
+int main(int argc, char **argv)
+{
+ int ierr;
+ ierr = MPI_Init(&argc, &argv);
+ if (ierr) return -1;
+ ierr = MPI_Finalize();
+ if (ierr) return -1;
+ return 0;
+}
+"""
+
+class config(cmd_config.config):
+
+ user_options = cmd_config.config.user_options + cmd_mpi_opts
+
+ def initialize_options (self):
+ cmd_config.config.initialize_options(self)
+ cmd_initialize_mpi_options(self)
+ self.noisy = 0
+
+ def finalize_options (self):
+ cmd_config.config.finalize_options(self)
+ if not self.noisy:
+ self.dump_source = 0
+
+ def _clean(self, *a, **kw):
+ if sys.platform.startswith('win'):
+ for fn in ('_configtest.exe.manifest', ):
+ if os.path.exists(fn):
+ self.temp_files.append(fn)
+ cmd_config.config._clean(self, *a, **kw)
+
+ def check_header (self, header, headers=None, include_dirs=None):
+ if headers is None: headers = []
+ log.info("checking for header '%s' ..." % header)
+ body = "int main(int n, char**v) { return 0; }"
+ ok = self.try_compile(body, list(headers) + [header], include_dirs)
+ log.info(ok and 'success!' or 'failure.')
+ return ok
+
+ def check_macro (self, macro, headers=None, include_dirs=None):
+ log.info("checking for macro '%s' ..." % macro)
+ body = ("#ifndef %s\n"
+ "#error macro '%s' not defined\n"
+ "#endif\n") % (macro, macro)
+ body += "int main(int n, char**v) { return 0; }\n"
+ ok = self.try_compile(body, headers, include_dirs)
+ return ok
+
+ def check_library (self, library, library_dirs=None,
+ headers=None, include_dirs=None,
+ other_libraries=[], lang="c"):
+ log.info("checking for library '%s' ..." % library)
+ body = "int main(int n, char**v) { return 0; }"
+ ok = self.try_link(body, headers, include_dirs,
+ [library]+other_libraries, library_dirs,
+ lang=lang)
+ return ok
+
+ def check_function (self, function,
+ headers=None, include_dirs=None,
+ libraries=None, library_dirs=None,
+ decl=0, call=0, lang="c"):
+ log.info("checking for function '%s' ..." % function)
+ body = []
+ if decl:
+ if call: proto = "int %s (void);"
+ else: proto = "int %s;"
+ if lang == "c":
+ proto = "\n".join([
+ "#ifdef __cplusplus",
+ "extern \"C\"",
+ "#endif", proto])
+ body.append(proto % function)
+ body.append( "int main (int n, char**v) {")
+ if call:
+ body.append(" (void)%s();" % function)
+ else:
+ body.append(" %s;" % function)
+ body.append( " return 0;")
+ body.append( "}")
+ body = "\n".join(body) + "\n"
+ ok = self.try_link(body, headers, include_dirs,
+ libraries, library_dirs, lang=lang)
+ return ok
+
+ def check_symbol (self, symbol, type="int",
+ headers=None, include_dirs=None,
+ libraries=None, library_dirs=None,
+ decl=0, lang="c"):
+ log.info("checking for symbol '%s' ..." % symbol)
+ body = []
+ if decl:
+ body.append("%s %s;" % (type, symbol))
+ body.append("int main (int n, char**v) {")
+ body.append(" %s v; v = %s;" % (type, symbol))
+ body.append(" return 0;")
+ body.append("}")
+ body = "\n".join(body) + "\n"
+ ok = self.try_link(body, headers, include_dirs,
+ libraries, library_dirs, lang=lang)
+ return ok
+
+ check_hdr = check_header
+ check_lib = check_library
+ check_func = check_function
+ check_sym = check_symbol
+
+ def run (self):
+ #
+ config = configuration(self, verbose=True)
+ # test MPI C compiler
+ self.compiler = getattr(
+ self.compiler, 'compiler_type', self.compiler)
+ self._check_compiler()
+ configure_compiler(self.compiler, config, lang='c')
+ self.try_link(ConfigTest, headers=['mpi.h'], lang='c')
+ # test MPI C++ compiler
+ self.compiler = getattr(
+ self.compiler, 'compiler_type', self.compiler)
+ self._check_compiler()
+ configure_compiler(self.compiler, config, lang='c++')
+ self.try_link(ConfigTest, headers=['mpi.h'], lang='c++')
+
+
+class build(cmd_build.build):
+
+ user_options = cmd_build.build.user_options + cmd_mpi_opts
+
+ def initialize_options(self):
+ cmd_build.build.initialize_options(self)
+ cmd_initialize_mpi_options(self)
+
+ def finalize_options(self):
+ cmd_build.build.finalize_options(self)
+ config_cmd = self.get_finalized_command('config')
+ if isinstance(config_cmd, config):
+ cmd_set_undefined_mpi_options(self, 'config')
+
+ def has_executables (self):
+ return self.distribution.has_executables()
+
+ sub_commands = \
+ [('build_src', lambda *args: True)] + \
+ cmd_build.build.sub_commands + \
+ [('build_exe', has_executables),
+ ]
+
+
+class build_src(Command):
+ description = "build C sources from Cython files"
+ user_options = [
+ ('force', 'f',
+ "forcibly build everything (ignore file timestamps)"),
+ ]
+ boolean_options = ['force']
+ def initialize_options(self):
+ self.force = False
+ def finalize_options(self):
+ self.set_undefined_options('build',
+ ('force', 'force'),
+ )
+ def run(self):
+ pass
+
+
+class build_py(cmd_build_py.build_py):
+
+ if sys.version[:3] < '2.4':
+
+ def initialize_options(self):
+ self.package_data = None
+ cmd_build_py.build_py.initialize_options(self)
+
+ def finalize_options (self):
+ cmd_build_py.build_py.finalize_options(self)
+ self.package_data = self.distribution.package_data
+ self.data_files = self.get_data_files()
+
+ def run(self):
+ cmd_build_py.build_py.run(self)
+ if self.packages:
+ self.build_package_data()
+
+ def get_data_files (self):
+ """Generate list of '(package,src_dir,build_dir,filenames)' tuples"""
+ data = []
+ if not self.packages:
+ return data
+ for package in self.packages:
+ # Locate package source directory
+ src_dir = self.get_package_dir(package)
+
+ # Compute package build directory
+ build_dir = os.path.join(*([self.build_lib] + package.split('.')))
+
+ # Length of path to strip from found files
+ plen = len(src_dir)+1
+
+ # Strip directory from globbed filenames
+ filenames = [
+ file[plen:] for file in self.find_data_files(package, src_dir)
+ ]
+ data.append((package, src_dir, build_dir, filenames))
+ return data
+
+ def find_data_files (self, package, src_dir):
+ """Return filenames for package's data files in 'src_dir'"""
+ from glob import glob
+ globs = (self.package_data.get('', [])
+ + self.package_data.get(package, []))
+ files = []
+ for pattern in globs:
+ # Each pattern has to be converted to a platform-specific path
+ filelist = glob(os.path.join(src_dir, convert_path(pattern)))
+ # Files that match more than one pattern are only added once
+ files.extend([fn for fn in filelist if fn not in files])
+ return files
+
+ def get_package_dir (self, package):
+ """Return the directory, relative to the top of the source
+ distribution, where package 'package' should be found
+ (at least according to the 'package_dir' option, if any)."""
+ import string
+ path = string.split(package, '.')
+
+ if not self.package_dir:
+ if path:
+ return os.path.join(*path)
+ else:
+ return ''
+ else:
+ tail = []
+ while path:
+ try:
+ pdir = self.package_dir[string.join(path, '.')]
+ except KeyError:
+ tail.insert(0, path[-1])
+ del path[-1]
+ else:
+ tail.insert(0, pdir)
+ return os.path.join(*tail)
+ else:
+ pdir = self.package_dir.get('')
+ if pdir is not None:
+ tail.insert(0, pdir)
+
+ if tail:
+ return os.path.join(*tail)
+ else:
+ return ''
+
+ def build_package_data (self):
+ """Copy data files into build directory"""
+ lastdir = None
+ for package, src_dir, build_dir, filenames in self.data_files:
+ for filename in filenames:
+ target = os.path.join(build_dir, filename)
+ self.mkpath(os.path.dirname(target))
+ self.copy_file(os.path.join(src_dir, filename), target,
+ preserve_mode=False)
+
+
+# Command class to build libraries
+
+class build_clib(cmd_build_clib.build_clib):
+
+ user_options = [
+ ('build-clib-a=', 's',
+ "directory to build C/C++ static libraries to"),
+ ('build-clib-so=', 's',
+ "directory to build C/C++ shared libraries to"),
+ ]
+
+ user_options += cmd_build_clib.build_clib.user_options + cmd_mpi_opts
+
+ def initialize_options (self):
+ self.libraries = None
+ self.libraries_a = []
+ self.libraries_so = []
+
+ self.library_dirs = None
+ self.rpath = None
+ self.link_objects = None
+
+ self.build_lib = None
+ self.build_clib_a = None
+ self.build_clib_so = None
+ cmd_build_clib.build_clib.initialize_options(self)
+ cmd_initialize_mpi_options(self)
+
+ def finalize_options (self):
+ cmd_build_clib.build_clib.finalize_options(self)
+ build_cmd = self.get_finalized_command('build')
+ if isinstance(build_cmd, build):
+ cmd_set_undefined_mpi_options(self, 'build')
+ #
+ self.set_undefined_options('build',
+ ('build_lib', 'build_lib'),
+ ('build_lib', 'build_clib_a'),
+ ('build_lib', 'build_clib_so'))
+ #
+ if self.libraries:
+ libraries = self.libraries[:]
+ self.libraries = []
+ self.check_library_list (libraries)
+ for i, lib in enumerate(libraries):
+ if isinstance(lib, Library):
+ if lib.kind == "static":
+ self.libraries_a.append(lib)
+ else:
+ self.libraries_so.append(lib)
+ else:
+ self.libraries.append(lib)
+
+ def check_library_list (self, libraries):
+ ListType, TupleType = type([]), type(())
+ if not isinstance(libraries, ListType):
+ raise DistutilsSetupError(
+ "'libraries' option must be a list of "
+ "Library instances or 2-tuples")
+ for lib in libraries:
+ #
+ if isinstance(lib, Library):
+ lib_name = lib.name
+ build_info = lib.__dict__
+ elif isinstance(lib, TupleType) and len(lib) == 2:
+ lib_name, build_info = lib
+ else:
+ raise DistutilsSetupError(
+ "each element of 'libraries' option must be an "
+ "Library instance or 2-tuple")
+ #
+ if not isinstance(lib_name, str):
+ raise DistutilsSetupError(
+ "first element of each tuple in 'libraries' "
+ "must be a string (the library name)")
+ if '/' in lib_name or (os.sep != '/' and os.sep in lib_name):
+ raise DistutilsSetupError(
+ "bad library name '%s': "
+ "may not contain directory separators" % lib[0])
+ if not isinstance(build_info, dict):
+ raise DistutilsSetupError(
+ "second element of each tuple in 'libraries' "
+ "must be a dictionary (build info)")
+ lib_type = build_info.get('kind', 'static')
+ if lib_type not in ('static', 'shared', 'dylib'):
+ raise DistutilsSetupError(
+ "in 'kind' option (library '%s'), "
+ "'kind' must be one of "
+ " \"static\", \"shared\", \"dylib\"" % lib_name)
+ sources = build_info.get('sources')
+ if (sources is None or
+ type(sources) not in (ListType, TupleType)):
+ raise DistutilsSetupError(
+ "in 'libraries' option (library '%s'), "
+ "'sources' must be present and must be "
+ "a list of source filenames" % lib_name)
+ depends = build_info.get('depends')
+ if (depends is not None and
+ type(depends) not in (ListType, TupleType)):
+ raise DistutilsSetupError(
+ "in 'libraries' option (library '%s'), "
+ "'depends' must be a list "
+ "of source filenames" % lib_name)
+
+ def run (self):
+ cmd_build_clib.build_clib.run(self)
+ if (not self.libraries_a and
+ not self.libraries_so):
+ return
+ #
+ from distutils.ccompiler import new_compiler
+ self.compiler = new_compiler(compiler=self.compiler,
+ dry_run=self.dry_run,
+ force=self.force)
+ #
+ if self.define is not None:
+ for (name, value) in self.define:
+ self.compiler.define_macro(name, value)
+ if self.undef is not None:
+ for macro in self.undef:
+ self.compiler.undefine_macro(macro)
+ if self.include_dirs is not None:
+ self.compiler.set_include_dirs(self.include_dirs)
+ if self.library_dirs is not None:
+ self.compiler.set_library_dirs(self.library_dirs)
+ if self.rpath is not None:
+ self.compiler.set_runtime_library_dirs(self.rpath)
+ if self.link_objects is not None:
+ self.compiler.set_link_objects(self.link_objects)
+ #
+ config = configuration(self, verbose=True)
+ configure_compiler(self.compiler, config)
+ #
+ self.build_libraries(self.libraries)
+ self.build_libraries(self.libraries_a)
+ self.build_libraries(self.libraries_so)
+
+ def build_libraries (self, libraries):
+ for lib in libraries:
+ # old-style
+ if not isinstance(lib, Library):
+ cmd_build_clib.build_clib.build_libraries(self, [lib])
+ continue
+ # new-style
+ try:
+ self.build_library(lib)
+ except (DistutilsError, CCompilerError):
+ if not lib.optional: raise
+ e = sys.exc_info()[1]
+ self.warn('building library "%s" failed' % lib.name)
+ self.warn('%s' % e)
+
+ def config_library (self, lib):
+ if lib.configure:
+ config_cmd = self.get_finalized_command('config')
+ config_cmd.compiler = self.compiler # fix compiler
+ return lib.configure(lib, config_cmd)
+
+ def build_library(self, lib):
+ from distutils.dep_util import newer_group
+
+ sources = [convert_path(p) for p in lib.sources]
+ depends = [convert_path(p) for p in lib.depends]
+ depends = sources + depends
+
+ if lib.kind == "static":
+ build_dir = self.build_clib_a
+ else:
+ build_dir = self.build_clib_so
+ lib_fullpath = self.get_lib_fullpath(lib, build_dir)
+
+ if not (self.force or newer_group(depends, lib_fullpath, 'newer')):
+ log.debug("skipping '%s' %s library (up-to-date)",
+ lib.name, lib.kind)
+ return
+
+ ok = self.config_library(lib)
+ log.info("building '%s' %s library", lib.name, lib.kind)
+
+ # First, compile the source code to object files in the library
+ # directory. (This should probably change to putting object
+ # files in a temporary build directory.)
+ macros = lib.define_macros[:]
+ for undef in lib.undef_macros:
+ macros.append((undef,))
+
+ objects = self.compiler.compile(
+ sources,
+ depends=lib.depends,
+ output_dir=self.build_temp,
+ macros=macros,
+ include_dirs=lib.include_dirs,
+ extra_preargs=None,
+ extra_postargs=lib.extra_compile_args,
+ debug=self.debug,
+ )
+
+ if lib.kind == "static":
+ # Now "link" the object files together
+ # into a static library.
+ self.compiler.create_static_lib(
+ objects,
+ lib.name,
+ output_dir=os.path.dirname(lib_fullpath),
+ debug=self.debug,
+ )
+ else:
+ extra_objects = lib.extra_objects[:]
+ export_symbols = lib.export_symbols[:]
+ extra_link_args = lib.extra_link_args[:]
+ objects.extend(extra_objects)
+ if (self.compiler.compiler_type == 'msvc' and
+ export_symbols is not None):
+ output_dir = os.path.dirname(lib_fullpath)
+ implib_filename = self.compiler.library_filename(lib.name)
+ implib_file = os.path.join(output_dir, lib_fullpath)
+ extra_link_args.append ('/IMPLIB:' + implib_file)
+ # Detect target language, if not provided
+ src_language = self.compiler.detect_language(sources)
+ language = (lib.language or src_language)
+ # Now "link" the object files together
+ # into a shared library.
+ self.compiler.link(
+ self.compiler.SHARED_LIBRARY,
+ objects, lib_fullpath,
+ #
+ libraries=lib.libraries,
+ library_dirs=lib.library_dirs,
+ runtime_library_dirs=lib.runtime_library_dirs,
+ export_symbols=export_symbols,
+ extra_preargs=None,
+ extra_postargs=extra_link_args,
+ debug=self.debug,
+ target_lang=language,
+ )
+ return
+
+ def get_lib_fullpath (self, lib, build_dir):
+ package_dir = (lib.package or '').split('.')
+ dest_dir = convert_path(lib.dest_dir or '')
+ output_dir = os.path.join(build_dir, *package_dir+[dest_dir])
+ lib_type = lib.kind
+ if sys.platform != 'darwin':
+ if lib_type == 'dylib':
+ lib_type = 'shared'
+ compiler = self.compiler # XXX
+ lib_fullpath = compiler.library_filename(
+ lib.name, lib_type=lib_type, output_dir=output_dir)
+ return lib_fullpath
+
+ def get_source_files (self):
+ filenames = cmd_build_clib.build_clib.get_source_files(self)
+ self.check_library_list(self.libraries)
+ self.check_library_list(self.libraries_a)
+ self.check_library_list(self.libraries_so)
+ for (lib_name, build_info) in self.libraries:
+ filenames.extend(build_info.get(sources, []))
+ for lib in self.libraries_so + self.libraries_a:
+ filenames.extend(lib.sources)
+ return filenames
+
+ def get_outputs (self):
+ outputs = []
+ for lib in self.libraries_a:
+ lib_fullpath = self.get_lib_fullpath(lib, self.build_clib_a)
+ outputs.append(lib_fullpath)
+ for lib in self.libraries_so:
+ lib_fullpath = self.get_lib_fullpath(lib, self.build_clib_so)
+ outputs.append(lib_fullpath)
+ return outputs
+
+
+# Command class to build extension modules
+
+class build_ext(cmd_build_ext.build_ext):
+
+ user_options = cmd_build_ext.build_ext.user_options + cmd_mpi_opts
+
+ def initialize_options(self):
+ cmd_build_ext.build_ext.initialize_options(self)
+ cmd_initialize_mpi_options(self)
+
+ def finalize_options(self):
+ cmd_build_ext.build_ext.finalize_options(self)
+ build_cmd = self.get_finalized_command('build')
+ if isinstance(build_cmd, build):
+ cmd_set_undefined_mpi_options(self, 'build')
+ #
+ if ((sys.platform.startswith('linux') or
+ sys.platform.startswith('gnu') or
+ sys.platform.startswith('sunos')) and
+ sysconfig.get_config_var('Py_ENABLE_SHARED')):
+ py_version = sysconfig.get_python_version()
+ bad_pylib_dir = os.path.join(sys.prefix, "lib",
+ "python" + py_version,
+ "config")
+ try:
+ self.library_dirs.remove(bad_pylib_dir)
+ except ValueError:
+ pass
+ pylib_dir = sysconfig.get_config_var("LIBDIR")
+ if pylib_dir not in self.library_dirs:
+ self.library_dirs.append(pylib_dir)
+ if pylib_dir not in self.rpath:
+ self.rpath.append(pylib_dir)
+ if sys.exec_prefix == '/usr':
+ self.library_dirs.remove(pylib_dir)
+ self.rpath.remove(pylib_dir)
+
+ def run (self):
+ if self.distribution.has_c_libraries():
+ build_clib = self.get_finalized_command('build_clib')
+ if build_clib.libraries:
+ build_clib.run()
+ cmd_build_ext.build_ext.run(self)
+
+ def build_extensions(self):
+ # First, sanity-check the 'extensions' list
+ self.check_extensions_list(self.extensions)
+ # parse configuration file and configure compiler
+ config = configuration(self, verbose=True)
+ configure_compiler(self.compiler, config)
+ if self.compiler.compiler_type == "unix":
+ so_ext = sysconfig.get_config_var('SO')
+ self.compiler.shared_lib_extension = so_ext
+ self.config = config # XXX
+ # extra configuration, check for all MPI symbols
+ if self.configure:
+ log.info('testing for missing MPI symbols')
+ config_cmd = self.get_finalized_command('config')
+ config_cmd.compiler = self.compiler # fix compiler
+ configure = ConfigureMPI(config_cmd)
+ results = configure.run()
+ configure.dump(results)
+ #
+ macro = 'HAVE_CONFIG_H'
+ log.info("defining preprocessor macro '%s'" % macro)
+ self.compiler.define_macro(macro, 1)
+ # build extensions
+ for ext in self.extensions:
+ try:
+ self.build_extension(ext)
+ except (DistutilsError, CCompilerError):
+ if not ext.optional: raise
+ e = sys.exc_info()[1]
+ self.warn('building extension "%s" failed' % ext.name)
+ self.warn('%s' % e)
+
+ def config_extension (self, ext):
+ configure = getattr(ext, 'configure', None)
+ if configure:
+ config_cmd = self.get_finalized_command('config')
+ config_cmd.compiler = self.compiler # fix compiler
+ configure(ext, config_cmd)
+
+ def build_extension (self, ext):
+ from distutils.dep_util import newer_group
+ fullname = self.get_ext_fullname(ext.name)
+ filename = os.path.join(
+ self.build_lib, self.get_ext_filename(fullname))
+ depends = ext.sources + ext.depends
+ if not (self.force or newer_group(depends, filename, 'newer')):
+ log.debug("skipping '%s' extension (up-to-date)", ext.name)
+ return
+ #
+ self.config_extension(ext)
+ cmd_build_ext.build_ext.build_extension(self, ext)
+ #
+ # XXX -- this is a Vile HACK!
+ if ext.name == 'mpi4py.MPI':
+ dest_dir = os.path.dirname(filename)
+ self.mkpath(dest_dir)
+ mpi_cfg = os.path.join(dest_dir, 'mpi.cfg')
+ log.info("writing %s" % mpi_cfg)
+ if not self.dry_run:
+ self.config.dump(filename=mpi_cfg)
+
+ def get_outputs(self):
+ outputs = cmd_build_ext.build_ext.get_outputs(self)
+ for ext in self.extensions:
+ # XXX -- this is a Vile HACK!
+ if ext.name == 'mpi4py.MPI':
+ fullname = self.get_ext_fullname(ext.name)
+ filename = os.path.join(
+ self.build_lib,
+ self.get_ext_filename(fullname))
+ dest_dir = os.path.dirname(filename)
+ mpi_cfg = os.path.join(dest_dir, 'mpi.cfg')
+ outputs.append(mpi_cfg)
+ return outputs
+
+
+# Command class to build executables
+
+class build_exe(build_ext):
+
+ description = "build binary executable components"
+
+ user_options = [
+ ('build-exe=', None,
+ "build directory for executable components"),
+ ] + build_ext.user_options
+
+
+ def initialize_options (self):
+ build_ext.initialize_options(self)
+ self.build_base = None
+ self.build_exe = None
+
+ def finalize_options (self):
+ build_ext.finalize_options(self)
+ self.configure = None
+ self.set_undefined_options('build',
+ ('build_base','build_base'),
+ ('build_lib', 'build_exe'))
+ #from distutils.util import get_platform
+ #plat_specifier = ".%s-%s" % (get_platform(), sys.version[0:3])
+ #if hasattr(sys, 'gettotalrefcount') and sys.version[0:3] > '2.5':
+ # plat_specifier += '-pydebug'
+ #if self.build_exe is None:
+ # self.build_exe = os.path.join(self.build_base,
+ # 'exe' + plat_specifier)
+ self.executables = self.distribution.executables
+ # XXX This is a hack
+ self.extensions = self.distribution.executables
+ self.check_extensions_list = self.check_executables_list
+ self.build_extension = self.build_executable
+ self.get_ext_filename = self.get_exe_filename
+ self.build_lib = self.build_exe
+
+ def check_executables_list (self, executables):
+ ListType, TupleType = type([]), type(())
+ if type(executables) is not ListType:
+ raise DistutilsSetupError(
+ "'executables' option must be a list of Executable instances")
+ for exe in executables:
+ if not isinstance(exe, Executable):
+ raise DistutilsSetupError(
+ "'executables' items must be Executable instances")
+ if (exe.sources is None or
+ type(exe.sources) not in (ListType, TupleType)):
+ raise DistutilsSetupError(
+ ("in 'executables' option (executable '%s'), " +
+ "'sources' must be present and must be " +
+ "a list of source filenames") % exe.name)
+
+ def get_exe_filename(self, exe_name):
+ exe_ext = sysconfig.get_config_var('EXE') or ''
+ return exe_name + exe_ext
+
+ def get_exe_fullpath(self, exe, build_dir=None):
+ build_dir = build_dir or self.build_exe
+ package_dir = (exe.package or '').split('.')
+ dest_dir = convert_path(exe.dest_dir or '')
+ output_dir = os.path.join(build_dir, *package_dir+[dest_dir])
+ exe_filename = self.get_exe_filename(exe.name)
+ return os.path.join(output_dir, exe_filename)
+
+ def config_executable (self, exe):
+ build_ext.config_extension(self, exe)
+
+ def build_executable (self, exe):
+ from distutils.dep_util import newer_group
+ sources = list(exe.sources)
+ depends = list(exe.depends)
+ exe_fullpath = self.get_exe_fullpath(exe)
+ depends = sources + depends
+ if not (self.force or newer_group(depends, exe_fullpath, 'newer')):
+ log.debug("skipping '%s' executable (up-to-date)", exe.name)
+ return
+
+ self.config_executable(exe)
+ log.info("building '%s' executable", exe.name)
+
+ # Next, compile the source code to object files.
+
+ # XXX not honouring 'define_macros' or 'undef_macros' -- the
+ # CCompiler API needs to change to accommodate this, and I
+ # want to do one thing at a time!
+
+ macros = exe.define_macros[:]
+ for undef in exe.undef_macros:
+ macros.append((undef,))
+
+ # Two possible sources for extra compiler arguments:
+ # - 'extra_compile_args' in Extension object
+ # - CFLAGS environment variable (not particularly
+ # elegant, but people seem to expect it and I
+ # guess it's useful)
+ # The environment variable should take precedence, and
+ # any sensible compiler will give precedence to later
+ # command line args. Hence we combine them in order:
+ extra_args = exe.extra_compile_args[:]
+
+ objects = self.compiler.compile(
+ sources,
+ output_dir=self.build_temp,
+ macros=macros,
+ include_dirs=exe.include_dirs,
+ debug=self.debug,
+ extra_postargs=extra_args,
+ depends=exe.depends)
+ self._built_objects = objects[:]
+
+ # XXX -- this is a Vile HACK!
+ #
+ # Remove msvcrXX.dll when building executables with MinGW
+ #
+ if self.compiler.compiler_type == 'mingw32':
+ try: del self.compiler.dll_libraries[:]
+ except: pass
+
+ # Now link the object files together into a "shared object" --
+ # of course, first we have to figure out all the other things
+ # that go into the mix.
+ if exe.extra_objects:
+ objects.extend(exe.extra_objects)
+ extra_args = exe.extra_link_args[:]
+ # Get special linker flags for building a executable with
+ # bundled Python library, also fix location of needed
+ # python.exp file on AIX
+ ldshflag = sysconfig.get_config_var('LINKFORSHARED') or ''
+ ldshflag = ldshflag.replace('-Xlinker ', '-Wl,')
+ if sys.platform == 'darwin': # fix wrong framework paths
+ fwkprefix = sysconfig.get_config_var('PYTHONFRAMEWORKPREFIX')
+ fwkdir = sysconfig.get_config_var('PYTHONFRAMEWORKDIR')
+ if fwkprefix and fwkdir and fwkdir != 'no-framework':
+ for flag in split_quoted(ldshflag):
+ if flag.startswith(fwkdir):
+ fwkpath = os.path.join(fwkprefix, flag)
+ ldshflag = ldshflag.replace(flag, fwkpath)
+ if sys.platform.startswith('aix'):
+ python_lib = sysconfig.get_python_lib(standard_lib=1)
+ python_exp = os.path.join(python_lib, 'config', 'python.exp')
+ ldshflag = ldshflag.replace('Modules/python.exp', python_exp)
+ # Detect target language, if not provided
+ language = exe.language or self.compiler.detect_language(sources)
+ self.compiler.link(
+ self.compiler.EXECUTABLE,
+ objects, exe_fullpath,
+ output_dir=None,
+ libraries=self.get_libraries(exe),
+ library_dirs=exe.library_dirs,
+ runtime_library_dirs=exe.runtime_library_dirs,
+ extra_preargs=split_quoted(ldshflag),
+ extra_postargs=extra_args,
+ debug=self.debug,
+ target_lang=language)
+
+ def get_outputs (self):
+ outputs = []
+ for exe in self.executables:
+ outputs.append(self.get_exe_fullpath(exe))
+ return outputs
+
+
+class install(cmd_install.install):
+
+ user_options = cmd_install.install.user_options + [
+ ('single-version-externally-managed', None,
+ "setuptools compatibility option"),
+ ]
+ boolean_options = cmd_install.install.boolean_options + [
+ 'single-version-externally-managed',
+ ]
+
+ def initialize_options(self):
+ cmd_install.install.initialize_options(self)
+ self.single_version_externally_managed = None
+ self.no_compile = None
+
+ def has_lib (self):
+ return (cmd_install.install.has_lib(self) and
+ self.has_exe())
+
+ def has_exe (self):
+ return self.distribution.has_executables()
+
+ sub_commands = \
+ cmd_install.install.sub_commands[:] + \
+ [('install_exe', has_exe),
+ ]
+
+ # XXX disable install_exe subcommand !!!
+ del sub_commands[-1]
+
+
+class install_lib(cmd_install_lib.install_lib):
+
+ def get_outputs(self):
+ outputs = cmd_install_lib.install_lib.get_outputs(self)
+ for (build_cmd, build_dir) in (('build_clib', 'build_lib'),
+ ('build_exe', 'build_exe')):
+ outs = self._mutate_outputs(1, build_cmd, build_dir,
+ self.install_dir)
+ build_cmd = self.get_finalized_command(build_cmd)
+ build_files = build_cmd.get_outputs()
+ outputs.extend(outs)
+ return outputs
+
+
+class install_data (cmd_install_data.install_data):
+
+ def finalize_options (self):
+ self.set_undefined_options('install',
+ ('install_lib', 'install_dir'),
+ ('root', 'root'),
+ ('force', 'force'),
+ )
+
+
+class install_exe(cmd_install_lib.install_lib):
+
+ description = "install binary executable components"
+
+ user_options = [
+ ('install-dir=', 'd', "directory to install to"),
+ ('build-dir=','b', "build directory (where to install from)"),
+ ('force', 'f', "force installation (overwrite existing files)"),
+ ('skip-build', None, "skip the build steps"),
+ ]
+
+ boolean_options = ['force', 'skip-build']
+ negative_opt = { }
+
+ def initialize_options (self):
+ self.install_dir = None
+ self.build_dir = None
+ self.force = 0
+ self.skip_build = None
+
+ def finalize_options (self):
+ self.set_undefined_options('build_exe',
+ ('build_exe', 'build_dir'))
+ self.set_undefined_options('install',
+ ('force', 'force'),
+ ('skip_build', 'skip_build'),
+ ('install_scripts', 'install_dir'))
+
+ def run (self):
+ self.build()
+ self.install()
+
+ def build (self):
+ if not self.skip_build:
+ if self.distribution.has_executables():
+ self.run_command('build_exe')
+
+ def install (self):
+ self.outfiles = []
+ if self.distribution.has_executables():
+ build_exe = self.get_finalized_command('build_exe')
+ for exe in build_exe.executables:
+ exe_fullpath = build_exe.get_exe_fullpath(exe)
+ exe_filename = os.path.basename(exe_fullpath)
+ if (os.name == "posix" and
+ exe_filename.startswith("python-")):
+ install_name = exe_filename.replace(
+ "python-","python%s-" % sys.version[:3])
+ link = None
+ else:
+ install_name = exe_fullpath
+ link = None
+ source = exe_fullpath
+ target = os.path.join(self.install_dir, install_name)
+ self.mkpath(self.install_dir)
+ out, done = self.copy_file(source, target, link=link)
+ self.outfiles.append(out)
+
+ def get_outputs (self):
+ return self.outfiles
+
+ def get_inputs (self):
+ inputs = []
+ if self.distribution.has_executables():
+ build_exe = self.get_finalized_command('build_exe')
+ inputs.extend(build_exe.get_outputs())
+ return inputs
+
+
+class test(Command):
+ description = "run the test suite"
+ user_options = [
+ ('args=', None, "options"),
+ ]
+
+ def initialize_options(self):
+ self.args = None
+ def finalize_options(self):
+ if self.args:
+ self.args = split_quoted(self.args)
+ else:
+ self.args = []
+ def run(self):
+ pass
+
+
+class sdist(cmd_sdist.sdist):
+
+ def run (self):
+ build_src = self.get_finalized_command('build_src')
+ build_src.run()
+ cmd_sdist.sdist.run(self)
+
+
+class clean(cmd_clean.clean):
+
+ description = "clean up temporary files from 'build' command"
+ user_options = \
+ cmd_clean.clean.user_options[:2] + [
+ ('build-exe=', None,
+ "build directory for executable components "
+ "(default: 'build_exe.build-exe')"),
+ ] + cmd_clean.clean.user_options[2:]
+
+ def initialize_options(self):
+ cmd_clean.clean.initialize_options(self)
+ self.build_exe = None
+
+ def finalize_options(self):
+ cmd_clean.clean.finalize_options(self)
+ self.set_undefined_options('build_exe',
+ ('build_exe', 'build_exe'))
+
+ def run(self):
+ from distutils.dir_util import remove_tree
+
+ # remove the build/temp.<plat> directory
+ # (unless it's already gone)
+ if os.path.exists(self.build_temp):
+ remove_tree(self.build_temp, dry_run=self.dry_run)
+ else:
+ log.debug("'%s' does not exist -- can't clean it",
+ self.build_temp)
+
+ if self.all:
+ # remove build directories
+ for directory in (self.build_lib,
+ self.build_exe,
+ self.build_scripts,
+ self.bdist_base,
+ ):
+ if os.path.exists(directory):
+ remove_tree(directory, dry_run=self.dry_run)
+ else:
+ log.debug("'%s' does not exist -- can't clean it",
+ directory)
+
+ # just for the heck of it, try to remove the base build directory:
+ # we might have emptied it right now, but if not we don't care
+ if not self.dry_run:
+ try:
+ os.rmdir(self.build_base)
+ log.info("removing '%s'", self.build_base)
+ except OSError:
+ pass
+
+# -----------------------------------------------------------------------------
+
+try:
+ import msilib
+ Directory_make_short = msilib.Directory.make_short
+ def make_short(self, file):
+ parts = file.split('.')
+ if len(parts) > 1:
+ file = '_'.join(parts[:-1])+'.'+parts[-1]
+ return Directory_make_short(self, file)
+ msilib.Directory.make_short = make_short
+except:
+ pass
+
+# -----------------------------------------------------------------------------
diff --git a/wrappers/numpy/conf/mpiregexes.py b/wrappers/numpy/conf/mpiregexes.py
new file mode 100644
index 0000000..eb00df8
--- /dev/null
+++ b/wrappers/numpy/conf/mpiregexes.py
@@ -0,0 +1,75 @@
+import re
+
+def join(*args):
+ tokens = []
+ for tok in args:
+ if isinstance(tok, (list, tuple)):
+ tok = '(%s)' % r'\s*'.join(tok)
+ tokens.append(tok)
+ return r'\s*'.join(tokens)
+
+lparen = r'\('
+rparen = r'\)'
+colon = r'\:'
+asterisk = r'\*'
+eol = r'$'
+
+enum = join('enum', colon)
+typedef = 'ctypedef'
+pointer = asterisk
+struct = join(typedef, 'struct')
+
+basic_type = r'(?:void|int|char\s*\*{1,3})'
+struct_type = r'MPI_(?:Status)'
+integral_type = r'MPI_(?:Aint|Offset)'
+opaque_type = r'MPI_(?:Datatype|Request|Op|Info|Group|Errhandler|Comm|Win|File)'
+any_mpi_type = r'(?:%s|%s|%s)' % (struct_type, integral_type, opaque_type)
+
+upper_name = r'MPI_[A-Z0-9_]+'
+camel_name = r'MPI_[A-Z][a-z0-9_]+'
+usrfun_name = camel_name + r'_(?:function|fn)'
+
+arg_list = r'.*'
+ret_type = r'void|int|double'
+
+
+canylong = join(r'long', r'(?:long)?')
+canyptr = join(r'\w+', pointer+'?')
+
+annotation = r'\#\:\='
+defval = r'(?:%s)?' % join (annotation, [r'\(?[A-Za-z0-9_\+\-\(\)\*]+\)?'])
+
+STRUCT_TYPE = join( struct, [struct_type] , colon, eol)
+INTEGRAL_TYPE = join( typedef, canylong, [integral_type], eol)
+OPAQUE_TYPE = join( typedef, canyptr, [opaque_type], eol)
+FUNCTION_TYPE = join( typedef, [ret_type], [camel_name],
+ lparen, [arg_list], rparen,
+ defval, eol)
+
+ENUM_VALUE = join( enum, [upper_name], defval, eol)
+HANDLE_VALUE = join( [opaque_type], [upper_name], defval, eol)
+BASICP_VALUE = join( [basic_type, pointer], [upper_name], defval , eol)
+STRUCTP_VALUE = join( [struct_type, pointer], [upper_name], defval , eol)
+FUNCTP_VALUE = join( [usrfun_name, pointer], [upper_name], defval , eol)
+FUNCTION_PROTO = join([ret_type], [camel_name],
+ lparen, [arg_list], rparen,
+ defval, eol)
+
+fint_type = r'MPI_Fint'
+c2f_name = r'MPI_[A-Z][a-z_]+_c2f'
+f2c_name = r'MPI_[A-Z][a-z_]+_f2c'
+
+FINT_TYPE = join( typedef, canylong, [fint_type], eol)
+FINTP_VALUE = join( [fint_type, pointer], [upper_name], defval , eol)
+FUNCTION_C2F = join([fint_type], [c2f_name],
+ lparen, [opaque_type], rparen,
+ defval, eol)
+FUNCTION_F2C = join([opaque_type], [f2c_name],
+ lparen, [fint_type], rparen,
+ defval, eol)
+
+
+# compile the RE's
+glb = globals()
+all = [key for key in dict(glb) if key.isupper()]
+for key in all: glb[key] = re.compile(glb[key])
diff --git a/wrappers/numpy/conf/mpiscanner.py b/wrappers/numpy/conf/mpiscanner.py
new file mode 100644
index 0000000..0f80e99
--- /dev/null
+++ b/wrappers/numpy/conf/mpiscanner.py
@@ -0,0 +1,342 @@
+# Very, very naive RE-based way for collecting declarations inside
+# 'cdef extern from *' Cython blocks in in source files, and next
+# generate compatibility headers for MPI-2 partially implemented or
+# built, or MPI-1 implementations, perhaps providing a subset of MPI-2
+
+from textwrap import dedent
+
+try:
+ import mpiregexes as Re
+except ImportError:
+ from conf import mpiregexes as Re
+
+
+class Node(object):
+
+ REGEX = None
+ def match(self, line):
+ m = self.REGEX.search(line)
+ if m: return m.groups()
+ match = classmethod(match)
+
+ CONFIG = None
+ HEADER = None
+
+ HEADER_HEAD = """\
+ #ifdef PyMPI_MISSING_%(name)s
+ #undef %(cname)s
+ """
+ HEADER_TAIL = """
+ #endif
+
+ """
+
+ def init(self, name, **kargs):
+ assert name is not None
+ self.name = name
+ self.__dict__.update(kargs)
+ def config(self):
+ return self.CONFIG % vars(self)
+ def header(self):
+ head = dedent(self.HEADER_HEAD)
+ body = dedent(self.HEADER)
+ tail = dedent(self.HEADER_TAIL)
+ return (head+body+tail) % vars(self)
+
+class NodeType(Node):
+ CONFIG = ('%(ctype)s v;\n'
+ '%(ctype)s *p = &v; *p=v;')
+ def __init__(self, ctype):
+ self.init(name=ctype,
+ cname=ctype,
+ ctype=ctype,)
+
+class NodeStruct(NodeType):
+ REGEX = Re.STRUCT_TYPE
+ HEADER = """\
+ typedef struct PyMPI_%(ctype)s {
+ %(cfields)s
+ } PyMPI_%(ctype)s;
+ #define %(ctype)s PyMPI_%(ctype)s"""
+
+ def __init__(self, ctype, cfields):
+ super(NodeStruct, self).__init__(ctype)
+ self.cfields = '\n'.join([' %s %s;' % field
+ for field in cfields])
+
+class NodeFuncType(NodeType):
+ HEADER = dedent("""\
+ typedef %(crett)s (PyMPI_%(cname)s)(%(cargs)s);
+ #define %(cname)s PyMPI_%(cname)s""")
+
+ def __init__(self, crett, cname, cargs, calias=None):
+ self.init(name=cname,
+ cname=cname,
+ ctype=cname+'*',)
+ self.crett = crett
+ self.cargs = cargs or 'void'
+ if calias is not None:
+ self.HEADER = '#define %(cname)s %(calias)s'
+ self.calias = calias
+
+class NodeValue(Node):
+ CONFIG = ('%(ctype)s v; v = %(cname)s;\n'
+ '%(ctype)s *p = &v; *p = %(cname)s;')
+ HEADER = '#define %(cname)s (%(calias)s)'
+ def __init__(self, ctype, cname, calias):
+ self.init(name=cname,
+ cname=cname,
+ ctype=ctype,
+ calias=calias)
+
+def ctypefix(ct):
+ ct = ct.strip()
+ ct = ct.replace('[][3]',' (*)[3]')
+ ct = ct.replace('[]','*')
+ return ct
+
+class NodeFuncProto(Node):
+ CONFIG = '%(crett)s v; v = %(cname)s(%(cargscall)s); if(v)v=(%(crett)s)0;'
+ HEADER = ' '. join(['#define %(cname)s(%(cargsnamed)s)',
+ 'PyMPI_UNAVAILABLE("%(name)s"%(comma)s%(cargsnamed)s)'])
+ def __init__(self, crett, cname, cargs, calias=None):
+ self.init(name=cname,
+ cname=cname)
+ self.crett = crett
+ if cargs == 'void': cargs = ''
+ if cargs:
+ cargs = cargs.split(',')
+ if cargs[-1].strip() == '...':
+ del cargs[-1]
+ else:
+ cargs = []
+ self.cargstype = cargs
+ nargs = len(cargs)
+ if nargs: self.comma = ','
+ else: self.comma = ''
+ cargscall = ['(%s)0' % ctypefix(a) for a in cargs]
+ self.cargscall = ','.join(cargscall)
+ cargsnamed = ['a%d' % (a+1) for a in range(nargs)]
+ self.cargsnamed = ','.join(cargsnamed)
+ if calias is not None:
+ self.HEADER = '#define %(cname)s %(calias)s'
+ self.calias = calias
+
+class IntegralType(NodeType):
+ REGEX = Re.INTEGRAL_TYPE
+ HEADER = dedent("""\
+ typedef long PyMPI_%(ctype)s;
+ #define %(ctype)s PyMPI_%(ctype)s""")
+
+class OpaqueType(NodeType):
+ REGEX = Re.OPAQUE_TYPE
+ HEADER = dedent("""\
+ typedef void *PyMPI_%(ctype)s;
+ #define %(ctype)s PyMPI_%(ctype)s""")
+
+class StructType(NodeStruct):
+ def __init__(self, ctype):
+ cnames = ['MPI_SOURCE', 'MPI_TAG', 'MPI_ERROR']
+ cfields = list(zip(['int']*3, cnames))
+ super(StructType, self).__init__(ctype, cfields)
+
+class FunctionType(NodeFuncType):
+ REGEX = Re.FUNCTION_TYPE
+
+class EnumValue(NodeValue):
+ REGEX = Re.ENUM_VALUE
+ def __init__(self, cname, calias):
+ self.init(name=cname,
+ cname=cname,
+ ctype='int',
+ calias=calias)
+
+class HandleValue(NodeValue):
+ REGEX = Re.HANDLE_VALUE
+ HEADER = '#define %(cname)s ((%(ctype)s)%(calias)s)'
+ #def __init__(self, *a, **k):
+ # NodeValue.__init__(self, *a, **k)
+ # print self.__dict__
+ # if self.cname.endswith('_NULL'):
+ # self.HEADER = '#define %(cname)s ((%(ctype)s)%(calias)s)'
+
+class BasicValuePtr(NodeValue):
+ REGEX = Re.BASICP_VALUE
+ HEADER = '#define %(cname)s ((%(ctype)s)%(calias)s)'
+
+class StructValuePtr(NodeValue):
+ REGEX = Re.STRUCTP_VALUE
+
+class FunctionValuePtr(NodeValue):
+ REGEX = Re.FUNCTP_VALUE
+
+class FunctionProto(NodeFuncProto):
+ REGEX = Re.FUNCTION_PROTO
+
+
+class FIntType(NodeType):
+ REGEX = Re.FINT_TYPE
+ HEADER = dedent("""\
+ typedef int PyMPI_%(ctype)s;
+ #define %(ctype)s PyMPI_%(ctype)s""")
+
+class FIntValuePtr(BasicValuePtr):
+ REGEX = Re.FINTP_VALUE
+
+class FunctionC2F(NodeFuncProto):
+ REGEX = Re.FUNCTION_C2F
+ HEADER = ' '. join(['#define %(cname)s(%(cargsnamed)s)',
+ '((%(crett)s)0)'])
+
+class FunctionF2C(NodeFuncProto):
+ REGEX = Re.FUNCTION_F2C
+ HEADER = ' '. join(['#define %(cname)s(%(cargsnamed)s)',
+ '%(cretv)s'])
+ def __init__(self, *a, **k):
+ NodeFuncProto.__init__(self, *a, **k)
+ self.cretv = self.crett.upper() + '_NULL'
+
+class Scanner(object):
+
+ NODE_TYPES = [
+ FIntType, FIntValuePtr,
+ FunctionC2F, FunctionF2C,
+ IntegralType,
+ StructType, OpaqueType,
+ HandleValue, EnumValue,
+ BasicValuePtr, StructValuePtr,
+ FunctionType, FunctionValuePtr,
+ FunctionProto,
+ ]
+ def __init__(self):
+ self.nodes = []
+ self.nodemap = {}
+
+ def parse_file(self, filename):
+ fileobj = open(filename)
+ try: self.parse_lines(fileobj)
+ finally: fileobj.close()
+
+ def parse_lines(self, lines):
+ for line in lines:
+ self.parse_line(line)
+
+ def parse_line(self, line):
+ nodemap = self.nodemap
+ nodelist = self.nodes
+ for nodetype in self.NODE_TYPES:
+ args = nodetype.match(line)
+ if args:
+ node = nodetype(*args)
+ assert node.name not in nodemap, node.name
+ nodemap[node.name] = len(nodelist)
+ nodelist.append(node)
+ break
+
+ def __iter__(self):
+ return iter(self.nodes)
+
+ def itertests(self):
+ for node in self:
+ yield (node.name, node.config())
+
+
+ CONFIG_HEAD = """\
+ #ifndef PyMPI_CONFIG_H
+ #define PyMPI_CONFIG_H
+
+ """
+ CONFIG_MACRO = '#define PyMPI_MISSING_%s 1\n'
+ CONFIG_TAIL = """\
+
+ #endif /* !PyMPI_CONFIG_H */
+ """
+ def dump_config_h(self, fileobj, suite):
+ if isinstance(fileobj, str):
+ fileobj = open(fileobj, 'w')
+ try: self.dump_config_h(fileobj, suite)
+ finally: fileobj.close()
+ return
+ head = dedent(self.CONFIG_HEAD)
+ macro = dedent(self.CONFIG_MACRO)
+ tail = dedent(self.CONFIG_TAIL)
+ fileobj.write(head)
+ if suite is None:
+ for node in self:
+ fileobj.write(macro % node.name)
+ else:
+ for name, result in suite:
+ assert name in self.nodemap
+ if not result:
+ fileobj.write(macro % name)
+ fileobj.write(tail)
+
+ MISSING_HEAD = """\
+ #ifndef PyMPI_MISSING_H
+ #define PyMPI_MISSING_H
+
+ #ifndef PyMPI_UNUSED
+ # if defined(__GNUC__)
+ # if !defined(__cplusplus) || (__GNUC__>3||(__GNUC__==3&&__GNUC_MINOR__>=4))
+ # define PyMPI_UNUSED __attribute__ ((__unused__))
+ # else
+ # define PyMPI_UNUSED
+ # endif
+ # elif defined(__INTEL_COMPILER) || defined(__ICC)
+ # define PyMPI_UNUSED __attribute__ ((__unused__))
+ # else
+ # define PyMPI_UNUSED
+ # endif
+ #endif
+
+ static PyMPI_UNUSED int PyMPI_UNAVAILABLE(const char *name,...) { return -1; }
+
+ """
+ MISSING_TAIL = """\
+ #endif /* !PyMPI_MISSING_H */
+ """
+ def dump_missing_h(self, fileobj, suite):
+ if isinstance(fileobj, str):
+ fileobj = open(fileobj, 'w')
+ try: self.dump_missing_h(fileobj, suite)
+ finally: fileobj.close()
+ return
+ head = dedent(self.MISSING_HEAD)
+ tail = dedent(self.MISSING_TAIL)
+ #
+ fileobj.write(head)
+ if suite is None:
+ for node in self:
+ fileobj.write(node.header())
+ else:
+ nodelist = self.nodes
+ nodemap = self.nodemap
+ for name, result in suite:
+ assert name in nodemap, name
+ if not result:
+ node = nodelist[nodemap[name]]
+ fileobj.write(node.header())
+ fileobj.write(tail)
+
+
+# -----------------------------------------
+
+
+if __name__ == '__main__':
+ import sys, os
+ sources = [os.path.join('src', 'include', 'mpi4py', 'mpi.pxi')]
+ log = lambda msg: sys.stderr.write(msg + '\n')
+ scanner = Scanner()
+ for filename in sources:
+ #filename = os.path.join('src', 'mpi4py', filename)
+ log('parsing file %s' % filename)
+ scanner.parse_file(filename)
+ log('processed %d definitions' % len(scanner.nodes))
+ config_h = os.path.join('src', 'config.h')
+ missing_h = os.path.join('src', 'missing.h')
+ log('writing file %s' % config_h)
+ scanner.dump_config_h(config_h, None)
+ log('writing file %s' % missing_h)
+ scanner.dump_missing_h(missing_h, None)
+
+# -----------------------------------------
diff --git a/wrappers/numpy/doc/Makefile b/wrappers/numpy/doc/Makefile
new file mode 100644
index 0000000..51449e3
--- /dev/null
+++ b/wrappers/numpy/doc/Makefile
@@ -0,0 +1,192 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " applehelp to make an Apple Help Book"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " xml to make Docutils-native XML files"
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+ @echo " coverage to run coverage check of the documentation (if enabled)"
+
+clean:
+ rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/AdiosPython.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/AdiosPython.qhc"
+
+applehelp:
+ $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
+ @echo
+ @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
+ @echo "N.B. You won't be able to view it unless you put it in" \
+ "~/Library/Documentation/Help or install it in your application" \
+ "bundle."
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/AdiosPython"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/AdiosPython"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through platex and dvipdfmx..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
+
+coverage:
+ $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
+ @echo "Testing of coverage in the sources finished, look at the " \
+ "results in $(BUILDDIR)/coverage/python.txt."
+
+xml:
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+ @echo
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+ @echo
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/wrappers/numpy/doc/source/build.rst b/wrappers/numpy/doc/source/build.rst
new file mode 100644
index 0000000..2043346
--- /dev/null
+++ b/wrappers/numpy/doc/source/build.rst
@@ -0,0 +1,55 @@
+.. _build:
+
+Installation
+============
+
+Adios Python wrapper requires Adios built with the GNU C compiler with
+relocatable codes. Add -fPIC flag to CFLAGS before configuring Adios.
+
+Quick install with pip
+----------------------
+
+ADIOS Python wrapper can be installed with pip. Check if pip is
+installed already. Otherwise, install pip first
+::
+ $ wget https://bootstrap.pypa.io/get-pip.py
+ $ sudo python get-pip.py
+
+Or,
+::
+ $ python get-pip.py --user
+
+to install in a local directory, $HOME/.local
+
+Then, install Adios and Adios-MPI wrapper as follows:
+::
+ $ pip install adios
+ $ pip install adios_mpi
+
+If you want to install in a custom directory, use the following:
+::
+ $ pip install --install-option="--prefix=$PREFIX" adios
+ $ pip install --install-option="--prefix=$PREFIX" adios_mpi
+
+
+Trouble Shooting
+----------------
+
+Custom MPICC and MPICXX
+^^^^^^^^^^^^^^^^^^^^^^^
+
+If one needs to use a custom MPICC and MPICXX command (e.g., Titan),
+then use the following command:
+::
+ $ pip --global-option=build_ext \
+ --global-option=--mpicc=cc --global-option=--mpicxx=CC adios
+
+
+"Could not find any downloads that satisfy the requirement" with pip
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If the error is caused by a certificate error, then, try
+::
+ $ wget http://curl.haxx.se/ca/cacert.pem
+ $ pip --cert cacert.pem search adios
+ $ pip --cert cacert.pem install adios
diff --git a/wrappers/numpy/doc/source/conf.py b/wrappers/numpy/doc/source/conf.py
new file mode 100644
index 0000000..d2e70f2
--- /dev/null
+++ b/wrappers/numpy/doc/source/conf.py
@@ -0,0 +1,290 @@
+# -*- coding: utf-8 -*-
+#
+# Adios Python documentation build configuration file, created by
+# sphinx-quickstart on Fri May 8 10:13:24 2015.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+import shlex
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.doctest',
+ 'sphinx.ext.napoleon',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+# source_suffix = ['.rst', '.md']
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Adios Python'
+copyright = u'2015, Jong Choi (choij at ornl.gov)'
+author = u'Jong Choi (choij at ornl.gov)'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '1.8.0'
+# The full version, including alpha/beta/rc tags.
+release = '1.8.1b3'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
+
+# If true, `todo` and `todoList` produce output, else they produce nothing.
+todo_include_todos = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+html_theme = 'sphinx_rtd_theme'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Language to be used for generating the HTML full-text search index.
+# Sphinx supports the following languages:
+# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
+# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
+#html_search_language = 'en'
+
+# A dictionary with options for the search language support, empty by default.
+# Now only 'ja' uses this config value
+#html_search_options = {'type': 'default'}
+
+# The name of a javascript file (relative to the configuration directory) that
+# implements a search results scorer. If empty, the default will be used.
+#html_search_scorer = 'scorer.js'
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'AdiosPythondoc'
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+
+# Latex figure (float) alignment
+#'figure_align': 'htbp',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+# author, documentclass [howto, manual, or own class]).
+latex_documents = [
+ (master_doc, 'AdiosPython.tex', u'Adios Python Documentation',
+ u'Jong Choi (choij at ornl.gov)', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+ (master_doc, 'adiospython', u'Adios Python Documentation',
+ [author], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+# dir menu entry, description, category)
+texinfo_documents = [
+ (master_doc, 'AdiosPython', u'Adios Python Documentation',
+ author, 'AdiosPython', 'One line description of project.',
+ 'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
+
+autodoc_member_order = 'groupwise'
diff --git a/wrappers/numpy/doc/source/index.rst b/wrappers/numpy/doc/source/index.rst
new file mode 100644
index 0000000..adfad2c
--- /dev/null
+++ b/wrappers/numpy/doc/source/index.rst
@@ -0,0 +1,28 @@
+.. Adios Python documentation master file, created by
+ sphinx-quickstart on Fri May 8 10:13:24 2015.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+Adios Python
+============
+
+This Adios Python is a Python wrapper to Adios.
+
+
+Quick Start Guide
+-----------------
+
+.. toctree::
+ :maxdepth: 2
+
+ quick
+ build
+ ref
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
diff --git a/wrappers/numpy/doc/source/quick.rst b/wrappers/numpy/doc/source/quick.rst
new file mode 100644
index 0000000..554b39c
--- /dev/null
+++ b/wrappers/numpy/doc/source/quick.rst
@@ -0,0 +1,143 @@
+.. _quick:
+
+Quick Start Guide
+=================
+
+An Adios bp file is a container of variables and attributes, which can
+be either scalars or arrays. With the Adios Python wrapper, one can
+access them as NumPy's array.
+
+Reading data
+------------
+
+In this quick start guide, we assume we have an Adios bp file (name:
+adios_test.bp) contains the following three variables and one attribute:
+::
+ $ bpls -lva adios_test.bp
+ integer NX scalar = 10
+ integer size scalar = 2
+ double temperature {2, 10} = 0 / 19 / 9.5 / 5.76628
+ string /temperature/description attr = "Global array written from 'size' processes"
+
+
+Let's start with importing Adios Python module as follows:
+
+>>> import adios as ad
+
+.. note:: A parallel version of Adios Python module is also available,
+ called adios_mpi. We will discuss details later.
+
+
+Then, open the Adios bp file (adios_test.bp) and briefly check its
+contents:
+
+>>> f = ad.file('adios_test.bp')
+>>> f
+AdiosFile (path='adios_test.bp', nvars=3, var=['NX', 'temperature', 'size'], nattrs=1, attr=['/temperature/description'], current_step=0, last_step=0, file_size=1549)
+
+Now let's read a scalar variable, 'NX'. We can access each variable by
+using Python's dictionary-style interface:
+
+>>> v = f['NX']
+>>> v
+AdiosVar (varid=0, type=dtype('int32'), ndim=0, dims=(), nsteps=1)
+>>> v.read()
+array(10, dtype=int32)
+
+Equivalently, we can use Numpy-style interface:
+
+>>> f['NX'][:]
+array(10, dtype=int32)
+
+
+Then, let's read a multi-dimensional array, 'temperature'.
+
+>>> f['temperature'][:]
+array([[ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.],
+ [ 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.]])
+
+We can read by slices, for example:
+
+>>> f['temperature'][0:2,0:5]
+array([[ 0., 1., 2., 3., 4.],
+ [ 10., 11., 12., 13., 14.]])
+
+We can use the most of the NumPy's slice syntax.
+
+Attribute reading is similar:
+
+>>> at = f.attr['/temperature/description']
+>>> at
+AdiosAttr (name='/temperature/description', type=dtype('S43'))
+>>> at.value
+array(["Global array written from 'size' processes"],
+ dtype='|S43')
+
+Unless attribute's name is not conflict with any variable name in the
+file, which is totally fine with Adios, we can access through the
+dictionary-style:
+
+>>> f['/temperature/description'].value
+
+.. note:: While variables are read by "read" function or slice
+ interface, attributes are accessed through "value" property.
+
+Writing data
+------------
+
+Now, we will show how we can create the Adios BP file used in the
+previous section:
+::
+
+ $ bpls -lva adios_test.bp
+ integer NX scalar = 10
+ integer size scalar = 2
+ double temperature {2, 10} = 0 / 19 / 9.5 / 5.76628
+ string /temperature/description attr = "Global array written from 'size' processes"
+
+
+First, we load necessary modules and prepare our Numpy data to save:
+
+>>> import adios as ad
+>>> import numpy as np
+
+>>> NX = 10
+>>> size = 2
+>>> t = np.array(range(NX*size), dtype=np.float64)
+>>> tt = t.reshape((size, NX))
+
+I.e., we have two scalar variables (NX and size) and one 2-D array (tt).
+
+Then, we initialize Adios and specify a buffer size (10MB) which Adios
+can work with:
+
+>>> ad.init_noxml()
+>>> ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10);
+
+Then, we give a file name to create and specify a group with Adios method:
+
+>>> fw = ad.writer(fname)
+>>> fw.declare_group('group', method='POSIX1')
+
+"POSIX1" is one of many Adios's write methods. Others are "MPI",
+"MPI_AGGREGATE", "FLEXPATH", "DATASPACES", etc. More detailed
+descriptions are in the Adios manual.
+
+Now, we assign our values:
+
+>>> fw['NX'] = NX
+>>> fw['size'] = size
+>>> fw['temperature'] = tt
+
+To write an attribute, we can do as follows:
+
+>>> fw.attr['/temperature/description'] = "Global array written from 'size' processes"
+
+Finally, we let Adios to write a file by calling "close"
+
+>>> fw.close()
+
+
+
+
+
diff --git a/wrappers/numpy/doc/source/ref.rst b/wrappers/numpy/doc/source/ref.rst
new file mode 100644
index 0000000..ede0080
--- /dev/null
+++ b/wrappers/numpy/doc/source/ref.rst
@@ -0,0 +1,32 @@
+.. _ref:
+
+API Reference
+=============
+
+.. toctree::
+ :maxdepth: 2
+
+.. automodule:: adios
+ :members: readvar, bpls
+
+file class
+----------
+
+.. autoclass:: file
+ :members:
+ :exclude-members: __del__, __repr__
+
+var class
+---------
+
+.. autoclass:: var
+ :members:
+ :exclude-members: __del__, __repr__
+
+writer class
+------------
+
+.. autoclass:: writer
+ :members:
+ :exclude-members: __del__, __repr__
+
diff --git a/wrappers/numpy/example/staging/README b/wrappers/numpy/example/staging/README
index 7ce518b..2b63129 100644
--- a/wrappers/numpy/example/staging/README
+++ b/wrappers/numpy/example/staging/README
@@ -19,7 +19,7 @@ a. File-based communication
First, let's run with files by
-$ python ./adios_write.py POSIX
+$ python ./adios_write.py POSIX1
$ python ./adios_read.py BP
b. ICEE
diff --git a/wrappers/numpy/example/staging/adios_read.py b/wrappers/numpy/example/staging/adios_read.py
index 32f6bfc..55ddbc0 100644
--- a/wrappers/numpy/example/staging/adios_read.py
+++ b/wrappers/numpy/example/staging/adios_read.py
@@ -29,7 +29,7 @@ while True:
v = f.var['temperature']
v.printself()
- val = v.read()
+ val = v.read(nsteps=1)
print val
if (f.advance() < 0):
diff --git a/wrappers/numpy/example/staging/adios_write.py b/wrappers/numpy/example/staging/adios_write.py
index 1b35fbc..c474ab3 100644
--- a/wrappers/numpy/example/staging/adios_write.py
+++ b/wrappers/numpy/example/staging/adios_write.py
@@ -9,8 +9,9 @@ import adios as ad
import numpy as np
import getopt, sys
import os
+import datetime
-method = "POSIX"
+method = "POSIX1"
init = "verbose=3;"
if len(sys.argv) > 1:
@@ -26,6 +27,8 @@ g = ad.declare_group("temperature", "", 1)
ad.define_var(g, "NX", "", ad.DATATYPE.integer, "", "", "")
ad.define_var(g, "size", "", ad.DATATYPE.integer, "", "", "")
ad.define_var(g, "temperature", "", ad.DATATYPE.double, "size,NX", "size,NX", "0,0")
+msg = str(datetime.datetime.now())
+ad.define_attribute(g, "datetime", "", ad.DATATYPE.string, msg, "")
ad.select_method(g, method, init, "")
print ">>> Method:", method
diff --git a/wrappers/numpy/setup.cfg b/wrappers/numpy/setup.cfg
new file mode 100644
index 0000000..578ede1
--- /dev/null
+++ b/wrappers/numpy/setup.cfg
@@ -0,0 +1,2 @@
+[metadata]
+description-file = README
diff --git a/wrappers/numpy/setup.py b/wrappers/numpy/setup.py
index 79bf097..817dcd0 100644
--- a/wrappers/numpy/setup.py
+++ b/wrappers/numpy/setup.py
@@ -8,8 +8,11 @@ import numpy as np
# Use mpi4py dist utils: https://bitbucket.org/mpi4py/mpi4py
#from mpidistutils import setup
from distutils.core import setup
+from distutils.spawn import find_executable
+from distutils.core import Command
import subprocess
+import sys
m1 = Extension('adios',
sources=['adios.cpp'],
@@ -17,7 +20,16 @@ m1 = Extension('adios',
include_dirs = [np.get_include()],
library_dirs = [],
libraries = [],
- extra_objects = [])
+ extra_objects = [],
+ extra_compile_args = ['-Wno-uninitialized',
+ '-Wno-unused-function'])
+
+cmd = find_executable("adios_config")
+if cmd == None:
+ sys.stderr.write(
+ "adios_config is not installed nor found. "
+ "Please install Adios or check PATH.\n")
+ sys.exit(-1)
p = subprocess.Popen(["adios_config", "-c", "-s"], stdout=subprocess.PIPE)
for path in p.communicate()[0].strip().split(" "):
@@ -31,8 +43,34 @@ for path in p.communicate()[0].strip().split(" "):
if path.startswith('-l'):
m1.libraries.append(path.replace('-l', '', 1))
-setup(name = 'Adios',
- version = '1.0',
+class adios_test(Command):
+ user_options = []
+ def initialize_options(self):
+ pass
+
+ def finalize_options(self):
+ pass
+
+ def run(self):
+ ##import subprocess
+ ##import sys
+ ##errno = subprocess.call([sys.executable, 'tests/test_adios.py', 'tests/config.xml'])
+ ##raise SystemExit(errno)
+ import os
+ import sys
+ import unittest
+ setup_file = sys.modules['__main__'].__file__
+ setup_dir = os.path.abspath(os.path.dirname(setup_file))
+ test_loader = unittest.defaultTestLoader
+ test_runner = unittest.TextTestRunner()
+ test_suite = test_loader.discover(os.path.join(setup_dir, 'test'))
+ test_runner.run(test_suite)
+
+setup(name = 'adios',
+ version = '1.8.1b3',
description = 'Python Module for Adios',
+ author = 'Jong Choi',
+ author_email = 'yyalli at gmail.com',
url = 'http://www.olcf.ornl.gov/center-projects/adios/',
+ cmdclass={'test': adios_test},
ext_modules = [m1])
diff --git a/wrappers/numpy/setup_mpi.py b/wrappers/numpy/setup_mpi.py
index e47bd63..7cbbfd5 100644
--- a/wrappers/numpy/setup_mpi.py
+++ b/wrappers/numpy/setup_mpi.py
@@ -2,22 +2,99 @@
# Author: Jong Choi
# Contact: choij at ornl.gov
+
+import os
+import sys
+import getopt
+
+## Credit: http://svn.apache.org/repos/asf/subversion/tags/0.20.1/subversion/bindings/swig/python/setup.py
+def _do_usage():
+ print "Usage: setup.py [OPTIONS] build"
+ print " setup.py install [--prefix PREFIX]"
+ print " setup.py install_lib [--install-dir DIR]"
+ print ""
+ print "Options:"
+ print " -I dir " + \
+ "search DIR for includes (multiple instances allowed)"
+ print " -L dir " + \
+ "search DIR for libraries (multiple instances allowed)"
+ print " -C option " + \
+ "pass OPTION to the compiler at compile time (multiple instances " + \
+ "allowed)"
+ print " -R option " + \
+ "pass OPTION to the compiler at link time (multiple instances " + \
+ "allowed)"
+ sys.exit(0)
+
+# Default option values
+include_dirs = []
+library_dirs = []
+extra_compile_args = []
+extra_link_args = []
+
+# No args? Give usage.
+if len(sys.argv) < 2:
+ _do_usage()
+
+# Parse the command-line arguments, keeping what we want and letting
+# distutils have the rest. Distutils parameters should come after
+# the target as in 'python setup.py build --prefix=/usr/local' and
+# parameters for us should appear before the target as in
+# 'python setup.py -I/usr/include build'.
+options, leftovers = getopt.getopt(sys.argv[1:], "I:L:C:R:h",
+ ["help"])
+for option in options:
+ if option[0] == '-I':
+ include_dirs.append(option[1])
+ if option[0] == '-L':
+ library_dirs.append(option[1])
+ if option[0] == '-C':
+ extra_compile_args.append(option[1])
+ if option[0] == '-R':
+ extra_link_args.append(option[1])
+ if option[0] == '-h':
+ _do_usage()
+
+ if option[0] == '--help':
+ _do_usage()
+
+ # All long options just get passed through
+ if option[0][:2] == '--':
+ leftovers.append(option[0])
+ leftovers.append(option[1])
+sys.argv[1:] = leftovers
+
from distutils.extension import Extension
import numpy as np
# Use mpi4py dist utils: https://bitbucket.org/mpi4py/mpi4py
-from mpidistutils import setup
+from conf.mpidistutils import setup
#from distutils.core import setup
+from distutils.spawn import find_executable
+from distutils.core import Command
import subprocess
+include_dirs.insert(0, np.get_include())
+extra_compile_args.insert(0, '-Wno-uninitialized')
+extra_compile_args.insert(0, '-Wno-unused-function')
+
m1 = Extension('adios_mpi',
sources=['adios_mpi.cpp'],
define_macros=[],
- include_dirs = [np.get_include()],
- library_dirs = [],
+ include_dirs = include_dirs,
+ library_dirs = library_dirs,
libraries = [],
- extra_objects = [])
+ extra_objects = [],
+ extra_compile_args = extra_compile_args,
+ extra_link_args = extra_link_args)
+
+cmd = find_executable("adios_config")
+if cmd == None:
+ sys.stderr.write(
+ "adios_config is not installed nor found. "
+ "Please install Adios or check PATH.\n")
+ sys.exit(-1)
p = subprocess.Popen(["adios_config", "-c"], stdout=subprocess.PIPE)
for path in p.communicate()[0].strip().split(" "):
@@ -31,8 +108,26 @@ for path in p.communicate()[0].strip().split(" "):
if path.startswith('-l'):
m1.libraries.append(path.replace('-l', '', 1))
-setup(name = 'Adios_MPI',
- version = '1.0',
+class adios_test(Command):
+ user_options = []
+ def initialize_options(self):
+ pass
+
+ def finalize_options(self):
+ pass
+
+ def run(self):
+ import subprocess
+ import sys
+ errno = subprocess.call([sys.executable, 'tests/test_adios_mpi.py', 'tests/config_mpi.xml'])
+ raise SystemExit(errno)
+
+setup(name = 'adios_mpi',
+ version = '1.8.1b3',
description = 'Python Module for Adios MPI',
+ author = 'Jong Choi',
+ author_email = 'yyalli at gmail.com',
url = 'http://www.olcf.ornl.gov/center-projects/adios/',
+ cmdclass={'test': adios_test},
+ executables = [],
ext_modules = [m1])
diff --git a/wrappers/numpy/test/common.py b/wrappers/numpy/test/common.py
new file mode 100644
index 0000000..5c7b3c5
--- /dev/null
+++ b/wrappers/numpy/test/common.py
@@ -0,0 +1,20 @@
+import unittest as ut
+from tempfile import mkstemp
+import os
+
+class Slicee(object):
+ def __getitem__(self, index):
+ return index
+
+class TempFile(object):
+ def __init__(self):
+ self.fh, self.path = mkstemp(suffix='.bp', prefix='adios-test_')
+
+ def __del__(self):
+ try:
+ if self.fh:
+ os.close(self.fh)
+ os.remove(self.path)
+ except:
+ pass
+
diff --git a/wrappers/numpy/test/test_adios_timestep_unittest.py b/wrappers/numpy/test/test_adios_timestep_unittest.py
new file mode 100644
index 0000000..e9ead2a
--- /dev/null
+++ b/wrappers/numpy/test/test_adios_timestep_unittest.py
@@ -0,0 +1,110 @@
+import unittest as ut
+import adios as ad
+import numpy as np
+from common import TempFile
+from common import Slicee
+
+
+class AdiosTestCase(ut.TestCase):
+ f = None ## Adios File class
+ temp = None ## TempFile
+
+ def setUp(self):
+ self.temp = TempFile()
+
+ ad.init_noxml()
+
+ ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10);
+ g = ad.declare_group("temperature", "", ad.FLAG.YES)
+ ad.define_var(g, "NX", "", ad.DATATYPE.integer, "", "", "")
+ ad.define_var(g, "size", "", ad.DATATYPE.integer, "", "", "")
+ ad.define_var(g, "temperature", "", ad.DATATYPE.double, "size,NX", "size,NX", "0,0")
+ self.msg = "this is a test"
+ ad.define_attribute(g, "desc", "", ad.DATATYPE.string, self.msg, "")
+ ad.select_method(g, "POSIX1", "verbose=3", "")
+
+ for i in range(5):
+ mode = "a"
+ if i == 0: mode = "w"
+ fd = ad.open("temperature", self.temp.path, mode)
+ self.NX = 10
+ self.size = 2
+ groupsize = 4 + 4 + 8 * self.size * self.NX
+ t = np.array(range(self.NX * self.size), dtype=np.float64) + 100*i
+ self.tt = t.reshape((self.size, self.NX))
+ ad.set_group_size(fd, groupsize)
+ ad.write_int(fd, "NX", self.NX)
+ ad.write_int(fd, "size", self.size)
+ ad.write(fd, "temperature", self.tt)
+ ad.close(fd)
+
+ ad.finalize()
+
+ self.f = ad.file(self.temp.path)
+
+ def tearDown(self):
+ try:
+ if self.f:
+ self.f.close()
+ except:
+ pass
+
+ def test_adios_file(self):
+ self.assertEqual(self.f.current_step, 0)
+ self.assertEqual(self.f.last_step, 4)
+
+ def test_adios_var_scalar(self):
+ v = self.f['NX']
+ self.assertEqual(v.ndim, 0)
+ self.assertEqual(v.dims, ())
+ self.assertEqual(v.nsteps, 5)
+
+ val = v.read()
+ self.assertEqual(val.dtype, np.dtype('int32'))
+ self.assertEqual(val.ndim, 1)
+ self.assertEqual(val.shape, (5,))
+
+ self.assertTrue((val == v[:]).all())
+
+ def test_adios_var_array(self):
+ v = self.f['temperature']
+ self.assertEqual(v.ndim, 2)
+ self.assertEqual(v.dims, (2L, 10L))
+ self.assertEqual(v.nsteps, 5)
+
+ val = v.read()
+ self.assertEqual(val.dtype, np.dtype('float64'))
+
+ self.assertEqual(val.ndim, v.ndim + 1)
+ self.assertEqual(val.shape, (5, self.size, self.NX))
+
+ self.assertTrue((val == v[:]).all())
+ self.assertTrue((val == v[:,:]).all())
+ self.assertTrue((val == v[:,:,:]).all())
+ self.assertRaises(IndexError, v.__getitem__, Slicee()[::2])
+ self.assertRaises(IndexError, v.__getitem__, Slicee()[:,:,:,:])
+
+ self.assertTrue((v.read(offset=(0,5), count=(2,5)) == v[:,:,5:]).all())
+ self.assertTrue((v.read(offset=(0,5), count=(2,5)) == v[:,:,-5:]).all())
+
+ def test_adios_var_getitem(self):
+ v = self.f['temperature']
+
+ self.assertTrue((v[0,] == v.read(from_steps=0, nsteps=1)).all())
+ self.assertTrue((v[1,] == v.read(from_steps=1, nsteps=1)).all())
+
+ self.assertTrue((v[:2,] == v.read(from_steps=0, nsteps=2)).all())
+ self.assertTrue((v[0:2,] == v.read(from_steps=0, nsteps=2)).all())
+
+ self.assertTrue((v[:2,:1,:5] == v.read(offset=(0,0), count=(1,5), from_steps=0, nsteps=2)).all())
+
+ self.assertTrue((v[-1,...] == v.read(from_steps=4, nsteps=1)).all())
+ self.assertTrue((v[-2,...] == v.read(from_steps=3, nsteps=1)).all())
+
+ self.assertTrue((v[:,...,-1] == v.read(offset=(0,9), count=(2,1))).all())
+ self.assertTrue((v[:,...,-3:-1] == v.read(offset=(0,7), count=(2,2))).all())
+
+ self.assertRaises(IndexError, v.__getitem__, Slicee()[:,:,-1:-2])
+
+if __name__ == '__main__':
+ ut.main()
diff --git a/wrappers/numpy/test/test_adios_unittest.py b/wrappers/numpy/test/test_adios_unittest.py
new file mode 100644
index 0000000..287f782
--- /dev/null
+++ b/wrappers/numpy/test/test_adios_unittest.py
@@ -0,0 +1,110 @@
+import unittest as ut
+import adios as ad
+import numpy as np
+from common import TempFile
+from common import Slicee
+
+class AdiosTestCase(ut.TestCase):
+ f = None ## Adios File class
+ temp = None ## TempFile
+
+ def setUp(self):
+ self.temp = TempFile()
+
+ ad.init_noxml()
+
+ ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10);
+ g = ad.declare_group("temperature", "", ad.FLAG.YES)
+ ad.define_var(g, "NX", "", ad.DATATYPE.integer, "", "", "")
+ ad.define_var(g, "size", "", ad.DATATYPE.integer, "", "", "")
+ ad.define_var(g, "temperature", "", ad.DATATYPE.double, "size,NX", "size,NX", "0,0")
+ self.msg = "this is a test"
+ ad.define_attribute(g, "desc", "", ad.DATATYPE.string, self.msg, "")
+ ad.select_method(g, "POSIX1", "verbose=3", "")
+
+ fd = ad.open("temperature", self.temp.path, "w")
+ self.NX = 10
+ self.size = 2
+ groupsize = 4 + 4 + 8 * self.size * self.NX
+ t = np.array(range(self.NX * self.size), dtype=np.float64)
+ self.tt = t.reshape((self.size, self.NX))
+ ad.set_group_size(fd, groupsize)
+ ad.write_int(fd, "NX", self.NX)
+ ad.write_int(fd, "size", self.size)
+ ad.write(fd, "temperature", self.tt)
+ ad.close(fd)
+
+ ad.finalize()
+
+ self.f = ad.file(self.temp.path)
+
+ def tearDown(self):
+ try:
+ if self.f:
+ self.f.close()
+ except:
+ pass
+
+ def test_adios_file(self):
+ self.assertEqual(self.f.nattrs, 1)
+ self.assertEqual(self.f.nvars, 3)
+ self.assertEqual(self.f.current_step, 0)
+ self.assertEqual(self.f.last_step, 0)
+ self.assertEqual(sorted(self.f.var.keys()),
+ sorted(['NX', 'size', 'temperature']))
+ self.assertEqual(self.f.attr.keys(), ['desc'])
+
+ def test_adios_attr(self):
+ self.assertEqual(self.f.attr['desc'].value, self.msg)
+ self.assertEqual(self.f.attr['desc'].dtype, np.dtype('S14'))
+
+ def test_adios_file_getitem(self):
+ self.assertRaises(TypeError, self.f.__getitem__, Slicee()[1])
+ self.assertRaises(KeyError, self.f.__getitem__, Slicee()[:,:])
+ self.assertRaises(KeyError, self.f.__getitem__, Slicee()['NONE'])
+
+ def test_adios_var_scalar(self):
+ v = self.f['NX']
+ self.assertEqual(v.ndim, 0)
+ self.assertEqual(v.dims, ())
+ self.assertEqual(v.nsteps, 1)
+
+ val = v.read()
+ self.assertEqual(val.dtype, np.dtype('int32'))
+ self.assertEqual(val.ndim, 0)
+ self.assertEqual(val.shape, ())
+ self.assertEqual(val, v[:])
+
+ def test_adios_var_array(self):
+ v = self.f['temperature']
+ self.assertEqual(v.ndim, 2)
+ self.assertEqual(v.dims, (2L, 10L))
+ self.assertEqual(v.nsteps, 1)
+
+ val = v.read()
+ self.assertEqual(val.dtype, np.dtype('float64'))
+ self.assertEqual(val.ndim, 2)
+ self.assertEqual(val.shape, (2, 10))
+ self.assertTrue((val == v[:]).all())
+ self.assertTrue((val == v[:,:]).all())
+ self.assertTrue((v.read(offset=(0,5), count=(2,5)) == v[:,5:]).all())
+ self.assertTrue((v.read(offset=(0,5), count=(2,5)) == v[:,-5:]).all())
+
+ def test_adios_var_getitem(self):
+ v = self.f['temperature']
+ val = v.read()
+ self.assertTrue((val == v[...,...]).all())
+ self.assertTrue((val == v[:,...]).all())
+ self.assertTrue((val == v[:,::1]).all())
+
+ ## equivalent to v[::2]
+ self.assertRaises(IndexError, v.__getitem__, Slicee()[::2])
+ self.assertRaises(IndexError, v.__getitem__, Slicee()[:,:,:])
+
+ def test_adios_var_array_squeeze(self):
+ v = self.f['temperature']
+ val = v[:,1]
+ self.assertEqual(val.shape, (2,))
+
+if __name__ == '__main__':
+ ut.main()
diff --git a/wrappers/numpy/test/test_adios_write_unittest.py b/wrappers/numpy/test/test_adios_write_unittest.py
new file mode 100644
index 0000000..7557fd4
--- /dev/null
+++ b/wrappers/numpy/test/test_adios_write_unittest.py
@@ -0,0 +1,54 @@
+import unittest as ut
+import adios as ad
+import numpy as np
+from common import TempFile
+from common import Slicee
+
+class AdiosTestCase(ut.TestCase):
+
+ def setUp(self):
+ self.temp = TempFile()
+
+ def tearDown(self):
+ try:
+ if self.temp:
+ del self.temp
+ except:
+ pass
+
+ def write_scalar(self, adtype, val, varname='val'):
+ ad.init_noxml()
+ ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10);
+ g = ad.declare_group("group", "", ad.FLAG.YES)
+ ad.define_var(g, varname, "", adtype, "", "", "")
+ ad.select_method(g, "POSIX1", "", "")
+
+ if adtype == ad.DATATYPE.string:
+ dtype = ad.adios2npdtype(adtype, len(str(val)))
+ npval = np.array(val, dtype=dtype)
+ else:
+ dtype = ad.adios2npdtype(adtype)
+ npval = np.array(val, dtype=dtype)
+
+ fd = ad.open("group", self.temp.path, "w")
+ ad.set_group_size(fd, npval.nbytes)
+ ad.write(fd, varname, val, dtype)
+ ad.close(fd)
+ ad.finalize()
+
+ f = ad.file(self.temp.path)
+ v = f.var['val']
+ self.assertEqual(v.read(), npval)
+
+ def test_write_scalar_int(self):
+ self.write_scalar(ad.DATATYPE.integer, 123)
+
+ def test_write_scalar_double(self):
+ self.write_scalar(ad.DATATYPE.double, 123)
+
+ def test_write_scalar_string(self):
+ self.write_scalar(ad.DATATYPE.string, 123)
+
+if __name__ == '__main__':
+ ut.main()
+
diff --git a/wrappers/numpy/test/test_adios_writer_unittest.py b/wrappers/numpy/test/test_adios_writer_unittest.py
new file mode 100644
index 0000000..e79e7b0
--- /dev/null
+++ b/wrappers/numpy/test/test_adios_writer_unittest.py
@@ -0,0 +1,124 @@
+import unittest as ut
+import adios as ad
+import numpy as np
+from common import TempFile
+from common import Slicee
+
+class AdiosTestCase(ut.TestCase):
+ f = None ## Adios File class
+ temp = None ## TempFile
+
+ def setUp(self):
+ ad.init_noxml()
+ ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10)
+
+ def tearDown(self):
+ ad.finalize()
+
+ def test_writer_var(self):
+ self.temp = TempFile()
+
+ NX = 10
+ val1 = np.array(range(NX), dtype=np.int32)
+ val2 = np.array(range(5), dtype='f8')
+
+ fw = ad.writer(self.temp.path)
+ fw.declare_group("group", method="POSIX1")
+
+ fw.define_var("NX")
+ fw.define_var("val1", "NX")
+ fw.define_var("val2", val2.shape)
+
+ fw['NX'] = NX
+ fw['val1'] = val1
+ fw['val2'] = val2
+ fw.close()
+
+ f = ad.file(self.temp.path)
+ self.assertEqual(f['NX'][:], NX)
+ self.assertTrue((f['val1'][:] == val1).all())
+ self.assertTrue((f['val2'][:] == val2).all())
+
+ def test_writer_attr(self):
+ self.temp = TempFile()
+
+ NX = 10
+ val1 = np.array(range(NX), dtype=np.int32)
+ val2 = np.array(range(5), dtype='f8')
+
+ single_string = "ABCD"
+ three_string = ("AA","BBB","CCCC")
+ single_int = 10
+ five_int = np.array(range(5), dtype=np.int32)
+ single_double = 1.1
+ five_double = np.array(range(5), dtype='double')*1.1
+
+ fw = ad.writer(self.temp.path)
+ fw.declare_group("group", method="POSIX1")
+
+ fw.define_attr("single_string")
+ fw.define_attr("three_string")
+ fw.define_attr("single_int")
+ fw.define_attr("five_int")
+ fw.define_attr("single_double")
+ fw.define_attr("five_double")
+
+ fw['single_string'] = single_string
+ fw['three_string'] = three_string
+ fw['single_int'] = single_int
+ fw['five_int'] = five_int
+ fw['single_double'] = single_double
+ fw['five_double'] = five_double
+ fw.close()
+
+ f = ad.file(self.temp.path)
+ self.assertEqual(f['single_string'].value, single_string)
+ self.assertTrue((f['three_string'].value == three_string).all())
+ self.assertEqual(f['single_int'].value, single_int)
+ self.assertTrue((f['five_int'].value == five_int).all())
+ self.assertEqual(f['single_double'].value, single_double)
+ self.assertTrue((f['five_double'].value == five_double).all())
+
+ def test_writer_undefined_var(self):
+ self.temp = TempFile()
+
+ NX = 10
+ val1 = np.array(range(NX), dtype=np.int32)
+ val2 = np.array(range(5), dtype='f8')
+
+ fw = ad.writer(self.temp.path)
+ fw.declare_group("group", method="POSIX1")
+
+ fw['NX'] = NX
+ fw['val1'] = val1
+ fw['val2'] = val2
+ fw.close()
+
+ f = ad.file(self.temp.path)
+ self.assertEqual(f['NX'][:], NX)
+ self.assertTrue((f['val1'][:] == val1).all())
+ self.assertTrue((f['val2'][:] == val2).all())
+
+ def test_writer_undefined_var2(self):
+ self.temp = TempFile()
+
+ NX = 10
+ val1 = np.array(range(NX), dtype=np.int32)
+ val2 = np.array(range(5), dtype='f8')
+
+ fw = ad.writer(self.temp.path)
+ fw.declare_group("group", method="POSIX1")
+
+ fw.var['NX'] = NX
+ fw.var['val1'] = val1
+ fw.var['val2'] = val2
+ fw.close()
+
+ f = ad.file(self.temp.path)
+ self.assertEqual(f['NX'][:], NX)
+ self.assertTrue((f['val1'][:] == val1).all())
+ self.assertTrue((f['val2'][:] == val2).all())
+
+if __name__ == '__main__':
+ ut.main()
+
diff --git a/wrappers/numpy/tests/test_adios.py b/wrappers/numpy/tests/test_adios.py
index 22aa589..d383c6d 100644
--- a/wrappers/numpy/tests/test_adios.py
+++ b/wrappers/numpy/tests/test_adios.py
@@ -7,11 +7,16 @@ $ python ./test_adios.py
import adios as ad
import numpy as np
+import sys
## Writing
print "\n>>> Writing ...\n"
-ad.init("config.xml")
+config = "config.xml"
+if len(sys.argv) > 1:
+ config = sys.argv[1]
+
+ad.init(config)
fd = ad.open("temperature", "adios_test.bp", "w")
NX = 10
diff --git a/wrappers/numpy/tests/test_adios.py b/wrappers/numpy/tests/test_adios_matplot.py
similarity index 92%
copy from wrappers/numpy/tests/test_adios.py
copy to wrappers/numpy/tests/test_adios_matplot.py
index 22aa589..094761d 100644
--- a/wrappers/numpy/tests/test_adios.py
+++ b/wrappers/numpy/tests/test_adios_matplot.py
@@ -7,6 +7,7 @@ $ python ./test_adios.py
import adios as ad
import numpy as np
+import matplotlib.pyplot as plt
## Writing
print "\n>>> Writing ...\n"
@@ -47,5 +48,9 @@ print "\n>>> Test utility functions ...\n"
print "bpls:\n", ad.bpls('adios_test.bp')
print "readvar:\n", ad.readvar("adios_test.bp", "temperature")
+plt.imshow(val)
+plt.colorbar()
+plt.show()
+
print "\n>>> Done.\n"
diff --git a/wrappers/numpy/tests/test_adios_mpi.py b/wrappers/numpy/tests/test_adios_mpi.py
index 767c497..9d1e3e3 100644
--- a/wrappers/numpy/tests/test_adios_mpi.py
+++ b/wrappers/numpy/tests/test_adios_mpi.py
@@ -8,6 +8,7 @@ $ mpiexec -n 4 python ./test_adios_mpi.py
import adios_mpi as ad
import numpy as np
from mpi4py import MPI
+import sys
## Init
comm = MPI.COMM_WORLD
@@ -17,7 +18,11 @@ size = comm.Get_size()
## Writing
print "\n>>> Writing ... (rank = %d)\n" % rank
-ad.init("config_mpi.xml", comm)
+config = "config_mpi.xml"
+if len(sys.argv) > 1:
+ config = sys.argv[1]
+
+ad.init(config, comm)
fd = ad.open("temperature", "adios_test_mpi.bp", "w", comm)
NX = 10
@@ -44,7 +49,7 @@ if rank == 0:
val = v.read()
print val
- assert (int(sum(sum(val))) == (size*NX-1)*(size*NX)/2)
+ assert (int(np.sum(val)) == (size*NX-1)*(size*NX)/2)
f.close()
print "\n>>> Done.\n"
diff --git a/wrappers/numpy/tests/test_adios_mpi_writer.py b/wrappers/numpy/tests/test_adios_mpi_writer.py
new file mode 100644
index 0000000..66d9147
--- /dev/null
+++ b/wrappers/numpy/tests/test_adios_mpi_writer.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+"""
+Example:
+
+$ mpiexec -n 4 python ./test_adios_mpi_writer.py
+"""
+
+import adios_mpi as ad
+import numpy as np
+from mpi4py import MPI
+
+## Init
+comm = MPI.COMM_WORLD
+rank = comm.Get_rank()
+size = comm.Get_size()
+
+## Prepare
+print "\n>>> Prepare ... (rank = %d)\n" % rank
+fname = 'adios_test_mpi_writer.bp'
+NX = 10
+t = np.array(range(NX*size), dtype=np.float64) + rank*NX
+gdim = (size, NX)
+offset = (rank, 0)
+
+print "\n>>> Writing ... (rank = %d)\n" % rank
+ad.init_noxml()
+ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10);
+
+fw = ad.writer(fname, comm=comm)
+fw.declare_group('group', method='MPI')
+fw.define_var('temperature', ldim=(1,NX), gdim=gdim, offset=offset)
+
+fw['NX'] = NX
+fw['size'] = size
+fw['temperature'] = t
+fw.attr['/temperature/description'] = "Global array written from 'size' processes"
+fw.close()
+
+## Reading
+if rank == 0:
+ print "\n>>> Reading ...\n"
+
+ f = ad.file(fname, comm=MPI.COMM_SELF)
+ for key, val in f.var.iteritems():
+ print key, '=', val.read()
+
+ for key, val in f.attr.iteritems():
+ print key, '=', val.value
+
+ print "\n>>> Done.\n"
+
diff --git a/wrappers/numpy/tests/test_adios_timestep.py b/wrappers/numpy/tests/test_adios_timestep.py
index 5e2fe47..7cf4328 100644
--- a/wrappers/numpy/tests/test_adios_timestep.py
+++ b/wrappers/numpy/tests/test_adios_timestep.py
@@ -42,7 +42,7 @@ v = f.var['temperature']
v.printself()
for i in range(10):
- val = v.read(from_steps=i)
+ val = v.read(from_steps=i, nsteps=1)
print "step =", i
print val
diff --git a/wrappers/numpy/tests/test_adios_writer.py b/wrappers/numpy/tests/test_adios_writer.py
new file mode 100644
index 0000000..1b0843e
--- /dev/null
+++ b/wrappers/numpy/tests/test_adios_writer.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+"""
+Example:
+
+$ python ./test_adios_write.py
+"""
+
+import adios as ad
+import numpy as np
+
+print "\n>>> Prepare ...\n"
+fname = 'adios_test_writer.bp'
+NX = 10
+size = 2
+t = np.array(range(NX*size), dtype=np.float64)
+tt = t.reshape((size, NX))
+
+print "\n>>> Writing ...\n"
+ad.init_noxml()
+ad.allocate_buffer (ad.BUFFER_ALLOC_WHEN.NOW, 10);
+
+fw = ad.writer(fname)
+fw.declare_group('group', method='POSIX1')
+
+fw['NX'] = NX
+fw['size'] = size
+fw['temperature'] = tt
+fw.attr['/temperature/description'] = "Global array written from 'size' processes"
+fw.close()
+
+## Reading
+print "\n>>> Reading ...\n"
+
+f = ad.file(fname)
+for key, val in f.var.iteritems():
+ print key, '=', val.read()
+
+for key, val in f.attr.iteritems():
+ print key, '=', val.value
+
+## Testing
+print "\n>>> Done.\n"
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/adios.git
More information about the debian-science-commits
mailing list