Class Checksum

extends Object
Base for checksum algorithms.
The add methods (add data, add data from, and (add data from to)) add data to be checksummed.
To get the checksum use get.

Class summary


add data/Data -> none
Variant of add data from to.
add data/Data from/int -> none
Variant of add data from to.
add data/Data from/int to/int -> none
Adds the data to the data to be checksummed.
get -> ByteArray
Computes the checksum from the added data.
clone -> Checksum
Clones the internal state so we can compute checksums of multiple data with the same prefix.
operator == other/any -> bool
Whether this object is equal to the other.
stringify -> string
Stringifies this object.

Methods

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

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

add data/Data from/int to/int -> none
Adds the data to the data to be checksummed.

Clones the internal state so we can compute checksums of multiple data with the same prefix.

Computes the checksum from the added data.

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.