<commit_before>package amaze;

abstract Cell(Side) from Side to Int {
  public var right(get, set) : Bool;
  public var top(get, set) : Bool;
  public var bottom(get, set) : Bool;
  public var left(get, set) : Bool;

  inline public function new(value : Int)
    this = value;

  inline function get_right() : Bool
    return 0 != (this & Side.right);

  inline function get_top() : Bool
    return 0 != (this & Side.top);

  inline function get_bottom() : Bool
    return 0 != (this & Side.bottom);

  inline function get_left() : Bool
    return 0 != (this & Side.left);


  inline function set_right(v) : Bool {
    this = v ? this | Side.right : this ^ Side.right;
    return v;
  }
  inline function set_top(v) : Bool {
    this = v ? this | Side.top : this ^ Side.top;
    return v;
  }
  inline function set_bottom(v) : Bool {
    this = v ? this | Side.bottom : this ^ Side.bottom;
    return v;
  }
  inline function set_left(v) : Bool {
    this = v ? this | Side.left : this ^ Side.left;
    return v;
  }

  @:op(A|=B) inline function bitwiseOrAssign(other : Side) : Cell
    return this |= other;
}

@:enum
abstract Side(Int) from Int to Int {
  var top = 1;
  var right = 2;
  var bottom = 4;
  var left = 8;
}<commit_msg>changed Cell signature<commit_after>package amaze;

abstract Cell(Int) from Int to Int {
  public var right(get, set) : Bool;
  public var top(get, set) : Bool;
  public var bottom(get, set) : Bool;
  public var left(get, set) : Bool;

  inline public function new(value : Int)
    this = value;

  inline function get_right() : Bool
    return 0 != (this & Side.right);

  inline function get_top() : Bool
    return 0 != (this & Side.top);

  inline function get_bottom() : Bool
    return 0 != (this & Side.bottom);

  inline function get_left() : Bool
    return 0 != (this & Side.left);


  inline function set_right(v) : Bool {
    this = v ? this | Side.right : this ^ Side.right;
    return v;
  }
  inline function set_top(v) : Bool {
    this = v ? this | Side.top : this ^ Side.top;
    return v;
  }
  inline function set_bottom(v) : Bool {
    this = v ? this | Side.bottom : this ^ Side.bottom;
    return v;
  }
  inline function set_left(v) : Bool {
    this = v ? this | Side.left : this ^ Side.left;
    return v;
  }

  @:op(A|=B) inline function bitwiseOrAssign(other : Int) : Cell
    return this |= other;
}

@:enum
abstract Side(Int) from Int to Int {
  var top = 1;
  var right = 2;
  var bottom = 4;
  var left = 8;
}
{'fraction_non_alphanumeric': 0.12590799031476999, 'fraction_numerical': 0.00645682001614205, 'mean_word_length': 2.796324655436447, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1308891', 'n_tokens_mistral': 893, 'n_tokens_neox': 831, 'n_words': 288}