summaryrefslogtreecommitdiff
path: root/dev-java/colt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-java/colt
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-java/colt')
-rw-r--r--dev-java/colt/Manifest7
-rw-r--r--dev-java/colt/colt-1.2.0-r3.ebuild45
-rw-r--r--dev-java/colt/files/colt-1.2.0-benchmark-no-deprecation.patch31
-rw-r--r--dev-java/colt/files/colt-1.2.0-remove-concurrent-util-imports.patch210
-rw-r--r--dev-java/colt/metadata.xml8
5 files changed, 301 insertions, 0 deletions
diff --git a/dev-java/colt/Manifest b/dev-java/colt/Manifest
new file mode 100644
index 000000000000..4f234ceb8a90
--- /dev/null
+++ b/dev-java/colt/Manifest
@@ -0,0 +1,7 @@
+AUX colt-1.2.0-benchmark-no-deprecation.patch 1180 SHA256 822fafff87add40e1d8f29636505713994f23fb30ec20962c3f70ca87b487254 SHA512 523a887bc104062a22ecb4e4350c1c8a4a0be642490b98770943b20e6e8e747d95657d10d042198516b2fd830feb0987ff3473b8ab83278ad3db57d29e9239c7 WHIRLPOOL 4f89d19479c67d85449d052b6cb67edeb6a63f4568ade4685cb1ae3a38810c1c34c4bc08e56f9a346ebeff92576db449061daf16801476aa3d965fb4c87d6e12
+AUX colt-1.2.0-remove-concurrent-util-imports.patch 6924 SHA256 1fb42935dfcbde3383ee73076f86d70a9e639de7e01dca5bf0f83afe8323b23e SHA512 86b568d66b342ede74dc3207268675c8f91b6b3dcc622486d649ba6a0a283de8b20a46f4ac16da8d90d89b4af603b1c8378b990866123e8e4b8b4e3733be4a36 WHIRLPOOL 14c39f22d2199835889c0c4607f9a089b10db01870f7c93c44551c62045eeb08ba6b51f3d59f97867e69ceea642fbc781b3f05e298f6003dc04d8d08ceab7dae
+DIST colt-1.2.0.tar.gz 2545695 SHA256 da26942314a4ab7ab6dc449460970b4ada464b6594f69cba1b88268effbdddbb SHA512 a5e88e0cf671faeb336241d120daeb1ad90f1e2061827d06c0c2dc507cd3ae2ab45f2b80451aaedca0f5a8b3de66c13533178e3b6352ed8b2df886d25a924ce0 WHIRLPOOL 666b49fe22cd40ca3967523a85d1e6b43a7bbbec9f76b197f633e258e2d148b0743308e09f65fc8aad113020477002512f4224d7b412447f0685f2c44f410aad
+EBUILD colt-1.2.0-r3.ebuild 1065 SHA256 896602c12bdc08685b0a2efd397d99008d63d0163120cdd16b0967e3e601ef1e SHA512 aaf5bf0dbb8193ba0b435218d2d23d8cedecfe5812ae65a374525730a2ec36436cd9511bab80e2d77920768231f68bad19cf0159efafb6d72601989c78af016c WHIRLPOOL 67837aafbf7ce9f86109c5e525fbda233468f00e3067adf93f46106c2ddb1d87bb8d3fd606cf32bda0b56c1530168d38d63d78e211dcc1c502103d151e340b00
+MISC ChangeLog 4620 SHA256 7d7ade8cf1e74740490097deb560f9a42780acf535ae6b6b77d6de1fe4a67994 SHA512 5eb045b284e27b786a287b4b782d7aa9c2bc7db1b3653702498928e62cafda0486554f4d62affd38ce5dbc2818bf62a69e1e8a628483d78dae917dd25115c939 WHIRLPOOL 82fde6d64adff29c0ef4adfc358c230d1a59f8b05879d6c95cdcdc78fe8b256be59adf6be9381b12b8b025869e2ef43300a394b74d9a3e1dedb4c87323746cb7
+MISC ChangeLog-2015 3178 SHA256 ebc1b2b5833d46f7202cf01fe3f095b431fd1a9c47334ab74cefbea1d787e079 SHA512 00cb6a54426a5f3b914d1ceb5293fee056066ab32f519a5cd9848c1944336d8d18492c582b7564ad3803fdf5e735a2b3220ef5d887fc80f8fb1533188dd83359 WHIRLPOOL 9f251852f087faf315820c550c01c1a8605ccf7a1d610a5e085ef8e22b1b386812590b6c8081b8e777488f07bdee28e621607cb59203091a06e59c72c151bbe5
+MISC metadata.xml 232 SHA256 0c8d91b3d514ac42d0eaca567346ab909c0f947049c85c25a380ec2400f1b3fb SHA512 00beaf2c81112ff757c4395f4ea47e85f2d48e369e241f10ddf200090dd6513d52ae2b1aef6d28b7417f1cf34608a7258a167eb307d5670323a2190f3710f893 WHIRLPOOL 3a1a6d054edc9177d85ca868f9b0a6e84ee51bab4fbdbb9b1ead1a03874036bcc3f96e903fb751dc4d29fdb7d6b5f3d8dbe7b042fc697c887e23f41cc9c8c4ac
diff --git a/dev-java/colt/colt-1.2.0-r3.ebuild b/dev-java/colt/colt-1.2.0-r3.ebuild
new file mode 100644
index 000000000000..118e1c232f82
--- /dev/null
+++ b/dev-java/colt/colt-1.2.0-r3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+JAVA_PKG_IUSE="source doc"
+
+inherit java-pkg-2 java-ant-2 eutils
+
+DESCRIPTION="Java Libraries for High Performance Scientific and Technical Computing"
+SRC_URI="http://dsd.lbl.gov/~hoschek/colt-download/releases/${P}.tar.gz"
+HOMEPAGE="http://www-itg.lbl.gov/~hoschek/colt/"
+
+LICENSE="colt"
+IUSE=""
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.7"
+RDEPEND=">=virtual/jre-1.7"
+
+S="${WORKDIR}/${PN}"
+
+EANT_BUILD_TARGET="javac jar"
+JAVA_ANT_ENCODING="ISO-8859-1"
+
+# [0]: I don't know but it must be useful.
+# [1]: Monkey patch manually some classes to get rid of the
+# oswego.edu.concurrent.util imports.
+PATCHES=(
+ "${FILESDIR}/${P}-benchmark-no-deprecation.patch"
+ "${FILESDIR}/${P}-remove-concurrent-util-imports.patch"
+)
+
+java_prepare() {
+ epatch "${PATCHES[@]}"
+ java-pkg_clean
+}
+
+src_install() {
+ java-pkg_dojar "lib/${PN}.jar"
+
+ dohtml README.html || die
+ use doc && java-pkg_dojavadoc doc/api
+ use source && java-pkg_dosrc src/*
+}
diff --git a/dev-java/colt/files/colt-1.2.0-benchmark-no-deprecation.patch b/dev-java/colt/files/colt-1.2.0-benchmark-no-deprecation.patch
new file mode 100644
index 000000000000..2617dc49ad57
--- /dev/null
+++ b/dev-java/colt/files/colt-1.2.0-benchmark-no-deprecation.patch
@@ -0,0 +1,31 @@
+--- src/cern/colt/matrix/impl/BenchmarkMatrix2D.java 2005-12-13 00:57:28.000000000 -0600
++++ src/cern/colt/matrix/impl/BenchmarkMatrix2D.java 2005-12-13 01:20:09.000000000 -0600
+@@ -331,6 +331,8 @@
+ cern.colt.Timer timer1 = new cern.colt.Timer();
+ cern.colt.Timer timer2 = new cern.colt.Timer();
+
++ cern.jet.math.Functions F = cern.jet.math.Functions.functions;
++
+ long size = (((long)rows)*columns)*runs;
+
+ DoubleMatrix2D matrix = null;
+@@ -344,7 +346,8 @@
+ //if (kind.equals("sparse")) ((SparseDoubleMatrix2D)matrix).elements.hashCollisions = 0;
+ for (int i=0; i<runs; i++) {
+ timer1.start();
+- cern.colt.matrix.doublealgo.Transform.mult(matrix, 3);
++ //cern.colt.matrix.doublealgo.Transform.mult(matrix, 3);
++ matrix.assign(F.mult(3));
+ timer1.stop();
+ }
+ timer1.display();
+@@ -366,7 +369,8 @@
+ //if (kind.equals("sparse")) ((SparseDoubleMatrix2D)matrix).elements.hashCollisions = 0;
+ for (int i=0; i<runs; i++) {
+ timer2.start();
+- cern.colt.matrix.doublealgo.Transform.mult(matrix,3);
++ // cern.colt.matrix.doublealgo.Transform.mult(matrix,3);
++ matrix.assign(F.mult(3));
+ timer2.stop();
+ }
+ timer2.display();
diff --git a/dev-java/colt/files/colt-1.2.0-remove-concurrent-util-imports.patch b/dev-java/colt/files/colt-1.2.0-remove-concurrent-util-imports.patch
new file mode 100644
index 000000000000..2cfbef761baf
--- /dev/null
+++ b/dev-java/colt/files/colt-1.2.0-remove-concurrent-util-imports.patch
@@ -0,0 +1,210 @@
+--- src/cern/colt/matrix/linalg/SmpBlas.java.orig 2015-10-07 22:23:44.969486000 +0000
++++ src/cern/colt/matrix/linalg/SmpBlas.java 2015-10-07 22:29:15.475486000 +0000
+@@ -10,7 +10,8 @@
+
+ import cern.colt.matrix.DoubleMatrix1D;
+ import cern.colt.matrix.DoubleMatrix2D;
+-import EDU.oswego.cs.dl.util.concurrent.FJTask;
++
++import java.util.concurrent.ForkJoinTask;
+ /**
+ Parallel implementation of the Basic Linear Algebra System for symmetric multi processing boxes.
+ Currently only a few algorithms are parallelised; the others are fully functional, but run in sequential mode.
+@@ -198,7 +199,7 @@
+
+ // set up concurrent tasks
+ int span = width/noOfTasks;
+- final FJTask[] subTasks = new FJTask[noOfTasks];
++ final ForkJoinTask[] subTasks = new ForkJoinTask[noOfTasks];
+ for (int i=0; i<noOfTasks; i++) {
+ final int offset = i*span;
+ if (i==noOfTasks-1) span = width - span*i; // last span may be a bit larger
+@@ -217,24 +218,30 @@
+ CC = C.viewPart(offset,0,span,p);
+ }
+
+- subTasks[i] = new FJTask() {
++ subTasks[i] = new ForkJoinTask() {
+ public void run() {
+ seqBlas.dgemm(transposeA,transposeB,alpha,AA,BB,beta,CC);
+ //System.out.println("Hello "+offset);
+ }
++
++ public boolean exec() { return true; }
++ public void setRawResult(Object o) {}
++ public Object getRawResult() {return null;}
+ };
+ }
+
+ // run tasks and wait for completion
+- try {
+- this.smp.taskGroup.invoke(
+- new FJTask() {
+- public void run() {
+- coInvoke(subTasks);
+- }
+- }
+- );
+- } catch (InterruptedException exc) {}
++ this.smp.taskGroup.invoke(
++ new ForkJoinTask() {
++ public void run() {
++ invokeAll(subTasks);
++ }
++
++ public boolean exec() { return true; }
++ public void setRawResult(Object o) {}
++ public Object getRawResult() {return null;}
++ }
++ );
+ }
+ public void dgemv(final boolean transposeA, final double alpha, DoubleMatrix2D A, final DoubleMatrix1D x, final double beta, DoubleMatrix1D y) {
+ /*
+@@ -271,7 +278,7 @@
+
+ // set up concurrent tasks
+ int span = width/noOfTasks;
+- final FJTask[] subTasks = new FJTask[noOfTasks];
++ final ForkJoinTask[] subTasks = new ForkJoinTask[noOfTasks];
+ for (int i=0; i<noOfTasks; i++) {
+ final int offset = i*span;
+ if (i==noOfTasks-1) span = width - span*i; // last span may be a bit larger
+@@ -280,24 +287,30 @@
+ final DoubleMatrix2D AA = A.viewPart(offset,0,span,n);
+ final DoubleMatrix1D yy = y.viewPart(offset,span);
+
+- subTasks[i] = new FJTask() {
++ subTasks[i] = new ForkJoinTask() {
+ public void run() {
+ seqBlas.dgemv(transposeA,alpha,AA,x,beta,yy);
+ //System.out.println("Hello "+offset);
+ }
++
++ public boolean exec() { return true; }
++ public void setRawResult(Object o) {}
++ public Object getRawResult() {return null;}
+ };
+ }
+
+ // run tasks and wait for completion
+- try {
+- this.smp.taskGroup.invoke(
+- new FJTask() {
+- public void run() {
+- coInvoke(subTasks);
+- }
+- }
+- );
+- } catch (InterruptedException exc) {}
++ this.smp.taskGroup.invoke(
++ new ForkJoinTask() {
++ public void run() {
++ invokeAll(subTasks);
++ }
++
++ public boolean exec() { return true; }
++ public void setRawResult(Object o) {}
++ public Object getRawResult() {return null;}
++ }
++ );
+ }
+ public void dger(double alpha, DoubleMatrix1D x, DoubleMatrix1D y, DoubleMatrix2D A) {
+ seqBlas.dger(alpha,x,y,A);
+@@ -369,9 +382,6 @@
+ /**
+ * Prints various snapshot statistics to System.out; Simply delegates to {@link EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup#stats}.
+ */
+-public void stats() {
+- if (this.smp!=null) this.smp.stats();
+-}
+ private double xsum(DoubleMatrix2D A) {
+ double[] sums = run(A,true,
+ new Matrix2DMatrix2DFunction() {
+--- src/cern/colt/matrix/linalg/Smp.java.orig 2015-10-07 21:08:19.443486000 +0000
++++ src/cern/colt/matrix/linalg/Smp.java 2015-10-07 22:28:24.722486000 +0000
+@@ -9,12 +9,13 @@
+ package cern.colt.matrix.linalg;
+
+ import cern.colt.matrix.DoubleMatrix2D;
+-import EDU.oswego.cs.dl.util.concurrent.FJTask;
+-import EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup;
++import java.util.concurrent.ForkJoinTask;
++import java.util.concurrent.ForkJoinPool;
++
+ /*
+ */
+ class Smp {
+- protected FJTaskRunnerGroup taskGroup; // a very efficient and light weight thread pool
++ protected ForkJoinPool taskGroup; // a very efficient and light weight thread pool
+
+ protected int maxThreads;
+ /**
+@@ -24,41 +25,39 @@
+ maxThreads = Math.max(1,maxThreads);
+ this.maxThreads = maxThreads;
+ if (maxThreads>1) {
+- this.taskGroup = new FJTaskRunnerGroup(maxThreads);
++ this.taskGroup = new ForkJoinPool(maxThreads);
+ }
+ else { // avoid parallel overhead
+ this.taskGroup = null;
+ }
+ }
+-/**
+- * Clean up deamon threads, if necessary.
+- */
+-public void finalize() {
+- if (this.taskGroup!=null) this.taskGroup.interruptAll();
+-}
+ protected void run(final DoubleMatrix2D[] blocksA, final DoubleMatrix2D[] blocksB, final double[] results, final Matrix2DMatrix2DFunction function) {
+- final FJTask[] subTasks = new FJTask[blocksA.length];
++ final ForkJoinTask[] subTasks = new ForkJoinTask[blocksA.length];
+ for (int i=0; i<blocksA.length; i++) {
+ final int k = i;
+- subTasks[i] = new FJTask() {
++ subTasks[i] = new ForkJoinTask() {
+ public void run() {
+ double result = function.apply(blocksA[k],blocksB != null ? blocksB[k] : null);
+ if (results!=null) results[k] = result;
+ //System.out.print(".");
+ }
++ public boolean exec() { return true; }
++ public void setRawResult(Object o) {}
++ public Object getRawResult() {return null;}
+ };
+ }
+
+ // run tasks and wait for completion
+- try {
+- this.taskGroup.invoke(
+- new FJTask() {
+- public void run() {
+- coInvoke(subTasks);
+- }
+- }
+- );
+- } catch (InterruptedException exc) {}
++ this.taskGroup.invoke(
++ new ForkJoinTask() {
++ public void run() {
++ invokeAll(subTasks);
++ }
++ public boolean exec() { return true; }
++ public void setRawResult(Object o) {}
++ public Object getRawResult() {return null;}
++ }
++ );
+ }
+ protected DoubleMatrix2D[] splitBlockedNN(DoubleMatrix2D A, int threshold, long flops) {
+ /*
+@@ -186,10 +185,4 @@
+ }
+ return blocks;
+ }
+-/**
+- * Prints various snapshot statistics to System.out; Simply delegates to {@link EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup#stats}.
+- */
+-public void stats() {
+- if (this.taskGroup!=null) this.taskGroup.stats();
+-}
+ }
diff --git a/dev-java/colt/metadata.xml b/dev-java/colt/metadata.xml
new file mode 100644
index 000000000000..2444066aa02b
--- /dev/null
+++ b/dev-java/colt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+</maintainer>
+</pkgmetadata>