in-place multiply functions