Changeset 1735 for trunk/bindings
- Timestamp:
- 06/11/11 10:42:45 (7 months ago)
- Location:
- trunk/bindings/cpp
- Files:
-
- 3 edited
-
CMakeLists.txt (modified) (2 diffs)
-
NeXusFile.cpp (modified) (5 diffs)
-
NeXusFile.hpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bindings/cpp/CMakeLists.txt
r1674 r1735 27 27 #==================================================================== 28 28 29 add_definitions(-DIN_NEXUS_CPP_LIBRARY=1 )29 add_definitions(-DIN_NEXUS_CPP_LIBRARY=1 ${NX_CPP}) 30 30 31 31 #Make NeXus CPP Bindings Static Library … … 33 33 set (HEADERS NeXusFile.hpp NeXusException.hpp NeXusStream.hpp) 34 34 set (SOURCES NeXusFile.hpp NeXusFile.cpp NeXusException.hpp NeXusException.cpp NeXusStream.hpp NeXusStream.cpp) 35 36 set_property(SOURCE ${SOURCES} APPEND PROPERTY COMPILE_FLAGS ${NX_CFLAGS}) 35 37 36 38 add_library (NeXus_CPP_Static_Library STATIC ${HEADERS} ${SOURCES}) -
trunk/bindings/cpp/NeXusFile.cpp
r1732 r1735 144 144 145 145 static void inner_malloc(void* & data, const std::vector<int64_t>& dims, NXnumtype type) { 146 size_t rank = dims.size();146 int rank = dims.size(); 147 147 int64_t c_dims[NX_MAXRANK]; 148 148 for (size_t i = 0; i < rank; i++) { … … 363 363 template <typename NumT> 364 364 void File::writeData(const string& name, const vector<NumT>& value) { 365 vector<int > dims(1, value.size());365 vector<int64_t> dims(1, value.size()); 366 366 this->writeData(name, value, dims); 367 367 } … … 375 375 } 376 376 377 template <typename NumT> 378 void File::writeData(const string& name, const vector<NumT>& value, 379 const vector<int64_t>& dims) { 380 this->makeData(name, getType<NumT>(), dims, true); 381 this->putData(value); 382 this->closeData(); 383 } 377 384 378 385 … … 642 649 template <typename NumT> 643 650 void File::putSlab(vector<NumT>& data, int64_t start, int64_t size) { 644 vector<int > start_v;651 vector<int64_t> start_v; 645 652 start_v.push_back(start); 646 vector<int > size_v;653 vector<int64_t> size_v; 647 654 size_v.push_back(size); 648 655 this->putSlab(data, start_v, size_v); … … 1012 1019 1013 1020 int rank = start.size(); 1014 int i_start[NX_MAXRANK]; 1015 for (int i = 0; i < rank; i++) { 1016 i_start[i] = start[i]; 1017 } 1018 int i_size[NX_MAXRANK]; 1019 for (int i = 0; i < rank; i++) { 1020 i_size[i] = size[i]; 1021 } 1022 1023 NXstatus status = NXgetslab(this->m_file_id, data, i_start, i_size); 1021 1022 NXstatus status = NXgetslab64(this->m_file_id, data, &(start[0]), &(size[0])); 1024 1023 if (status != NX_OK) { 1025 1024 throw Exception("NXgetslab failed", status); -
trunk/bindings/cpp/NeXusFile.hpp
r1732 r1735 332 332 const std::vector<int>& dims); 333 333 334 /** 335 * Create a n-dimension data field, insert the data, and close the data. 336 * 337 * \param name The name of the field to create. 338 * \param value The data to put into the file. 339 * \param dims The dimensions of the data. 340 * \tparam NumT numeric data type of \a value 341 */ 342 template <typename NumT> 343 void writeData(const std::string& name, const std::vector<NumT>& value, 344 const std::vector<int64_t>& dims); 334 345 335 346 /** Create a 1D data field with an unlimited dimension, insert the data, and close the data.
Note: See TracChangeset
for help on using the changeset viewer.
