| 171 | //! ROUND |
| 172 | template <> |
| 173 | mlir::Value lower_mode<Mode::ROUND>( |
| 174 | mlir::OpBuilder& builder, mlir::Location loc, ValueRange operands) { |
| 175 | ValueBuilderHelper helper(builder, loc); |
| 176 | return helper.select( |
| 177 | helper.gt(operands[0], helper.const_f32(0.f)), |
| 178 | helper.floor(helper.add(operands[0], helper.const_f32(0.5f))), |
| 179 | helper.ceil(helper.sub(operands[0], helper.const_f32(0.5f)))); |
| 180 | } |
| 181 | |
| 182 | //! SIGMOID: 1.f / (expf(-y) + 1.f)) |
| 183 | template <> |