staticlong m_pow(double[][] values) { double res = 0; long start = System.nanoTime(); for (int i = 0; i < values.length; i++) {
res += Math.pow(values[i][0], values[i][1]);
} long stop = System.nanoTime();
d = res; return (stop - start) / 1000;
}
staticlong m_exp(double[] values) { double res = 0; long start = System.nanoTime(); for (int i = 0; i < values.length; i++) {
res += Math.exp(values[i]);
} long stop = System.nanoTime();
d = res; return (stop - start) / 1000;
}
staticdouble[][] pow_values(int nb) { double[][] res = newdouble[nb][2]; for (int i = 0; i < nb; i++) { double ylogx = (1 + (R.nextDouble() * 2045)) - 1023; // 2045 rather than 2046 as a safety margin double x = Math.abs(Double.longBitsToDouble(R.nextLong())); while (x != x) {
x = Math.abs(Double.longBitsToDouble(R.nextLong()));
} double logx = Math.log(x) / Math.log(2); double y = ylogx / logx;
res[i][0] = x;
res[i][1] = y;
} return res;
}
staticdouble[] exp_values(int nb) { double[] res = newdouble[nb]; for (int i = 0; i < nb; i++) { double ylogx = (1 + (R.nextDouble() * 2045)) - 1023; // 2045 rather than 2046 as a safety margin double x = Math.E; double logx = Math.log(x) / Math.log(2); double y = ylogx / logx;
res[i] = y;
} return res;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.