Class Adler32

extends Checksum
Checksummer that implements Adler-32.

Class summary


constructor
Constructs an Adler-32 checksummer.

Constructors

Constructs an Adler-32 checksummer.

Methods

add data/Data from/int to/int -> none
See super.

add data/Data -> none
Variant of add data from to.

add data/Data from/int -> none
Variant of add data from to.

See super.
Destroys this object. Use get --destructive with --no-destructive to keep the object.

get --destructive/any -> ByteArray
Returns the current checksum.
If destructive, then destroys the Adler32 object.
If not destructive, allows to reuse the object. This is mostly used for rolling checksums.

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.

unadd data/Data from/int=0 to/int=data.byte-size -> none
Removes the data from the start of the checksummed data.
The data must match bytes that were previously added to the checksummed data. This is for use of Adler32 as a rolling checksum.
The data must be a string or a byte array.