Fast algorithms for the discrete Hartley transform