| 151 | XLA_MAKE_BINARY(Xlogy, XlogyImpl(lhs, rhs, broadcast_helper)); |
| 152 | |
| 153 | xla::XlaOp XdivyImpl(xla::XlaOp x, xla::XlaOp y, |
| 154 | const BCast& broadcast_helper) { |
| 155 | std::tie(x, y) = XlaBinaryOp::Broadcast(x, y, broadcast_helper); |
| 156 | auto zero = xla::ZerosLike(x); |
| 157 | auto is_zero = xla::Eq(x, zero); |
| 158 | return xla::Select(is_zero, zero, xla::Div(x, y)); |
| 159 | } |
| 160 | XLA_MAKE_BINARY(Xdivy, XdivyImpl(lhs, rhs, broadcast_helper)); |
| 161 | |
| 162 | // Implementation of FloorMod. Pseudo-code: |