Free cookie consent management tool by TermsFeed Policy Generator

# Changeset 14788

Ignore:
Timestamp:
03/27/17 17:27:03 (6 years ago)
Message:

#2700: refactoring

Location:
branches/TSNE/HeuristicLab.Algorithms.DataAnalysis/3.4
Files:
4 edited

Unmodified
Removed
• ## branches/TSNE/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/TSNEInterfaces/ISpacePartitioningTree.cs

 r14785 void GetAllIndices(int[] indices); int GetAllIndices(int[] indices, int loc); void ComputeNonEdgeForces(int pointIndex, double theta, double[] negF, double[] sumQ); void ComputeNonEdgeForces(int pointIndex, double theta, double[] negF, ref double sumQ); void ComputeEdgeForces(int[] rowP, int[] colP, double[] valP, int n, double[,] posF);
• ## branches/TSNE/HeuristicLab.Algorithms.DataAnalysis/3.4/TSNE/SpacePartitioningTree.cs

 r14787 } public void ComputeNonEdgeForces(int pointIndex, double theta, double[] negF, double[] sumQ) { public void ComputeNonEdgeForces(int pointIndex, double theta, double[] negF, ref double sumQ) { // Make sure that we spend no time on empty nodes or self-interactions if (cumulativeSize == 0 || (isLeaf && size == 1 && index[0] == pointIndex)) return; D = 1.0 / (1.0 + D); var mult = cumulativeSize * D; sumQ[0] += mult; sumQ += mult; mult *= D; for (var d = 0; d < dimension; d++) negF[d] += mult * buff[d]; // Recursively apply Barnes-Hut to children for (var i = 0; i < noChildren; i++) children[i].ComputeNonEdgeForces(pointIndex, theta, negF, sumQ); for (var i = 0; i < noChildren; i++) children[i].ComputeNonEdgeForces(pointIndex, theta, negF, ref sumQ); } }