diff --git a/nd4s/src/main/scala/org/nd4s/Implicits.scala b/nd4s/src/main/scala/org/nd4s/Implicits.scala index a9b7ea32b3f6..9e7bf6ffe63c 100644 --- a/nd4s/src/main/scala/org/nd4s/Implicits.scala +++ b/nd4s/src/main/scala/org/nd4s/Implicits.scala @@ -192,6 +192,23 @@ object Implicits { implicit def Number2ComplexNumberBuilder(underlying: Number): ComplexNumberBuilder[java.lang.Number] = new ComplexNumberBuilder[java.lang.Number](underlying) lazy val i = new ImaginaryNumber[Integer](1) + + + implicit class Pair2Tuple[T, U](a: org.nd4j.linalg.primitives.Pair[T, U]) { + def asScala: (T, U) = (a.getFirst, a.getSecond) + } + + implicit class Triple2Tuple[T, U, V](a: org.nd4j.linalg.primitives.Triple[T, U, V]) { + def asScala: (T, U, V) = (a.getFirst, a.getSecond, a.getThird) + } + + implicit class Tuple2Pair[T, U](a: (T, U)) { + def toPair: org.nd4j.linalg.primitives.Pair[T, U] = new org.nd4j.linalg.primitives.Pair(a._1, a._2) + } + + implicit class Tuple2Triple[T, U, V](a: (T, U, V)) { + def toTriple: org.nd4j.linalg.primitives.Triple[T, U, V] = new org.nd4j.linalg.primitives.Triple(a._1, a._2, a._3) + } } private[nd4s] class ComplexNumberBuilder[T <: Number](val value: T) extends AnyVal {