Author: Armin Rigo <ar...@tunes.org> Branch: py3.5 Changeset: r87093:df95ced30bec Date: 2016-09-13 20:00 +0200 http://bitbucket.org/pypy/pypy/changeset/df95ced30bec/
Log: audioop.byteswap() diff --git a/lib_pypy/audioop.py b/lib_pypy/audioop.py --- a/lib_pypy/audioop.py +++ b/lib_pypy/audioop.py @@ -578,3 +578,18 @@ lib.adcpm2lin(rv, cp, len(cp), size, state_ptr) return ffi.buffer(rv)[:], tuple(state_ptr) + +def byteswap(cp, size): + if len(cp) % size != 0: + raise error("not a whole number of frames") + sample_count = _sample_count(cp, size) + rv = ffi.new("unsigned char[]", len(cp)) + base = size + next_bump = 0 + bump = 2 * size + for i in range(len(cp)): + base -= 1 + rv[i] = cp[base] + if base == next_bump: + base += bump + return ffi.buffer(rv)[:] _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit