<commit_before>package i2cm

import (
	"errors"
)

type Transactor8x8 interface {
	Transact8x8(addr Addr, regaddr uint8, w []byte, r []byte) (nw, nr int, err error)
}

type transactor8x8 struct {
	m I2CMaster
}

func NewTransact8x8(m I2CMaster) Transactor8x8 {
	if t, ok := m.(Transactor8x8); ok {
		return t
	}
	return transactor8x8{m}<commit_msg>add consolidating Tranasctor<commit_after>package i2cm

import (
	"errors"
)

// Transactor encompasses all implemented I2C bus transaction
// types.
type Transactor interface {
	Transactor8x8
}

type transactor struct {
	Transactor8x8
}

// NewTransactor returns all implemented I2C transactors
// based on the argument I2CMaster. This is a convenience
// function which consolidates the results of the 
// NewTransact*x* family of functions.
func NewTransactor(m I2CMaster) Transactor {
	var t transactor
	t.Transactor8x8 = NewTransact8x8(m)

	return &t
}

type Transactor8x8 interface {
	Transact8x8(addr Addr, regaddr uint8, w []byte, r []byte) (nw, nr int, err error)
}

type transactor8x8 struct {
	m I2CMaster
}

func NewTransact8x8(m I2CMaster) Transactor8x8 {
	if t, ok := m.(Transactor8x8); ok {
		return t
	}
	return transactor8x8{m}
{'fraction_non_alphanumeric': 0.08892617449664429, 'fraction_numerical': 0.040268456375838924, 'mean_word_length': 4.5488372093023255, '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': '6764190', 'n_tokens_mistral': 451, 'n_tokens_neox': 441, 'n_words': 130}