Conversation
e22c79f to
19d9bb9
Compare
19d9bb9 to
0d6c9a2
Compare
Use force to address for tge `legacy_datasets.tar`
```
Move-Item : Cannot create a file when that file already exists.
At C:\projects\openpmd-api\share\openPMD\download_samples.ps1:30 char:1
+ Move-Item -Path legacy_datasets\* samples\git-sample\legacy\
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (C:\projects\ope...5.0-hdf5-plugin:DirectoryInfo) [Move-Item], IOException
+ FullyQualifiedErrorId : MoveDirectoryItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand
```
Architecture not part of `-G` anymore, maybe `-A x64`
0d6c9a2 to
39af352
Compare
|
Yay, only to fails left: Unittest.pyExample.py.7_extended_write_serial |
1fa68ad to
4045aa2
Compare
4045aa2 to
085ef1c
Compare
Fix: `TypeError: data type 'ulong' not understood` on GCC 9 w/ Python 3.10 on Linux.
|
On CF, we further see on Win64 these linker errors: conda-forge/openpmd-api-feedstock#130 |
Slightly more consistent
|
Ah, the patch above from Franz fixes exactly that. Moved that to CF. |
|
Not sure what is on with that Update: Ahhh, GH status
|
| Datatype dtype = determineDatatype<T>(); | ||
| if (dtype != getDatatype()) | ||
| if (dtype != getDatatype() && !isSameInteger<T>(getDatatype()) && | ||
| !isSameFloatingPoint<T>(getDatatype()) && | ||
| !isSameComplexFloatingPoint<T>(getDatatype()) && | ||
| !isSameChar<T>(getDatatype())) |
There was a problem hiding this comment.
Not urgently needed but sensible.
We should group these together into a single call like isEquivalentRepresentation<T>(getDatatype()) where we use it in the code base.
There was a problem hiding this comment.
Our Datatype equality operator already has these semantics:
/** Comparison for two Datatypes
*
* Besides returning true for the same types, identical implementations on
* some platforms, e.g. if long and long long are the same or double and
* long double will also return true.
*/
inline bool isSame(openPMD::Datatype const d, openPMD::Datatype const e)
{
// exact same type
if (static_cast<int>(d) == static_cast<int>(e))
return true;
bool d_is_vec = isVector(d);
bool e_is_vec = isVector(e);
// same int
bool d_is_int, d_is_sig;
std::tie(d_is_int, d_is_sig) = isInteger(d);
bool e_is_int, e_is_sig;
std::tie(e_is_int, e_is_sig) = isInteger(e);
if (d_is_int && e_is_int && d_is_vec == e_is_vec && d_is_sig == e_is_sig &&
toBits(d) == toBits(e))
return true;
// same float
bool d_is_fp = isFloatingPoint(d);
bool e_is_fp = isFloatingPoint(e);
if (d_is_fp && e_is_fp && d_is_vec == e_is_vec && toBits(d) == toBits(e))
return true;
// same complex floating point
bool d_is_cfp = isComplexFloatingPoint(d);
bool e_is_cfp = isComplexFloatingPoint(e);
if (d_is_cfp && e_is_cfp && d_is_vec == e_is_vec && toBits(d) == toBits(e))
return true;
return false;
}We should try merging your code into that instead of creating a new call
|
Woho, we did it! Thanks for the help, @franzpoeschel 🤝 🎉 |
The CMake Generator line for 64bit build was outdated and does not include the architecture anymore.
Use force to address for the
legacy_datasets.tar