Digital architectures implementing piecewise-affine functions: an overview