In the forward function of the class PositionalEmbedding,there is
x = x.ger(freqs.to(x.dtype))
However, if x.dtype is int64, freqs.to(int64) will lose some values.
For example, in line 528 of diffusion/diffusionsde.py , the class DiscreteDiffusionSDE's sample method, t.dtype is torch.long.
t = torch.full((n_samples,), sample_step_schedule[i], dtype=torch.long, device=self.device)
Maybe my understanding is not correct, would you please to show where to handle this case? Thank you!