Skip to content

Commit

Permalink
Rename typedef to be clearer that it is a scalar
Browse files Browse the repository at this point in the history
  • Loading branch information
peterfpeterson committed Feb 11, 2025
1 parent 3740723 commit cdb0bca
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 40 deletions.
17 changes: 8 additions & 9 deletions Framework/Nexus/inc/MantidNexus/NexusClasses.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ namespace NeXus {
@date 28/05/2009
*/

typedef ::NeXus::DimSize DimSize;
typedef std::array<DimSize, 4> NXDimArray;
typedef std::array<::NeXus::dimsize_t, 4> NXDimArray;

/** Structure for keeping information about a Nexus data set,
* such as the dimensions and the type
Expand Down Expand Up @@ -140,13 +139,13 @@ class MANTID_NEXUS_DLL NXDataSet : public NXObject {
/// Returns the rank (number of dimensions) of the data. The maximum is 4
std::size_t rank() const { return m_info.rank; }
/// Returns the number of elements along i-th dimension
DimSize dims(std::size_t i) const { return i < 4 ? m_info.dims[i] : 0; }
::NeXus::dimsize_t dims(std::size_t i) const { return i < 4 ? m_info.dims[i] : 0; }
/// Returns the number of elements along the first dimension
int64_t dim0() const;
::NeXus::dimsize_t dim0() const;
/// Returns the number of elements along the second dimension
int64_t dim1() const;
::NeXus::dimsize_t dim1() const;
/// Returns the number of elements along the third dimension
int64_t dim2() const;
::NeXus::dimsize_t dim2() const;
/// Returns the number of elements along the fourth dimension
int64_t dim3() const;
/// Returns the name of the data set
Expand Down Expand Up @@ -293,7 +292,7 @@ template <class T> class NXDataSetTyped : public NXDataSet {
if (rank() > 4) {
throw std::runtime_error("Cannot load dataset of rank greater than 4");
}
DimSize n = 0, id(i), jd(j), kd(l), ld(l);
::NeXus::dimsize_t n = 0, id(i), jd(j), kd(l), ld(l);
NXDimArray start;
if (rank() == 4) {
if (i < 0) // load all data
Expand Down Expand Up @@ -370,7 +369,7 @@ template <class T> class NXDataSetTyped : public NXDataSet {
} else if (k < 0) {
if (id >= dim0() || jd >= dim1())
rangeError();
DimSize m = blocksize;
::NeXus::dimsize_t m = blocksize;
if (jd + m > dim1())
m = dim1() - jd;
n = dim2() * m;
Expand Down Expand Up @@ -400,7 +399,7 @@ template <class T> class NXDataSetTyped : public NXDataSet {
} else if (j < 0) {
if (id >= dim0())
rangeError();
DimSize m = blocksize;
::NeXus::dimsize_t m = blocksize;
if (id + m > dim0())
m = dim0() - id;
n = dim1() * m;
Expand Down
18 changes: 10 additions & 8 deletions Framework/Nexus/src/NexusClasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@
#include <memory>
#include <utility>

using ::NeXus::dimsize_t;

namespace Mantid::NeXus {

static NXDimArray dimArray(::NeXus::DimVector xd) {
return NXDimArray({static_cast<DimSize>(xd[0]), static_cast<DimSize>(xd[1]), static_cast<DimSize>(xd[2]),
static_cast<DimSize>(xd[3])});
return NXDimArray({static_cast<dimsize_t>(xd[0]), static_cast<dimsize_t>(xd[1]), static_cast<dimsize_t>(xd[2]),
static_cast<dimsize_t>(xd[3])});
}

NXInfo::NXInfo(::NeXus::Info const &info, std::string const &name)
Expand Down Expand Up @@ -359,7 +361,7 @@ void NXDataSet::openLocal() {
* @returns An integer indicating the size of the dimension.
* @throws out_of_range error if requested on an object of rank 0
*/
int64_t NXDataSet::dim0() const {
::NeXus::dimsize_t NXDataSet::dim0() const {
if (m_info.rank == 0) {
throw std::out_of_range("NXDataSet::dim0() - Requested dimension greater than rank.");
}
Expand All @@ -371,7 +373,7 @@ int64_t NXDataSet::dim0() const {
* @returns An integer indicating the size of the dimension
* @throws out_of_range error if requested on an object of rank < 2
*/
int64_t NXDataSet::dim1() const {
::NeXus::dimsize_t NXDataSet::dim1() const {
if (m_info.rank < 2) {
throw std::out_of_range("NXDataSet::dim1() - Requested dimension greater than rank.");
}
Expand All @@ -383,7 +385,7 @@ int64_t NXDataSet::dim1() const {
* @returns An integer indicating the size of the dimension
* @throws out_of_range error if requested on an object of rank < 3
*/
int64_t NXDataSet::dim2() const {
::NeXus::dimsize_t NXDataSet::dim2() const {
if (m_info.rank < 3UL) {
throw std::out_of_range("NXDataSet::dim2() - Requested dimension greater than rank.");
}
Expand All @@ -395,7 +397,7 @@ int64_t NXDataSet::dim2() const {
* @returns An integer indicating the size of the dimension
* @throws out_of_range error if requested on an object of rank < 4
*/
int64_t NXDataSet::dim3() const {
::NeXus::dimsize_t NXDataSet::dim3() const {
if (m_info.rank < 4UL) {
throw std::out_of_range("NXDataSet::dim3() - Requested dimension greater than rank.");
}
Expand Down Expand Up @@ -424,8 +426,8 @@ void NXDataSet::getData(void *data) {
* @throw runtime_error if the operation fails.
*/
void NXDataSet::getSlab(void *data, NXDimArray const &start, NXDimArray const &size) {
std::vector<::NeXus::DimSize> vstart(start.cbegin(), start.cend());
std::vector<::NeXus::DimSize> vsize(size.cbegin(), size.cend());
std::vector<::NeXus::dimsize_t> vstart(start.cbegin(), start.cend());
std::vector<::NeXus::dimsize_t> vsize(size.cbegin(), size.cend());
m_fileID->openData(name());
m_fileID->getSlab(data, vstart, vsize);
m_fileID->closeData();
Expand Down
4 changes: 2 additions & 2 deletions Framework/NexusCpp/inc/MantidNexusCpp/NeXusFile.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ class MANTID_NEXUSCPP_DLL File {
* \param chunkSize :: chunk size to use when writing
*/
template <typename NumT>
void writeExtendibleData(const std::string &name, std::vector<NumT> &value, const DimSize chunk);
void writeExtendibleData(const std::string &name, std::vector<NumT> &value, const dimsize_t chunk);

/** Create a 1D data field with an unlimited dimension, insert the data, and close the data.
*
Expand Down Expand Up @@ -434,7 +434,7 @@ class MANTID_NEXUSCPP_DLL File {
* \param size The size of the array to put in the file.
* \tparam NumT numeric data type of \a data
*/
template <typename NumT> void putSlab(const std::vector<NumT> &data, DimSize start, DimSize size);
template <typename NumT> void putSlab(const std::vector<NumT> &data, dimsize_t start, dimsize_t size);

/**
* \return The id of the data used for linking.
Expand Down
6 changes: 3 additions & 3 deletions Framework/NexusCpp/inc/MantidNexusCpp/NeXusFile_fwd.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,12 +172,12 @@ MANTID_NEXUSCPP_DLL std::ostream &operator<<(std::ostream &stm, const NXnumtype
namespace NeXus {

// TODO change to std::size_t
typedef std::int64_t DimSize;
typedef std::int64_t dimsize_t;
// TODO replace all instances with DimArray
typedef std::vector<DimSize> DimVector; ///< usef specifically for the dims array
typedef std::vector<dimsize_t> DimVector; ///< usef specifically for the dims array
// typedef std::array<DimSize, 4> DimArray;
// TODO this is probably the same as DimVector
typedef std::vector<DimSize> DimSizeVector; ///< used for start, size, chunk, buffsize, etc.
typedef std::vector<dimsize_t> DimSizeVector; ///< used for start, size, chunk, buffsize, etc.

/**
* The available compression types. These are all ignored in xml files.
Expand Down
37 changes: 19 additions & 18 deletions Framework/NexusCpp/src/NeXusFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ void File::makeData(const string &name, NXnumtype type, const DimVector &dims, b
template <typename NumT>
void File::makeData(const string &name, const NXnumtype type, const NumT length, bool open_data) {
DimVector dims;
dims.push_back(static_cast<DimSize>(length));
dims.push_back(static_cast<dimsize_t>(length));
this->makeData(name, type, dims, open_data);
}

Expand All @@ -296,7 +296,7 @@ void File::writeData(const string &name, const string &value) {
}

template <typename NumT> void File::writeData(const string &name, const vector<NumT> &value) {
DimVector dims(1, static_cast<DimSize>(value.size()));
DimVector dims(1, static_cast<dimsize_t>(value.size()));
this->writeData(name, value, dims);
}

Expand All @@ -317,12 +317,13 @@ template <typename NumT> void File::writeExtendibleData(const string &name, vect
writeExtendibleData(name, value, 4096);
}

template <typename NumT> void File::writeExtendibleData(const string &name, vector<NumT> &value, const DimSize chunk) {
template <typename NumT>
void File::writeExtendibleData(const string &name, vector<NumT> &value, const dimsize_t chunk) {
DimVector dims(1, NX_UNLIMITED);
DimSizeVector chunk_dims(1, chunk);
// Use chunking without using compression
this->makeCompData(name, getType<NumT>(), dims, NONE, chunk_dims, true);
this->putSlab(value, DimSize(0), DimSize(value.size()));
this->putSlab(value, dimsize_t(0), dimsize_t(value.size()));
this->closeData();
}

Expand All @@ -341,7 +342,7 @@ void File::writeExtendibleData(const string &name, vector<NumT> &value, DimVecto

template <typename NumT> void File::writeUpdatedData(const std::string &name, std::vector<NumT> &value) {
this->openData(name);
this->putSlab(value, DimSize(0), DimSize(value.size()));
this->putSlab(value, dimsize_t(0), dimsize_t(value.size()));
this->closeData();
}

Expand Down Expand Up @@ -532,10 +533,10 @@ void File::putSlab(const vector<NumT> &data, const DimSizeVector &start, const D
}

template <typename NumT> void File::putSlab(const vector<NumT> &data, int start, int size) {
this->putSlab(data, static_cast<DimSize>(start), static_cast<DimSize>(size));
this->putSlab(data, static_cast<dimsize_t>(start), static_cast<dimsize_t>(size));
}

template <typename NumT> void File::putSlab(const vector<NumT> &data, DimSize start, DimSize size) {
template <typename NumT> void File::putSlab(const vector<NumT> &data, dimsize_t start, dimsize_t size) {
DimSizeVector start_v(1, start);
DimSizeVector size_v(1, size);
this->putSlab(data, start_v, size_v);
Expand Down Expand Up @@ -1076,27 +1077,27 @@ template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name,
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<char> &value);

template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<float> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<double> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<int8_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<uint8_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<int16_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<uint16_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<int32_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<uint32_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<int64_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<uint64_t> &value,
const DimSize chunk);
const dimsize_t chunk);
template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<char> &value,
const DimSize chunk);
const dimsize_t chunk);

template MANTID_NEXUSCPP_DLL void File::writeExtendibleData(const string &name, std::vector<float> &value,
DimVector &dims, std::vector<int64_t> &chunk);
Expand Down

0 comments on commit cdb0bca

Please sign in to comment.