Nanomagnetic logic