From 62b2ac161827d82e3d427dd9ece3c25fb16d70a5 Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Mon, 30 Nov 2015 13:50:34 +0100
Subject: [PATCH] performance fix in Covcor

---
 .../src/com/oracle/truffle/r/library/stats/Covcor.java      | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Covcor.java b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Covcor.java
index c53c52b4cf..845819db44 100644
--- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Covcor.java
+++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/Covcor.java
@@ -472,10 +472,10 @@ public final class Covcor extends RExternalBuiltinNode {
                             } else {
                                 sum = 0.0;
                                 loopLength.profileLength(n);
-                                double[] u = Arrays.copyOfRange(xData, i * n, i * n + n);
-                                double[] v = Arrays.copyOfRange(xData, j * n, j * n + n);
                                 for (int k = 0; loopLength.inject(k < n); k++) {
-                                    temp[k] = (u[k] - xxm) * (v[k] - yym);
+                                    double u = xData[i * n + k];
+                                    double v = xData[j * n + k];
+                                    temp[k] = (u - xxm) * (v - yym);
                                 }
                                 for (int k = 0; loopLength.inject(k < n); k++) {
                                     sum += temp[k];
-- 
GitLab