Lattice-based integration algorithms: Kronecker sequences and rank-1 lattices