Skip to content

Commit 6d199ca

Browse files
committed
Readme + bump dependency versions
1 parent b95dc03 commit 6d199ca

File tree

3 files changed

+29
-18
lines changed

3 files changed

+29
-18
lines changed

README.md

+25-15
Original file line numberDiff line numberDiff line change
@@ -42,30 +42,40 @@ resolvers += Resolver.sonatypeRepo("snapshots")
4242

4343
# Examples
4444

45-
The following will eventually work:
45+
The following example currently works:
4646

4747
```scala
4848
import scalacl._
4949

50-
case class Matrix(data: CLArray[Float], rows: Int, columns: Int)(implicit context: Context) {
51-
def this(rows: Int, columns: Int) =
50+
case class Matrix(data: CLArray[Float],
51+
rows: Int,
52+
columns: Int)
53+
(implicit context: Context)
54+
{
55+
def this(rows: Int, columns: Int)
56+
(implicit context: Context) =
5257
this(new CLArray[Float](rows * columns), rows, columns)
53-
def this(n: Int) =
58+
59+
def this(n: Int)
60+
(implicit context: Context) =
5461
this(n, n)
55-
62+
5663
def putProduct(a: Matrix, b: Matrix): Unit = {
5764
assert(a.columns == b.rows)
5865
assert(a.rows == rows)
5966
assert(b.columns == columns)
6067

6168
kernel {
6269
// This block will either be converted to an OpenCL kernel or cause compilation error
63-
for (i <- 0 until rows; j <- 0 until columns) {
64-
data(i * columns + j) = (0 until a.columns).map(k => {
65-
a.data(i * a.columns + k) * b.data(k * b.columns + j)
66-
}).sum
67-
}
68-
}
70+
for (i <- 0 until rows;
71+
j <- 0 until columns) {
72+
// c(i, j) = sum(k, a(i, k) * b(k, j))
73+
data(i * columns + j) = (
74+
for (k <- 0 until a.columns) yield
75+
a.data(i * a.columns + k) * b.data(k * b.columns + j)
76+
).sum
77+
}
78+
}
6979
}
7080

7181
def putSum(a: Matrix, b: Matrix): Unit = {
@@ -75,12 +85,12 @@ case class Matrix(data: CLArray[Float], rows: Int, columns: Int)(implicit contex
7585
kernel {
7686
for (i <- 0 until rows; j <- 0 until columns) {
7787
val offset = i * columns + j
78-
data(offset) = a.data(offset) + b.data(offset)
79-
}
80-
}
88+
data(offset) = a.data(offset) + b.data(offset)
89+
}
90+
}
8191
}
8292
}
83-
93+
8494
implicit val context = Context.best
8595

8696
val n = 10

project/ScalaCLBuild.scala

+3-2
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,9 @@ object ScalaCLBuild extends Build {
8080
libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-reflect" % _),
8181
libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-compiler" % _),
8282
libraryDependencies ++= Seq(
83-
"junit" % "junit" % "4.10" % "test",
84-
"com.novocode" % "junit-interface" % "0.8" % "test"
83+
"org.scalatest" % "scalatest_2.11" % "2.2.3" % "test",
84+
"junit" % "junit" % "4.12" % "test",
85+
"com.novocode" % "junit-interface" % "0.11" % "test"
8586
)
8687
)
8788

project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.2.0")
1+
addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.3.0")
22

33
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.2.0")
44

0 commit comments

Comments
 (0)