anchor.diff:  /// columns than rows.
   int computeLatitudePrecision(int codeLength) {
     if (codeLength <= 10) {
  -    return pow(20, (codeLength ~/ -2) + 2);
  -  }
  -  return pow(20, -3) ~/ pow(gridRows, codeLength - 10);
  +    return pow(encodingBase, (codeLength ~/ -2) + 2);
  +  }
  +  return pow(encodingBase, -3) ~/ pow(gridRows, codeLength - 10);
   }
   
   /// Normalize a [longitude] into the range -180 to 180, not including 180.
  
positive.code:   // Compute the number of digits we need to recover.
    var paddingLength = separatorPosition - shortCode.indexOf(separator);
    // The resolution (height and width) of the padded area in degrees.
    var resolution = pow(20, 2 - (paddingLength / 2));
    // Distance from the center to an edge (in degrees).
    var areaToEdge = resolution / 2.0;
  
    // Use the reference location to pad the supplied short code and decode it.
    var codeArea = decode(
  
negative.code:   if (degreesDifference > areaToEdge) {
      centerLongitude -= resolution;
    } else if (degreesDifference < -areaToEdge) {
      centerLongitude += resolution;
    }
  
    // How many degrees longitude is the code from the reference?
    if (referenceLongitude + halfResolution < centerLongitude) {
      centerLongitude -= resolution;
    } else if (referenceLongitude - halfResolution > centerLongitude) {
      centerLongitude += resolution;
    }
  
  