int bchTypeNumber(int data) { var d = data << 12; while (_bchDigit(d) - _bchDigit(_g18) >= 0) { d ^= _g18 << (_bchDigit(d) - _bchDigit(_g18)); } return (data << 12) | d; }