Dart Documentationbot_qrQrPolynomial

QrPolynomial class

Constructors

factory QrPolynomial(List<int> thing, int shift) #

factory	QrPolynomial(List<int> thing, int shift) {

  var offset = 0;

  while (offset < thing.length && thing[offset] == 0) {
    offset++;
  }

  final List<int> values = QrMath.getZeroedList(thing.length - offset + shift);

  for (var i = 0; i < thing.length - offset; i++) {
    values[i] = thing[i + offset];
  }

  return new QrPolynomial._internal(values);
}

new QrPolynomial._internal(List<int> _myThings) #

QrPolynomial._internal(this._myThings);

Methods

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

operator [](int index) #

operator [](int index) => _myThings[index];

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

int get length() #

int get length => _myThings.length;

QrPolynomial mod(QrPolynomial e) #

QrPolynomial mod(QrPolynomial e) {

  if (length - e.length < 0) {
    return this;
  }

  var ratio = QrMath.glog(this[0]) - QrMath.glog(e[0]);

  var thing = QrMath.getZeroedList(length);

  for (int i = 0; i < length; i++) {
    thing[i] = this[i];
  }

  for (int i = 0; i < e.length; i++) {
    thing[i] ^= QrMath.gexp(QrMath.glog(e[i]) + ratio);
  }

  // recursive call
  return (new QrPolynomial(thing, 0)).mod(e);
}

QrPolynomial multiply(QrPolynomial e) #

QrPolynomial multiply(QrPolynomial e) {

  final List<int> foo = QrMath.getZeroedList(length + e.length - 1);

  for (var i = 0; i < length; i++) {
    for (var j = 0; j < e.length; j++) {
      foo[i + j] ^= QrMath.gexp(QrMath.glog(this[i]) + QrMath.glog(e[j]));
    }
  }

  return new QrPolynomial(foo, 0);
}

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

Type get runtimeType() #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();