void WriteScalars(FILE* f, const std::string& type, const std::string& name, int* dims, bool binary) { fprintf(f, "SCALARS %s %s 1\n", name.c_str(), type.c_str()); fprintf(f, "LOOKUP_TABLE default\n"); std::vector<T> data(dims[0]); T* dPtr = &(data.front()); if(binary) { // Fill with some data for(size_t i = 0; i < dims[0]; i++) { data[i] = static_cast<T>(i); char* ptr = (char*)(dPtr + i); if(BIGENDIAN == 0) { if(sizeof(T) == 4) { mxa_bswap(0, 3, ptr); mxa_bswap(1, 2, ptr); } if(sizeof(T) == 2) { mxa_bswap(0, 1, ptr); } } } // write to file for(size_t z = 0; z < dims[2]; z++) { for(size_t y = 0; y < dims[1]; y++) { char* ptr = (char*)(dPtr); size_t nwrote = fwrite(ptr, sizeof(T), dims[0], f); DREAM3D_REQUIRE_EQUAL(nwrote, dims[0]) } } fprintf(f, "\n"); } else { for(size_t z = 0; z < dims[2]; z++)
/** * @brief */ virtual void byteSwapElements() { char* ptr = (char*)(m_Array); char t[8]; size_t size = getTypeSize(); for (uint64_t var = 0; var < m_Size; ++var) { if (sizeof(T) == 2) { mxa_bswap(0, 1, t); } else if (sizeof(T) == 4) { mxa_bswap(0, 3, t); mxa_bswap(1, 2, t); } else if (sizeof(T) == 8) { mxa_bswap(0, 7, t); mxa_bswap(1, 6, t); mxa_bswap(2, 5, t); mxa_bswap(3, 4, t); } ptr += size; // increment the pointer } }