unsafe IntPtr IOperatorDescriptionMarshal.__MarshalAlloc()
    {
        __Native * @ref = UnsafeUtilities.Alloc <__Native>();

        @ref->InputTensor          = InputTensor.__MarshalAlloc();
        @ref->ScaleTensor          = ScaleTensor.__MarshalAlloc();
        @ref->BiasTensor           = BiasTensor.__MarshalAlloc();
        @ref->FusedAddTensor       = (FusedAddTensor != null) ? FusedAddTensor.Value.__MarshalAlloc() : IntPtr.Zero;
        @ref->OutputTensor         = OutputTensor.__MarshalAlloc();
        @ref->OutputMeanTensor     = OutputMeanTensor.__MarshalAlloc();
        @ref->OutputVarianceTensor = OutputVarianceTensor.__MarshalAlloc();
        @ref->Epsilon         = Epsilon;
        @ref->FusedActivation = (FusedActivation != null) ? FusedActivation.Value.__MarshalAlloc() : IntPtr.Zero;

        return(new(@ref));
    }
    unsafe void IOperatorDescriptionMarshal.__MarshalFree(ref IntPtr pDesc)
    {
        var @ref = (__Native *)pDesc;

        InputTensor.__MarshalFree(ref @ref->InputTensor);
        ScaleTensor.__MarshalFree(ref @ref->ScaleTensor);
        BiasTensor.__MarshalFree(ref @ref->BiasTensor);

        if (FusedAddTensor != null)
        {
            FusedAddTensor.Value.__MarshalFree(ref @ref->FusedAddTensor);
        }

        OutputTensor.__MarshalFree(ref @ref->OutputTensor);
        OutputMeanTensor.__MarshalFree(ref @ref->OutputMeanTensor);
        OutputVarianceTensor.__MarshalFree(ref @ref->OutputVarianceTensor);

        if (FusedActivation != null)
        {
            FusedActivation.Value.__MarshalFree(ref @ref->FusedActivation);
        }

        UnsafeUtilities.Free(@ref);
    }