Skip to content

Commit

Permalink
Fix FastRP propertyRatio dependancy for vector initialization (#9596)
Browse files Browse the repository at this point in the history
Fix FastRP initialization of property vector part.

New order of random initialization changes results. Choosing new seeds
to achieve target metrics.

Co-authored-by: Jacob Sznajdman <[email protected]>
  • Loading branch information
orazve and breakanalysis authored Sep 13, 2024
1 parent 17158cb commit c390320
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,13 @@ public void initDegreePartition() {

void initPropertyVectors() {
int propertyDimension = embeddingDimension - baseEmbeddingDimension;
float entryValue = (float) Math.sqrt(SPARSITY) / (float) Math.sqrt(propertyDimension);
float entryValue = (float) Math.sqrt(SPARSITY) / (float) Math.sqrt(embeddingDimension);
var random = new HighQualityRandom(randomSeed);
for (int i = 0; i < inputDimension; i++) {
this.propertyVectors[i] = new float[propertyDimension];
for (int d = 0; d < propertyDimension; d++) {
}
for (int d = 0; d < propertyDimension; d++) {
for (int i = 0; i < inputDimension; i++) {
this.propertyVectors[i][d] = computeRandomEntry(random, entryValue);
}
}
Expand All @@ -153,7 +155,7 @@ void initPropertyVectors() {
void initRandomVectors() {
progressTracker.beginSubTask();

var sqrtEmbeddingDimension = (float) Math.sqrt(baseEmbeddingDimension);
var sqrtEmbeddingDimension = (float) Math.sqrt(embeddingDimension);
List<Runnable> tasks = PartitionUtils.rangePartition(
concurrency,
graph.nodeCount(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,9 +314,9 @@ void shouldInitialisePropertyEmbeddingsCorrectly() {
fastRP.initPropertyVectors();

// these asserted values were copied from the algorithm output. testing for stability.
var expectedProp1 = new float[]{0.0f, -0.21650635f, 0.0f, -0.21650635f, 0.21650635f, -0.21650635f, 0.0f, 0.0f, -0.21650635f, 0.21650635f, 0.0f, 0.21650635f, 0.21650635f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, -0.21650635f, -0.21650635f, 0.0f, 0.0f, -0.21650635f, 0.0f, -0.21650635f, 0.21650635f, 0.0f, 0.21650635f, -0.21650635f, 0.0f, 0.0f, 0.21650635f, 0.0f, -0.21650635f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, 0.0f, 0.0f, 0.21650635f, -0.21650635f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, 0.0f, -0.21650635f, 0.0f, 0.21650635f, -0.21650635f, 0.0f, 0.0f, -0.21650635f, 0.0f};
var expectedProp2 = new float[]{0.21650635f, 0.0f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.0f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, 0.21650635f, 0.0f, 0.0f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.21650635f, -0.21650635f, -0.21650635f, 0.0f, 0.21650635f, -0.21650635f, 0.0f, 0.21650635f, 0.0f, 0.0f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, 0.21650635f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f};
var expectedProp3 = new float[]{0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.21650635f, 0.21650635f, 0.0f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21650635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.21650635f, 0.0f, 0.0f};
var expectedProp1 = new float[]{0.0f, -0.15309311f, 0.0f, 0.15309311f, 0.15309311f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.15309311f};
var expectedProp2 = new float[]{-0.15309311f, 0.15309311f, 0.0f, 0.0f, -0.15309311f, 0.0f, -0.15309311f, 0.0f, -0.15309311f, 0.15309311f, 0.0f, -0.15309311f, 0.0f, -0.15309311f, 0.15309311f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.15309311f, 0.0f, -0.15309311f, 0.0f, 0.0f, -0.15309311f, 0.15309311f, 0.15309311f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
var expectedProp3 = new float[]{0.0f, -0.15309311f, -0.15309311f, 0.15309311f, 0.0f, 0.0f, -0.15309311f, -0.15309311f, 0.15309311f, -0.15309311f, 0.15309311f, -0.15309311f, 0.0f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, -0.15309311f, -0.15309311f, -0.15309311f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.15309311f, -0.15309311f, 0.0f, -0.15309311f, -0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.0f, 0.15309311f, 0.0f, 0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.15309311f, 0.0f, -0.15309311f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};

assertArrayEquals(expectedProp1, fastRP.propertyVectors()[0]);
assertArrayEquals(expectedProp2, fastRP.propertyVectors()[1]);
Expand All @@ -327,9 +327,9 @@ void shouldInitialisePropertyEmbeddingsCorrectly() {
// these were obtained by computing a matrix product P * V where
// P is the propertyDimension x inputDimension matrix with expected propertyVectors as columns
// V is the inputDimension x nodeCount matrix of property values in the graph
var initialPropComponentOfNodeVector1 = new float[]{0.584567145f, -0.08660254f, -0.281458255f, -0.08660254f, 0.08660254f, -0.08660254f, 0.30310888999999996f, 0.584567145f, 0.21650634999999996f, 0.08660254f, 0.30310888999999996f, 0.368060795f, 0.08660254f, -0.08660254f, 0.0f, 0.0f, 0.281458255f, 0.0f, -0.368060795f, -0.08660254f, -0.08660254f, 0.0f, 0.0f, -0.08660254f, -0.281458255f, 0.19485571499999998f, 0.08660254f, 0.0f, -0.19485571499999998f, -0.08660254f, 0.0f, 0.0f, 0.368060795f, -0.281458255f, -0.368060795f, 0.21650634999999996f, 0.584567145f, -0.281458255f, 0.0f, 0.281458255f, -0.08660254f, 0.0f, -0.02165063499999997f, -0.21650634999999996f, -0.08660254f, 0.08660254f, 0.0f, 0.0f, 0.0f, 0.08660254f, 0.0f, 0.0f, 0.0f, 0.0f, -0.08660254f, -0.30310888999999996f, -0.08660254f, -0.281458255f, 0.368060795f, -0.368060795f, 0.0f, 0.30310888999999996f, -0.08660254f, 0.0f};
var initialPropComponentOfNodeVector2 = new float[]{0.497964605f, -0.454663335f, -0.108253175f, -0.454663335f, 0.454663335f, -0.454663335f, 0.38971142999999997f, 0.497964605f, -0.06495190500000002f, 0.454663335f, 0.38971142999999997f, 0.56291651f, 0.454663335f, -0.454663335f, 0.0f, 0.0f, 0.108253175f, 0.0f, -0.56291651f, -0.454663335f, -0.454663335f, 0.0f, 0.0f, -0.454663335f, -0.108253175f, -0.34641016f, 0.454663335f, 0.0f, 0.34641016f, -0.454663335f, 0.0f, 0.0f, 0.56291651f, -0.108253175f, -0.56291651f, -0.06495190500000002f, 0.497964605f, -0.108253175f, 0.0f, 0.108253175f, -0.454663335f, 0.0f, -0.281458255f, 0.06495190500000002f, -0.454663335f, 0.454663335f, 0.0f, 0.0f, 0.0f, 0.454663335f, 0.0f, 0.0f, 0.0f, 0.0f, -0.454663335f, -0.38971142999999997f, -0.454663335f, -0.108253175f, 0.56291651f, -0.56291651f, 0.0f, 0.38971142999999997f, -0.454663335f, 0.0f};
var initialPropComponentOfNodeVector3 = new float[]{0.7794228599999999f, 0.06495190499999999f, -0.17320508f, 0.06495190499999999f, -0.06495190499999999f, 0.06495190499999999f, 0.6062177799999999f, 0.7794228599999999f, 0.671169685f, -0.06495190499999999f, 0.6062177799999999f, 0.10825317500000001f, -0.06495190499999999f, 0.06495190499999999f, 0.0f, 0.0f, 0.17320508f, 0.0f, -0.10825317500000001f, 0.06495190499999999f, 0.06495190499999999f, 0.0f, 0.0f, 0.06495190499999999f, -0.17320508f, 0.238156985f, -0.06495190499999999f, 0.0f, -0.238156985f, 0.06495190499999999f, 0.0f, 0.0f, 0.10825317500000001f, -0.17320508f, -0.10825317500000001f, 0.671169685f, 0.7794228599999999f, -0.17320508f, 0.0f, 0.17320508f, 0.06495190499999999f, 0.0f, -0.4330126999999999f, -0.671169685f, 0.06495190499999999f, -0.06495190499999999f, 0.0f, 0.0f, 0.0f, -0.06495190499999999f, 0.0f, 0.0f, 0.0f, 0.0f, 0.06495190499999999f, -0.6062177799999999f, 0.06495190499999999f, -0.17320508f, 0.10825317500000001f, -0.10825317500000001f, 0.0f, 0.6062177799999999f, 0.06495190499999999f, 0.0f};
var initialPropComponentOfNodeVector1 = new float[]{-0.19902104f, -0.076546565f, -0.21433036f, 0.2755676f, -0.1377838f, 0.0f, -0.47458863f, -0.21433036f, 0.015309319f, -0.015309319f, 0.21433036f, -0.41335142f, 0.0f, -0.19902104f, -0.015309319f, 0.061237246f, 0.19902104f, 0.0f, -0.2755676f, -0.015309319f, -0.21433036f, 0.19902104f, -0.061237246f, 0.21433036f, 0.0f, 0.061237246f, 0.21433036f, -0.19902104f, 0.0f, 0.015309319f, -0.21433036f, 0.0f, -0.35211414f, -0.015309319f, 0.19902104f, 0.19902104f, 0.0f, 0.0f, 0.0f, 0.0f, 0.015309319f, -0.061237246f, 0.21433036f, 0.0f, 0.21433036f, 0.2602583f, 0.061237246f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.41335142f, 0.0f, -0.21433036f, -0.061237246f, 0.0f, 0.0f, 0.0f, -0.061237246f, 0.0f, 0.061237246f};
var initialPropComponentOfNodeVector2 = new float[]{-0.07654656f, -0.5205166f, -0.2755676f, 0.5970631f, 0.24494898f, 0.0f, -0.6736097f, -0.2755676f, 0.19902104f, -0.19902104f, 0.2755676f, -0.35211414f, 0.0f, -0.07654656f, -0.19902104f, 0.32149553f, 0.07654656f, 0.0f, -0.5970631f, -0.19902104f, -0.2755676f, 0.07654656f, -0.32149553f, 0.2755676f, 0.0f, 0.32149553f, 0.2755676f, -0.07654656f, 0.0f, 0.19902104f, -0.2755676f, 0.0f, -0.030618608f, -0.19902104f, 0.07654656f, 0.07654656f, 0.0f, 0.0f, 0.0f, 0.0f, 0.19902104f, -0.32149553f, 0.2755676f, 0.0f, 0.2755676f, 0.39804208f, 0.32149553f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.35211414f, 0.0f, -0.2755676f, -0.32149553f, 0.0f, 0.0f, 0.0f, -0.32149553f, 0.0f, 0.32149553f};
var initialPropComponentOfNodeVector3 = new float[]{-0.12247449f, -0.2602583f, -0.42866072f, 0.38273278f, -0.16840243f, 0.0f, -0.5052073f, -0.42866072f, 0.30618623f, -0.30618623f, 0.42866072f, -0.5511352f, 0.0f, -0.12247449f, -0.30618623f, -0.045927934f, 0.12247449f, 0.0f, -0.38273278f, -0.30618623f, -0.42866072f, 0.12247449f, 0.045927934f, 0.42866072f, 0.0f, -0.045927934f, 0.42866072f, -0.12247449f, 0.0f, 0.30618623f, -0.42866072f, 0.0f, -0.5970632f, -0.30618623f, 0.12247449f, 0.12247449f, 0.0f, 0.0f, 0.0f, 0.0f, 0.30618623f, 0.045927934f, 0.42866072f, 0.0f, 0.42866072f, 0.07654656f, -0.045927934f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5511352f, 0.0f, -0.42866072f, 0.045927934f, 0.0f, 0.0f, 0.0f, 0.045927934f, 0.0f, -0.045927934f};

assertThat(initialPropComponentOfNodeVector1)
.contains(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,13 +168,13 @@ void shouldProduceEmbeddingsWithSpecificValues(SoftAssertions softly) {
"MATCH (n) WHERE n:Node OR n:Node2 RETURN gds.util.nodeProperty('%s', id(n), 'embedding') as embedding, n.name as node",
"g2labels"
);
var expectedEmbeddings = Map.of(
var expectedEmbeddings = Map.of(
"a",
new float[]{-0.07246187f, -0.20042537f, -0.07246187f, 0.0f, -0.1279635f, 0.07246187f, 0.055501625f, -0.016960248f, -0.07246187f, 0.0f, 0.14492375f, 0.1279635f, 0.07246187f, 0.0f, 0.0f, 0.0f, 0.07246187f, 0.0f, 0.0f, -0.1279635f, 0.07246187f, -0.07246187f, 0.0f, 0.07246187f, -0.1279635f, 0.0f, 0.20042537f, 0.14492375f, 0.0f, -0.1279635f, -0.1279635f, 0.20042537f, 0.0f, 0.055501625f, -0.07246187f, 0.0f, -0.07246187f, -0.055501625f, 0.07246187f, 0.0f, -0.055501625f, 0.1279635f, 0.07246187f, 0.055501625f, 0.07246187f, 0.0f, 0.07246187f, -0.07246187f, 0.1279635f, -0.07246187f, -0.07246187f, 0.0f, -0.07246187f, 0.0f, -0.055501625f, 0.27288723f, 0.1279635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.07246187f, 0.0f, 0.20258348f, -0.20335533f, -0.20258348f, -0.20335533f, 0.20335533f, -0.20335533f, 0.0f, 0.20258348f, -0.20335533f, 0.20335533f, 0.0f, 0.4059388f, 0.20335533f, -0.20335533f, 0.0f, 0.0f, 0.20258348f, 0.0f, -0.4059388f, -0.20335533f, -0.20335533f, 0.0f, 0.0f, -0.20335533f, -0.20258348f, -7.7185035E-4f, 0.20335533f, 0.0f, 7.7185035E-4f, -0.20335533f, 0.0f, 0.0f, 0.4059388f, -0.20258348f, -0.4059388f, -0.20335533f, 0.20258348f, -0.20258348f, 0.0f, 0.20258348f, -0.20335533f, 0.0f, 0.20258348f, 0.20335533f, -0.20335533f, 0.20335533f, 0.0f, 0.0f, 0.0f, 0.20335533f, 0.0f, 0.0f, 0.0f, 0.0f, -0.20335533f, 0.0f, -0.20335533f, -0.20258348f, 0.4059388f, -0.4059388f, 0.0f, 0.0f, -0.20335533f, 0.0f},
new float[]{-0.08203061f, -0.21722749f, -0.08203061f, 0.0f, -0.13519688f, 0.08203061f, 0.05316627f, -0.028864339f, -0.08203061f, 0.0f, 0.16406122f, 0.13519688f, 0.08203061f, 0.0f, 0.0f, 0.0f, 0.08203061f, 0.0f, 0.0f, -0.13519688f, 0.08203061f, -0.08203061f, 0.0f, 0.08203061f, -0.13519688f, 0.0f, 0.21722749f, 0.16406122f, 0.0f, -0.13519688f, -0.13519688f, 0.21722749f, 0.0f, 0.05316627f, -0.08203061f, 0.0f, -0.08203061f, -0.05316627f, 0.08203061f, 0.0f, -0.05316627f, 0.13519688f, 0.08203061f, 0.05316627f, 0.08203061f, 0.0f, 0.08203061f, -0.08203061f, 0.13519688f, -0.08203061f, -0.08203061f, 0.0f, -0.08203061f, 0.0f, -0.05316627f, 0.2992581f, 0.13519688f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.08203061f, 0.0f, -0.21677125f, -0.21677125f, 0.009571791f, 0.0f, -0.009571791f, 0.21677125f, 0.009571791f, 0.0f, 0.0f, -0.44311428f, -0.22634304f, -0.21677125f, -0.21677125f, 0.22634304f, 0.009571791f, 0.0f, 0.22634304f, -0.44311428f, 0.0f, 0.0f, -0.22634304f, 0.21677125f, -0.009571791f, 0.0f, 0.21677125f, 0.0f, 0.0f, -0.22634304f, -0.22634304f, 0.009571791f, 0.0f, -0.22634304f, 0.22634304f, -0.22634304f, 0.0f, 0.21677125f, 0.0f, 0.21677125f, 0.0f, 0.0f, 0.22634304f, -0.22634304f, 0.0f, 0.0f, -0.009571791f, 0.0f, -0.22634304f, 0.0f, 0.009571791f, -0.22634304f, 0.009571791f, 0.21677125f, 0.0f, 0.22634304f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21677125f, 0.009571791f, 0.0f, 0.0f},
"b",
new float[]{-0.07246187f, -0.20042537f, -0.07246187f, 0.0f, -0.1279635f, 0.07246187f, 0.055501625f, -0.016960248f, -0.07246187f, 0.0f, 0.14492375f, 0.1279635f, 0.07246187f, 0.0f, 0.0f, 0.0f, 0.07246187f, 0.0f, 0.0f, -0.1279635f, 0.07246187f, -0.07246187f, 0.0f, 0.07246187f, -0.1279635f, 0.0f, 0.20042537f, 0.14492375f, 0.0f, -0.1279635f, -0.1279635f, 0.20042537f, 0.0f, 0.055501625f, -0.07246187f, 0.0f, -0.07246187f, -0.055501625f, 0.07246187f, 0.0f, -0.055501625f, 0.1279635f, 0.07246187f, 0.055501625f, 0.07246187f, 0.0f, 0.07246187f, -0.07246187f, 0.1279635f, -0.07246187f, -0.07246187f, 0.0f, -0.07246187f, 0.0f, -0.055501625f, 0.27288723f, 0.1279635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.07246187f, 0.0f, 0.20258348f, -0.20335533f, -0.20258348f, -0.20335533f, 0.20335533f, -0.20335533f, 0.0f, 0.20258348f, -0.20335533f, 0.20335533f, 0.0f, 0.4059388f, 0.20335533f, -0.20335533f, 0.0f, 0.0f, 0.20258348f, 0.0f, -0.4059388f, -0.20335533f, -0.20335533f, 0.0f, 0.0f, -0.20335533f, -0.20258348f, -7.7185035E-4f, 0.20335533f, 0.0f, 7.7185035E-4f, -0.20335533f, 0.0f, 0.0f, 0.4059388f, -0.20258348f, -0.4059388f, -0.20335533f, 0.20258348f, -0.20258348f, 0.0f, 0.20258348f, -0.20335533f, 0.0f, 0.20258348f, 0.20335533f, -0.20335533f, 0.20335533f, 0.0f, 0.0f, 0.0f, 0.20335533f, 0.0f, 0.0f, 0.0f, 0.0f, -0.20335533f, 0.0f, -0.20335533f, -0.20258348f, 0.4059388f, -0.4059388f, 0.0f, 0.0f, -0.20335533f, 0.0f},
new float[]{-0.08203061f, -0.21722749f, -0.08203061f, 0.0f, -0.13519688f, 0.08203061f, 0.05316627f, -0.028864339f, -0.08203061f, 0.0f, 0.16406122f, 0.13519688f, 0.08203061f, 0.0f, 0.0f, 0.0f, 0.08203061f, 0.0f, 0.0f, -0.13519688f, 0.08203061f, -0.08203061f, 0.0f, 0.08203061f, -0.13519688f, 0.0f, 0.21722749f, 0.16406122f, 0.0f, -0.13519688f, -0.13519688f, 0.21722749f, 0.0f, 0.05316627f, -0.08203061f, 0.0f, -0.08203061f, -0.05316627f, 0.08203061f, 0.0f, -0.05316627f, 0.13519688f, 0.08203061f, 0.05316627f, 0.08203061f, 0.0f, 0.08203061f, -0.08203061f, 0.13519688f, -0.08203061f, -0.08203061f, 0.0f, -0.08203061f, 0.0f, -0.05316627f, 0.2992581f, 0.13519688f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.08203061f, 0.0f, -0.21677125f, -0.21677125f, 0.009571791f, 0.0f, -0.009571791f, 0.21677125f, 0.009571791f, 0.0f, 0.0f, -0.44311428f, -0.22634304f, -0.21677125f, -0.21677125f, 0.22634304f, 0.009571791f, 0.0f, 0.22634304f, -0.44311428f, 0.0f, 0.0f, -0.22634304f, 0.21677125f, -0.009571791f, 0.0f, 0.21677125f, 0.0f, 0.0f, -0.22634304f, -0.22634304f, 0.009571791f, 0.0f, -0.22634304f, 0.22634304f, -0.22634304f, 0.0f, 0.21677125f, 0.0f, 0.21677125f, 0.0f, 0.0f, 0.22634304f, -0.22634304f, 0.0f, 0.0f, -0.009571791f, 0.0f, -0.22634304f, 0.0f, 0.009571791f, -0.22634304f, 0.009571791f, 0.21677125f, 0.0f, 0.22634304f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21677125f, 0.009571791f, 0.0f, 0.0f},
"e",
new float[]{-0.07246187f, -0.20042537f, -0.07246187f, 0.0f, -0.1279635f, 0.07246187f, 0.055501625f, -0.016960248f, -0.07246187f, 0.0f, 0.14492375f, 0.1279635f, 0.07246187f, 0.0f, 0.0f, 0.0f, 0.07246187f, 0.0f, 0.0f, -0.1279635f, 0.07246187f, -0.07246187f, 0.0f, 0.07246187f, -0.1279635f, 0.0f, 0.20042537f, 0.14492375f, 0.0f, -0.1279635f, -0.1279635f, 0.20042537f, 0.0f, 0.055501625f, -0.07246187f, 0.0f, -0.07246187f, -0.055501625f, 0.07246187f, 0.0f, -0.055501625f, 0.1279635f, 0.07246187f, 0.055501625f, 0.07246187f, 0.0f, 0.07246187f, -0.07246187f, 0.1279635f, -0.07246187f, -0.07246187f, 0.0f, -0.07246187f, 0.0f, -0.055501625f, 0.27288723f, 0.1279635f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.07246187f, 0.0f, 0.20258348f, -0.20335533f, -0.20258348f, -0.20335533f, 0.20335533f, -0.20335533f, 0.0f, 0.20258348f, -0.20335533f, 0.20335533f, 0.0f, 0.4059388f, 0.20335533f, -0.20335533f, 0.0f, 0.0f, 0.20258348f, 0.0f, -0.4059388f, -0.20335533f, -0.20335533f, 0.0f, 0.0f, -0.20335533f, -0.20258348f, -7.7185035E-4f, 0.20335533f, 0.0f, 7.7185035E-4f, -0.20335533f, 0.0f, 0.0f, 0.4059388f, -0.20258348f, -0.4059388f, -0.20335533f, 0.20258348f, -0.20258348f, 0.0f, 0.20258348f, -0.20335533f, 0.0f, 0.20258348f, 0.20335533f, -0.20335533f, 0.20335533f, 0.0f, 0.0f, 0.0f, 0.20335533f, 0.0f, 0.0f, 0.0f, 0.0f, -0.20335533f, 0.0f, -0.20335533f, -0.20258348f, 0.4059388f, -0.4059388f, 0.0f, 0.0f, -0.20335533f, 0.0f}
new float[]{-0.08203061f, -0.21722749f, -0.08203061f, 0.0f, -0.13519688f, 0.08203061f, 0.05316627f, -0.028864339f, -0.08203061f, 0.0f, 0.16406122f, 0.13519688f, 0.08203061f, 0.0f, 0.0f, 0.0f, 0.08203061f, 0.0f, 0.0f, -0.13519688f, 0.08203061f, -0.08203061f, 0.0f, 0.08203061f, -0.13519688f, 0.0f, 0.21722749f, 0.16406122f, 0.0f, -0.13519688f, -0.13519688f, 0.21722749f, 0.0f, 0.05316627f, -0.08203061f, 0.0f, -0.08203061f, -0.05316627f, 0.08203061f, 0.0f, -0.05316627f, 0.13519688f, 0.08203061f, 0.05316627f, 0.08203061f, 0.0f, 0.08203061f, -0.08203061f, 0.13519688f, -0.08203061f, -0.08203061f, 0.0f, -0.08203061f, 0.0f, -0.05316627f, 0.2992581f, 0.13519688f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.08203061f, 0.0f, -0.21677125f, -0.21677125f, 0.009571791f, 0.0f, -0.009571791f, 0.21677125f, 0.009571791f, 0.0f, 0.0f, -0.44311428f, -0.22634304f, -0.21677125f, -0.21677125f, 0.22634304f, 0.009571791f, 0.0f, 0.22634304f, -0.44311428f, 0.0f, 0.0f, -0.22634304f, 0.21677125f, -0.009571791f, 0.0f, 0.21677125f, 0.0f, 0.0f, -0.22634304f, -0.22634304f, 0.009571791f, 0.0f, -0.22634304f, 0.22634304f, -0.22634304f, 0.0f, 0.21677125f, 0.0f, 0.21677125f, 0.0f, 0.0f, 0.22634304f, -0.22634304f, 0.0f, 0.0f, -0.009571791f, 0.0f, -0.22634304f, 0.0f, 0.009571791f, -0.22634304f, 0.009571791f, 0.21677125f, 0.0f, 0.22634304f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.21677125f, 0.009571791f, 0.0f, 0.0f}
);

runQueryWithRowConsumer(expectedResultQuery, row -> {
Expand Down

0 comments on commit c390320

Please sign in to comment.