Application of fast-Fourier-transform techniques to the discrete-dipole approximation.