Changes In Branch bpe Excluding Merge-Ins
This is equivalent to a diff from 129d90b4a8 to 4fe28f11ac
2014-12-28
| ||
17:19 | Integrate ioutil.ReadByte from the bpe branch into trunk. check-in: 00c4e0e448 user: spaskalev tags: trunk | |
17:16 | Closing the branch, this particular implementation is unfruitfull :) Closed-Leaf check-in: 4fe28f11ac user: spaskalev tags: bpe | |
15:54 | a testable bpe implementation that encodes and decodes in a single execution check-in: a06f897887 user: spaskalev tags: bpe | |
11:33 | Adding initial pieces of a prototype byte pair encoder check-in: 7f9a25c94d user: spaskalev tags: bpe | |
2014-12-26
| ||
21:35 | Added 0dev.org/types, providing aliases that implement sort.Interface for [u]int{8|16|32|64} check-in: 129d90b4a8 user: spaskalev tags: trunk | |
16:02 | Initial implementation of commands/mtf (based on commands/pdc) check-in: e72b637df4 user: spaskalev tags: trunk | |
Added src/0dev.org/commands/short/main.go version [0cc7fcc383].
Modified src/0dev.org/ioutil/ioutil.go
from [c11fdb5a53]
to [83fc64874b].
︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // An function alias type that implements io.Reader. type ReaderFunc func([]byte) (int, error) // Delegates the call to the WriterFunc while implementing io.Reader. func (r ReaderFunc) Read(b []byte) (int, error) { return r(b) } // Returns a writer that delegates calls to Write(...) while ensuring // that it is never called with less bytes than the specified amount. // // Calls with fewer bytes are buffered while a call with a nil slice // causes the buffer to be flushed to the underlying writer. func SizedWriter(writer io.Writer, size int) io.Writer { | > > > > > > > > > > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // An function alias type that implements io.Reader. type ReaderFunc func([]byte) (int, error) // Delegates the call to the WriterFunc while implementing io.Reader. func (r ReaderFunc) Read(b []byte) (int, error) { return r(b) } // Reads a single byte from the provided io.Reader func ReadByte(reader io.Reader) (byte, error) { var ( arr [1]byte err error ) _, err = reader.Read(arr[:]) return arr[0], err } // Returns a writer that delegates calls to Write(...) while ensuring // that it is never called with less bytes than the specified amount. // // Calls with fewer bytes are buffered while a call with a nil slice // causes the buffer to be flushed to the underlying writer. func SizedWriter(writer io.Writer, size int) io.Writer { |
︙ | ︙ |
Modified src/0dev.org/ioutil/ioutil_test.go
from [91aaac4713]
to [514a112f00].
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // Diff the result against the initial input delta := diff.Diff(diff.D{len(input), len(output), func(i, j int) bool { return input[i] == output[j] }}) if len(delta.Added) > 0 || len(delta.Removed) > 0 { t.Error("Differences detected ", delta) } } func TestSizedWriter(t *testing.T) { var ( buffer bytes.Buffer writer io.Writer = SizedWriter(&buffer, 4) ) | > > > > > > > > > > > > > > > > > > > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | // Diff the result against the initial input delta := diff.Diff(diff.D{len(input), len(output), func(i, j int) bool { return input[i] == output[j] }}) if len(delta.Added) > 0 || len(delta.Removed) > 0 { t.Error("Differences detected ", delta) } } func TestReadByte(t *testing.T) { var ( input []byte = []byte{255} reader *bytes.Reader = bytes.NewReader(input) ) result, err := ReadByte(reader) if result != input[0] { t.Error("Unexpected read result from ReadByte", result) } if err != nil { t.Error("Unexpected error from ReadByte", err) } result, err = ReadByte(reader) if err != io.EOF { t.Error("Unexpected nil error from ReadByte, read value:", result) } } func TestSizedWriter(t *testing.T) { var ( buffer bytes.Buffer writer io.Writer = SizedWriter(&buffer, 4) ) |
︙ | ︙ |