/* * DeltaEncoder * * Author: Lasse Collin <lasse.collin@tukaani.org> * * This file has been put into the public domain. * You can do whatever you want with this file. */ package org.tukaani.xz.delta; public class DeltaEncoder extends DeltaCoder { public DeltaEncoder(int distance) { super(distance); } public void encode(byte[] in, int in_off, int len, byte[] out) { for (int i = 0; i < len; ++i) { byte tmp = history[(distance + pos) & DISTANCE_MASK]; history[pos-- & DISTANCE_MASK] = in[in_off + i]; out[i] = (byte)(in[in_off + i] - tmp); } } }