I can’t seem to return “nan” can anyone help me please.
pub fn eval(e: *const Expr) f128 {
return switch (e.*) {
Expr.Val => |v| v,
Expr.Add => |a| eval(a.left) + eval(a.right),
Expr.Sub => |s| eval(s.left) - eval(s.right),
Expr.Mul => |m| eval(m.left) * eval(m.right),
Expr.Div => |d| {
const right_val = eval(d.right);
if (right_val == 0) {
// Gérer la division par zéro
return std.math.nan;
}
return eval(d.left) / right_val;
},
};
}