Skip to content

Instantly share code, notes, and snippets.

@armanbilge
Created February 29, 2016 02:47
Show Gist options
  • Save armanbilge/5c4d5d8e737809bcb564 to your computer and use it in GitHub Desktop.
Save armanbilge/5c4d5d8e737809bcb564 to your computer and use it in GitHub Desktop.
implicit def JetIsReal[T : IsReal : Semiring : ClassTag](implicit jd: JetDim) = new IsReal[Jet[T]] {
override def ceil(a: Jet[T]): Jet[T] = Jet(IsReal[T].ceil(a.real))
override def toDouble(a: Jet[T]): Double = IsReal[T].toDouble(a.real)
override def toReal(a: Jet[T]): Real = IsReal[T].toReal(a.real)
override def round(a: Jet[T]): Jet[T] = Jet(IsReal[T].round(a.real))
override def floor(a: Jet[T]): Jet[T] = Jet(IsReal[T].floor(a.real))
override def isWhole(a: Jet[T]): Boolean = IsReal[T].isWhole(a.real)
override def compare(x: Jet[T], y: Jet[T]): Int = IsReal[T].compare(x.real, y.real)
override def abs(a: Jet[T]): Jet[T] = Jet(IsReal[T].abs(a.real))
override def signum(a: Jet[T]): Int = IsReal[T].signum(a.real)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment