Skip to content

Instantly share code, notes, and snippets.

@pjazdzewski1990
Created February 25, 2016 09:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjazdzewski1990/90a4ddf9e79902e6b0b7 to your computer and use it in GitHub Desktop.
Save pjazdzewski1990/90a4ddf9e79902e6b0b7 to your computer and use it in GitHub Desktop.
case class Power(first: Component, second: Component) extends Component {
override def toTree(implicit c: blackbox.Context): c.Tree = {
import c.universe._
q"Math.pow(${first.toTree}, ${second.toTree})"
}
override def derive: Component = this match {
case Power(Variable(_), DoubleConstant(b)) =>
Multiply(second, Power(first, DoubleConstant(b - 1)))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment