cubecl_cpp/metal/
general.rs1use cubecl_core::ir::{dialect::cmp::*, prelude::*};
2
3use crate::metal::metal_op_with_out;
4
5metal_op_with_out!(SClampOp, |op, ctx| {
6 let input = op.input(ctx).name(ctx);
7 let min = op.min(ctx).name(ctx);
8 let max = op.max(ctx).name(ctx);
9 format!("clamp({input}, {min}, {max})")
10});
11
12metal_op_with_out!(UClampOp, |op, ctx| {
13 let input = op.input(ctx).name(ctx);
14 let min = op.min(ctx).name(ctx);
15 let max = op.max(ctx).name(ctx);
16 format!("clamp({input}, {min}, {max})")
17});
18
19metal_op_with_out!(FClampOp, |op, ctx| {
20 let input = op.input(ctx).name(ctx);
21 let min = op.min(ctx).name(ctx);
22 let max = op.max(ctx).name(ctx);
23 format!("clamp({input}, {min}, {max})")
24});