Skip to content
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

st1303: implement additional encode and decode #391

Merged
merged 1 commit into from Apr 25, 2022

Conversation

bradh
Copy link
Collaborator

@bradh bradh commented Apr 17, 2022

Motivation and Context

Adds implementations for ST 1303 Multi Dimensional Array Pack that we don't yet support.

  • Boolean 1D decoding (Natural Format, Boolean Array, Run length encoding)
  • Boolean 1D encoding (Natural Format, Boolean Array)
  • Floating Point 1D decoding (Run length encoding)
  • Floating Point 2D decoding (Run length encoding)
  • Signed 1D integer decoding (Run length encoding)
  • Signed 2D integer decoding (Run length encoding)
  • Unsigned 1D integer decoding (Run length encoding)
  • Unsigned 2D integer decoding (Run length encoding)

The decoding is important for interoperability in case someone decides to use that. The Boolean 1D stuff is just for completeness (and is probably not useful).

Resolves #198 (which I've dropped RLE encoding - as opposed to decoding - support out of - its difficult to do in general, and probably requires domain-specific knowledge of the nature of the data being encoded to be really efficient).

Description

Adds implementations consistent with existing code. Updated documentation and tests.

How Has This Been Tested?

Unit tests only. The test cases from ST 1303.2 are now used.

Screenshots (if appropriate):

N/A.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

 - Boolean 1D decoding (Natural Format, Boolean Array, Run length encoding)
 - Boolean 1D encoding (Natural Format, Boolean Array)
 - Floating Point 1D decoding (Run length encoding)
 - Floating Point 2D decoding (Run length encoding)
 - Signed 1D integer decoding (Run length encoding)
 - Signed 2D integer decoding (Run length encoding)
 - Unsigned 1D integer decoding (Run length encoding)
 - Unsigned 2D integer decoding (Run length encoding)
@bradh bradh mentioned this pull request Apr 17, 2022
60 tasks
@codecov-commenter
Copy link

Codecov Report

Merging #391 (76f6ea1) into 2.x (e1cd91b) will increase coverage by 0.13%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                2.x     #391      +/-   ##
============================================
+ Coverage     90.91%   91.04%   +0.13%     
- Complexity     5580     5644      +64     
============================================
  Files           613      613              
  Lines         14731    14956     +225     
  Branches       1357     1394      +37     
============================================
+ Hits          13392    13617     +225     
  Misses         1291     1291              
  Partials         48       48              
Flag Coverage Δ
unittests-api 98.88% <100.00%> (+0.01%) ⬆️
unittests-api-ffmpeg 15.78% <ø> (ø)
unittests-awt 100.00% <ø> (ø)
unittests-core 98.49% <ø> (ø)
unittests-geoid 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../org/jmisb/api/klv/st1303/BooleanArrayEncoder.java 100.00% <100.00%> (ø)
...ain/java/org/jmisb/api/klv/st1303/MDAPDecoder.java 100.00% <100.00%> (ø)
...org/jmisb/api/klv/st1303/NaturalFormatEncoder.java 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e1cd91b...76f6ea1. Read the comment docs.

@wlfgang wlfgang merged commit 0b391f8 into WestRidgeSystems:2.x Apr 25, 2022
@bradh bradh deleted the 2.x_st1303 branch April 25, 2022 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants