implement all except the multiply ops of long