feature. See also
. The project being documented here (as the example) is the Zig library itself.
AstGen.floatUnOp
fn floatUnOp(
gz: *GenZir,
scope: *Scope,
ri: ResultInfo,
node: Ast.Node.Index,
operand_node: Ast.Node.Index,
tag: Zir.Inst.Tag,
) InnerError!Zir.Inst.Ref
File
Code
fn floatUnOp(
gz: *GenZir,
scope: *Scope,
ri: ResultInfo,
node: Ast.Node.Index,
operand_node: Ast.Node.Index,
tag: Zir.Inst.Tag,
) InnerError!Zir.Inst.Ref {
const result_type = try ri.rl.resultType(gz, node);
const operand_ri: ResultInfo.Loc = if (result_type) |rt| .{
.ty = try gz.addExtendedPayload(.float_op_result_ty, Zir.Inst.UnNode{
.node = gz.nodeIndexToRelative(node),
.operand = rt,
}),
} else .none;
const operand = try expr(gz, scope, .{ .rl = operand_ri }, operand_node);
const result = try gz.addUnNode(tag, operand, node);
return rvalue(gz, ri, result, node);
}