-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tpr but why #7
base: main
Are you sure you want to change the base?
Tpr but why #7
Conversation
initially false, as this is how the header is this might get set to true after reading the header
unpack_real goes between float or double
seems to work...
cheap way to advance stream
some things are impossible in Cython, so stuff them in a header to be included
previously segfaulted on modern tpr files
allows ignoring the mda-specific parts of tpr parsing to establish a baseline
skip reading box in topology parsing
also does velocities for free
it then manages how it advances through this stream on each read also adds is_2020 and precision options that can be toggled
since its managing its own read pointer now anyway
removes Cython extension class middle layer
have to put it in literal C block
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Main comment is on the C++, use virtual-override pairing for base-class -> inheritance relationships to avoid issues down the track and to signal intent for what classes need implementation.
// fundamental get operations defined in impl | ||
float get_float(); | ||
double get_double(); | ||
unsigned short get_uint16(); | ||
int get_int32(); | ||
unsigned int get_uint32(); | ||
int64_t get_int64(); | ||
uint64_t get_uint64(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make these virtual with override
in subclass to make intent clear.
XDRThing(const XDRThing& me) { abort(); } | ||
XDRThing& operator=(const XDRThing& me) { abort(); } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make virtual
and then use override
in subclass to make this a compiler warning not a stop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or you can just delete the methods if you want it to not be intitialisable as base class
XDRThing(const XDRThing& me) { } = delete;
No description provided.