c3dm/tools/eval_functions.py [339:354]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	dtype = pts.data.type()
	ba, dim, N = pts.shape

	if pts2 is not None:
		edm  = torch.bmm(-2. * pts2.transpose(1,2), pts)
		fNorm1 = (pts*pts).sum(1,keepdim=True)
		fNorm2 = (pts2*pts2).sum(1,keepdim=True)
		edm += fNorm2.transpose(1,2)  # inplace saves memory
		edm += fNorm1
		# edm    = (fNorm2.transpose(1,2) + fGram) + fNorm1 
	else:
		fGram  = torch.bmm(2 * pts.transpose(1,2), pts)
		fNorm1 = (pts*pts).sum(1,keepdim=True)
		edm    = (fNorm1.transpose(1,2) - fGram) + fNorm1 
	
	return edm.contiguous()
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



c3dm/tools/functions.py [362:375]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	dtype = pts.data.type()
	ba, dim, N = pts.shape
	if pts2 is not None:
		edm  = torch.bmm(-2. * pts2.transpose(1,2), pts)
		fNorm1 = (pts*pts).sum(1,keepdim=True)
		fNorm2 = (pts2*pts2).sum(1,keepdim=True)
		edm += fNorm2.transpose(1,2)  # inplace saves memory
		edm += fNorm1
		# edm    = (fNorm2.transpose(1,2) + fGram) + fNorm1 
	else:
		fGram  = torch.bmm(2 * pts.transpose(1,2), pts)
		fNorm1 = (pts*pts).sum(1,keepdim=True)
		edm    = (fNorm1.transpose(1,2) - fGram) + fNorm1 
	return edm.contiguous()
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



