Dart Documentationbot_qrQrMath

QrMath class

class QrMath {
  static ReadOnlyCollection<int> _logTable;
  static ReadOnlyCollection<int> _expTable;

  static List<int> getZeroedList(int count) {
    final l = new List<int>();
    l.insertRange(0, count, 0);
    return l;
  }

  static glog(n) {

    if (n < 1) {
      throw 'glog($n)';
    }

    return LOG_TABLE[n];
  }

  static gexp(n) {

    while (n < 0) {
      n += 255;
    }

    while (n >= 256) {
      n -= 255;
    }

    return EXP_TABLE[n];
  }

  static get EXP_TABLE {
    if(_expTable == null) {
      var t = QrMath.getZeroedList(256);
      for (int i = 0; i < 8; i++) {
        t[i] = 1 << i;
      }
      for (int i = 8; i < 256; i++) {
        t[i] = t[i - 4] ^ t[i - 5] ^ t[i - 6] ^ t[i - 8];
      }
      _expTable = new ReadOnlyCollection.wrap(t);
    }
    return _expTable;
  }

  static get LOG_TABLE {
    if(_logTable == null) {
      var t = QrMath.getZeroedList(256);
      // this was the code I had in pl
      // only to 255? seems really weird
      for (int i = 0; i < 255; i++) {
        t[EXP_TABLE[i]] = i;
      }
      _logTable = new ReadOnlyCollection.wrap(t);
    }
    return _logTable;
  }
}

Static Properties

final EXP_TABLE #

static get EXP_TABLE {
  if(_expTable == null) {
    var t = QrMath.getZeroedList(256);
    for (int i = 0; i < 8; i++) {
      t[i] = 1 << i;
    }
    for (int i = 8; i < 256; i++) {
      t[i] = t[i - 4] ^ t[i - 5] ^ t[i - 6] ^ t[i - 8];
    }
    _expTable = new ReadOnlyCollection.wrap(t);
  }
  return _expTable;
}

final LOG_TABLE #

static get LOG_TABLE {
  if(_logTable == null) {
    var t = QrMath.getZeroedList(256);
    // this was the code I had in pl
    // only to 255? seems really weird
    for (int i = 0; i < 255; i++) {
      t[EXP_TABLE[i]] = i;
    }
    _logTable = new ReadOnlyCollection.wrap(t);
  }
  return _logTable;
}

Static Methods

List<int> getZeroedList(int count) #

static List<int> getZeroedList(int count) {
  final l = new List<int>();
  l.insertRange(0, count, 0);
  return l;
}

glog(n) #

static glog(n) {

  if (n < 1) {
    throw 'glog($n)';
  }

  return LOG_TABLE[n];
}

gexp(n) #

static gexp(n) {

  while (n < 0) {
    n += 255;
  }

  while (n >= 256) {
    n -= 255;
  }

  return EXP_TABLE[n];
}

Properties

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

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);

Methods

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();

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);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();