unsafe void IOperatorDescriptionMarshal.__MarshalFree(ref IntPtr pDesc) { var @ref = (__Native *)pDesc; InputParametersTensor.__MarshalFree(ref @ref->InputParametersTensor); InputFirstMomentTensor.__MarshalFree(ref @ref->InputFirstMomentTensor); InputSecondMomentTensor.__MarshalFree(ref @ref->InputSecondMomentTensor); GradientTensor.__MarshalFree(ref @ref->GradientTensor); TrainingStepTensor.__MarshalFree(ref @ref->TrainingStepTensor); OutputParametersTensor.__MarshalFree(ref @ref->OutputParametersTensor); OutputFirstMomentTensor.__MarshalFree(ref @ref->OutputFirstMomentTensor); OutputSecondMomentTensor.__MarshalFree(ref @ref->OutputSecondMomentTensor); UnsafeUtilities.Free(@ref); }
unsafe IntPtr IOperatorDescriptionMarshal.__MarshalAlloc() { __Native * @ref = UnsafeUtilities.Alloc <__Native>(); @ref->InputParametersTensor = InputParametersTensor.__MarshalAlloc(); @ref->InputFirstMomentTensor = InputFirstMomentTensor.__MarshalAlloc(); @ref->InputSecondMomentTensor = InputSecondMomentTensor.__MarshalAlloc(); @ref->GradientTensor = GradientTensor.__MarshalAlloc(); @ref->TrainingStepTensor = TrainingStepTensor.__MarshalAlloc(); @ref->OutputParametersTensor = OutputParametersTensor.__MarshalAlloc(); @ref->OutputFirstMomentTensor = OutputFirstMomentTensor.__MarshalAlloc(); @ref->OutputSecondMomentTensor = OutputSecondMomentTensor.__MarshalAlloc(); @ref->LearningRate = LearningRate; @ref->Beta1 = Beta1; @ref->Beta2 = Beta2; @ref->Epsilon = Epsilon; return(new(@ref)); }