Skip to content

Updates to Uint128 and Bytes#5

Merged
beauhoyt merged 1 commit intomasterfrom
updateUint128
Feb 10, 2026
Merged

Updates to Uint128 and Bytes#5
beauhoyt merged 1 commit intomasterfrom
updateUint128

Conversation

@beauhoyt
Copy link
Owner

  • Update Makefile moving go tool cover -func=c.out to the make test statement
  • Update README.md adding badge for build/test with github workflows
  • Add refactor Parse() breaking out logic into getNumAndUnitRunes() and getMultiplierForUnitString() to reduce high gocyclo complexity
  • Added support for processing negative numbers to getNumAndUnitRUnes() so that we can throw proper errors when we get bad negative values.
  • Change Type() to return bytesize.Bytes instead of bytes
  • Update String() to return default value Lo uint64 as B Bytes. Though it should be impossible to hit this, but we have it just incase.
  • Fix unit test for TestParseErrors()
  • Add TestSet() and TestSetError() for testing Set()
  • Add TestGet() for testing Get()
  • Add TestType() for testing Type()
  • Add TestUnmarshalText() for testing UnmarshalTexT()
  • Add methods to Uint128: AddErr(), Add64Err(), SubErr(), Sub64Err(), MulErr(). And Updated Mul64Error() to Mul64Err().
  • Add method to Uint128 FromBigErr()
  • Update unit test for Uint128 to support new Err Methods: TestUint128()
  • Add unit test for Uint128 to support new Err Methods: TestArithmeticErrors(), TestOverflowAndUnderflowErrors(), TestTrailingZeros(), TestOnesCount(), TestRotateLeft(), TestRotateRight(), TestReverse(), TestReverseBytes(), TestLen()

* Update Makefile moving `go tool cover -func=c.out` to the `make test`
  statement
* Update README.md adding badge for build/test with github workflows
* Add refactor Parse() breaking out logic into getNumAndUnitRunes() and
  getMultiplierForUnitString() to reduce high gocyclo complexity
* Added support for processing negative numbers to getNumAndUnitRUnes()
  so that we can throw proper errors when we get bad negative values.
* Change Type() to return `bytesize.Bytes` instead of `bytes`
* Update String() to return default value Lo uint64 as B Bytes. Though
  it should be impossible to hit this, but we have it just incase.
* Fix unit test for TestParseErrors()
* Add TestSet() and TestSetError() for testing Set()
* Add TestGet() for testing Get()
* Add TestType() for testing Type()
* Add TestUnmarshalText() for testing UnmarshalTexT()
* Add methods to Uint128: AddErr(), Add64Err(), SubErr(), Sub64Err(),
  MulErr(). And Updated Mul64Error() to Mul64Err().
* Add method to Uint128 FromBigErr()
* Update unit test for Uint128 to support new Err Methods:
  TestUint128()
* Add unit test for Uint128 to support new Err Methods:
  TestArithmeticErrors(), TestOverflowAndUnderflowErrors(),
  TestTrailingZeros(), TestOnesCount(), TestRotateLeft(),
  TestRotateRight(), TestReverse(), TestReverseBytes(), TestLen()
@beauhoyt beauhoyt merged commit 0046dca into master Feb 10, 2026
1 check passed
@beauhoyt beauhoyt deleted the updateUint128 branch February 10, 2026 23:05
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.

1 participant