Library Improvements #1
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added several new features to the library including a new
BytesViewclass; updated the documentation, added unit tests for all of the data types; and fixed a few issues:Added support for creating
Bytesvalues frombytesvalues.Added a new
BytesViewclass for iterating overbytesandbytearrayobjects with the ability to access the data as arbitrarily sized groups of bytes as well as being able to cast bytes to specific data types.Added
Float,Float16,Float32andFloat64types, as well asDouble(an alias forFloat64).Added
Size,SingedSizeandUnsignedSizeinteger subtypes which have a maximum size dependent upon the system they are running on.Added
Unicode,UTF8,UTF16,UTF32,ASCIItypes to compliment theStringtype; these string variants hold strings with different default character encodings.Added
Typesuperclass as a parent of all of the type subclasses which makes type comparison and class hierarchy membership easier to discern and allows shared behaviour to be centrally defined and maintained.The
Shorttype was previously unsigned and is now signed as per the C standard following the Python convention; theShorttype was previously based on embedded metadata standards, which treatshortas unsigned and defined a separatesigned short.The
Longtype was previously unsigned and is now signed as per the C standard following the Python convention; theLongtype was previously based on embedded metadata standards, which treatlongas unsigned and defined a separatesigned long.The
LongLongtype was previously unsigned and is now signed as per the C standard following the Python convention; theLongLongtype was previously based on embedded metadata standards, which treatlong longas unsigned and defined a separatesigned long long.A new
UnsignedShorttype has been added to compliment the signedShorttype and pairs with theSignedShorttype which is functionally equivalent toShort.A new
UnsignedLongtype has been added to compliment signedLongtype and pairs with theSignedLongtype which is functionally equivalent toLong.A new
UnsignedLongLongtype has been added to compliment signedLongLongtype and pairs with theSignedLongLongtype which is functionally equivalent toLongLong.