Class OrtCustomOp

java.lang.Object
smile.onnx.foreign.OrtCustomOp

public class OrtCustomOp extends Object
struct OrtCustomOp {
    uint32_t version;
    void *(*CreateKernel)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *);
    const char *(*GetName)(const struct OrtCustomOp *);
    const char *(*GetExecutionProviderType)(const struct OrtCustomOp *);
    ONNXTensorElementDataType (*GetInputType)(const struct OrtCustomOp *, size_t);
    size_t (*GetInputTypeCount)(const struct OrtCustomOp *);
    ONNXTensorElementDataType (*GetOutputType)(const struct OrtCustomOp *, size_t);
    size_t (*GetOutputTypeCount)(const struct OrtCustomOp *);
    void (*KernelCompute)(void *, OrtKernelContext *);
    void (*KernelDestroy)(void *);
    OrtCustomOpInputOutputCharacteristic (*GetInputCharacteristic)(const struct OrtCustomOp *, size_t);
    OrtCustomOpInputOutputCharacteristic (*GetOutputCharacteristic)(const struct OrtCustomOp *, size_t);
    OrtMemType (*GetInputMemoryType)(const struct OrtCustomOp *, size_t);
    int (*GetVariadicInputMinArity)(const struct OrtCustomOp *);
    int (*GetVariadicInputHomogeneity)(const struct OrtCustomOp *);
    int (*GetVariadicOutputMinArity)(const struct OrtCustomOp *);
    int (*GetVariadicOutputHomogeneity)(const struct OrtCustomOp *);
    OrtStatusPtr (*CreateKernelV2)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *, void **);
    OrtStatusPtr (*KernelComputeV2)(void *, OrtKernelContext *);
    OrtStatusPtr (*InferOutputShapeFn)(const struct OrtCustomOp *, OrtShapeInferContext *);
    int (*GetStartVersion)(const struct OrtCustomOp *);
    int (*GetEndVersion)(const struct OrtCustomOp *);
    size_t (*GetMayInplace)(int **, int **);
    void (*ReleaseMayInplace)(int *, int *);
    size_t (*GetAliasMap)(int **, int **);
    void (*ReleaseAliasMap)(int *, int *);
}
  • Method Details

    • layout

      public static final GroupLayout layout()
      The layout of this struct
    • version$layout

      public static final ValueLayout.OfInt version$layout()
      Layout for field:
      uint32_t version
      
    • version$offset

      public static final long version$offset()
      Offset for field:
      uint32_t version
      
    • version

      public static int version(MemorySegment struct)
      Getter for field:
      uint32_t version
      
    • version

      public static void version(MemorySegment struct, int fieldValue)
      Setter for field:
      uint32_t version
      
    • CreateKernel$layout

      public static final AddressLayout CreateKernel$layout()
      Layout for field:
      void *(*CreateKernel)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *)
      
    • CreateKernel$offset

      public static final long CreateKernel$offset()
      Offset for field:
      void *(*CreateKernel)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *)
      
    • CreateKernel

      public static MemorySegment CreateKernel(MemorySegment struct)
      Getter for field:
      void *(*CreateKernel)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *)
      
    • CreateKernel

      public static void CreateKernel(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      void *(*CreateKernel)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *)
      
    • GetName$layout

      public static final AddressLayout GetName$layout()
      Layout for field:
      const char *(*GetName)(const struct OrtCustomOp *)
      
    • GetName$offset

      public static final long GetName$offset()
      Offset for field:
      const char *(*GetName)(const struct OrtCustomOp *)
      
    • GetName

      public static MemorySegment GetName(MemorySegment struct)
      Getter for field:
      const char *(*GetName)(const struct OrtCustomOp *)
      
    • GetName

      public static void GetName(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      const char *(*GetName)(const struct OrtCustomOp *)
      
    • GetExecutionProviderType$layout

      public static final AddressLayout GetExecutionProviderType$layout()
      Layout for field:
      const char *(*GetExecutionProviderType)(const struct OrtCustomOp *)
      
    • GetExecutionProviderType$offset

      public static final long GetExecutionProviderType$offset()
      Offset for field:
      const char *(*GetExecutionProviderType)(const struct OrtCustomOp *)
      
    • GetExecutionProviderType

      public static MemorySegment GetExecutionProviderType(MemorySegment struct)
      Getter for field:
      const char *(*GetExecutionProviderType)(const struct OrtCustomOp *)
      
    • GetExecutionProviderType

      public static void GetExecutionProviderType(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      const char *(*GetExecutionProviderType)(const struct OrtCustomOp *)
      
    • GetInputType$layout

      public static final AddressLayout GetInputType$layout()
      Layout for field:
      ONNXTensorElementDataType (*GetInputType)(const struct OrtCustomOp *, size_t)
      
    • GetInputType$offset

      public static final long GetInputType$offset()
      Offset for field:
      ONNXTensorElementDataType (*GetInputType)(const struct OrtCustomOp *, size_t)
      
    • GetInputType

      public static MemorySegment GetInputType(MemorySegment struct)
      Getter for field:
      ONNXTensorElementDataType (*GetInputType)(const struct OrtCustomOp *, size_t)
      
    • GetInputType

      public static void GetInputType(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      ONNXTensorElementDataType (*GetInputType)(const struct OrtCustomOp *, size_t)
      
    • GetInputTypeCount$layout

      public static final AddressLayout GetInputTypeCount$layout()
      Layout for field:
      size_t (*GetInputTypeCount)(const struct OrtCustomOp *)
      
    • GetInputTypeCount$offset

      public static final long GetInputTypeCount$offset()
      Offset for field:
      size_t (*GetInputTypeCount)(const struct OrtCustomOp *)
      
    • GetInputTypeCount

      public static MemorySegment GetInputTypeCount(MemorySegment struct)
      Getter for field:
      size_t (*GetInputTypeCount)(const struct OrtCustomOp *)
      
    • GetInputTypeCount

      public static void GetInputTypeCount(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      size_t (*GetInputTypeCount)(const struct OrtCustomOp *)
      
    • GetOutputType$layout

      public static final AddressLayout GetOutputType$layout()
      Layout for field:
      ONNXTensorElementDataType (*GetOutputType)(const struct OrtCustomOp *, size_t)
      
    • GetOutputType$offset

      public static final long GetOutputType$offset()
      Offset for field:
      ONNXTensorElementDataType (*GetOutputType)(const struct OrtCustomOp *, size_t)
      
    • GetOutputType

      public static MemorySegment GetOutputType(MemorySegment struct)
      Getter for field:
      ONNXTensorElementDataType (*GetOutputType)(const struct OrtCustomOp *, size_t)
      
    • GetOutputType

      public static void GetOutputType(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      ONNXTensorElementDataType (*GetOutputType)(const struct OrtCustomOp *, size_t)
      
    • GetOutputTypeCount$layout

      public static final AddressLayout GetOutputTypeCount$layout()
      Layout for field:
      size_t (*GetOutputTypeCount)(const struct OrtCustomOp *)
      
    • GetOutputTypeCount$offset

      public static final long GetOutputTypeCount$offset()
      Offset for field:
      size_t (*GetOutputTypeCount)(const struct OrtCustomOp *)
      
    • GetOutputTypeCount

      public static MemorySegment GetOutputTypeCount(MemorySegment struct)
      Getter for field:
      size_t (*GetOutputTypeCount)(const struct OrtCustomOp *)
      
    • GetOutputTypeCount

      public static void GetOutputTypeCount(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      size_t (*GetOutputTypeCount)(const struct OrtCustomOp *)
      
    • KernelCompute$layout

      public static final AddressLayout KernelCompute$layout()
      Layout for field:
      void (*KernelCompute)(void *, OrtKernelContext *)
      
    • KernelCompute$offset

      public static final long KernelCompute$offset()
      Offset for field:
      void (*KernelCompute)(void *, OrtKernelContext *)
      
    • KernelCompute

      public static MemorySegment KernelCompute(MemorySegment struct)
      Getter for field:
      void (*KernelCompute)(void *, OrtKernelContext *)
      
    • KernelCompute

      public static void KernelCompute(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      void (*KernelCompute)(void *, OrtKernelContext *)
      
    • KernelDestroy$layout

      public static final AddressLayout KernelDestroy$layout()
      Layout for field:
      void (*KernelDestroy)(void *)
      
    • KernelDestroy$offset

      public static final long KernelDestroy$offset()
      Offset for field:
      void (*KernelDestroy)(void *)
      
    • KernelDestroy

      public static MemorySegment KernelDestroy(MemorySegment struct)
      Getter for field:
      void (*KernelDestroy)(void *)
      
    • KernelDestroy

      public static void KernelDestroy(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      void (*KernelDestroy)(void *)
      
    • GetInputCharacteristic$layout

      public static final AddressLayout GetInputCharacteristic$layout()
      Layout for field:
      OrtCustomOpInputOutputCharacteristic (*GetInputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetInputCharacteristic$offset

      public static final long GetInputCharacteristic$offset()
      Offset for field:
      OrtCustomOpInputOutputCharacteristic (*GetInputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetInputCharacteristic

      public static MemorySegment GetInputCharacteristic(MemorySegment struct)
      Getter for field:
      OrtCustomOpInputOutputCharacteristic (*GetInputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetInputCharacteristic

      public static void GetInputCharacteristic(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      OrtCustomOpInputOutputCharacteristic (*GetInputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetOutputCharacteristic$layout

      public static final AddressLayout GetOutputCharacteristic$layout()
      Layout for field:
      OrtCustomOpInputOutputCharacteristic (*GetOutputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetOutputCharacteristic$offset

      public static final long GetOutputCharacteristic$offset()
      Offset for field:
      OrtCustomOpInputOutputCharacteristic (*GetOutputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetOutputCharacteristic

      public static MemorySegment GetOutputCharacteristic(MemorySegment struct)
      Getter for field:
      OrtCustomOpInputOutputCharacteristic (*GetOutputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetOutputCharacteristic

      public static void GetOutputCharacteristic(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      OrtCustomOpInputOutputCharacteristic (*GetOutputCharacteristic)(const struct OrtCustomOp *, size_t)
      
    • GetInputMemoryType$layout

      public static final AddressLayout GetInputMemoryType$layout()
      Layout for field:
      OrtMemType (*GetInputMemoryType)(const struct OrtCustomOp *, size_t)
      
    • GetInputMemoryType$offset

      public static final long GetInputMemoryType$offset()
      Offset for field:
      OrtMemType (*GetInputMemoryType)(const struct OrtCustomOp *, size_t)
      
    • GetInputMemoryType

      public static MemorySegment GetInputMemoryType(MemorySegment struct)
      Getter for field:
      OrtMemType (*GetInputMemoryType)(const struct OrtCustomOp *, size_t)
      
    • GetInputMemoryType

      public static void GetInputMemoryType(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      OrtMemType (*GetInputMemoryType)(const struct OrtCustomOp *, size_t)
      
    • GetVariadicInputMinArity$layout

      public static final AddressLayout GetVariadicInputMinArity$layout()
      Layout for field:
      int (*GetVariadicInputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicInputMinArity$offset

      public static final long GetVariadicInputMinArity$offset()
      Offset for field:
      int (*GetVariadicInputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicInputMinArity

      public static MemorySegment GetVariadicInputMinArity(MemorySegment struct)
      Getter for field:
      int (*GetVariadicInputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicInputMinArity

      public static void GetVariadicInputMinArity(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      int (*GetVariadicInputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicInputHomogeneity$layout

      public static final AddressLayout GetVariadicInputHomogeneity$layout()
      Layout for field:
      int (*GetVariadicInputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicInputHomogeneity$offset

      public static final long GetVariadicInputHomogeneity$offset()
      Offset for field:
      int (*GetVariadicInputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicInputHomogeneity

      public static MemorySegment GetVariadicInputHomogeneity(MemorySegment struct)
      Getter for field:
      int (*GetVariadicInputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicInputHomogeneity

      public static void GetVariadicInputHomogeneity(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      int (*GetVariadicInputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputMinArity$layout

      public static final AddressLayout GetVariadicOutputMinArity$layout()
      Layout for field:
      int (*GetVariadicOutputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputMinArity$offset

      public static final long GetVariadicOutputMinArity$offset()
      Offset for field:
      int (*GetVariadicOutputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputMinArity

      public static MemorySegment GetVariadicOutputMinArity(MemorySegment struct)
      Getter for field:
      int (*GetVariadicOutputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputMinArity

      public static void GetVariadicOutputMinArity(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      int (*GetVariadicOutputMinArity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputHomogeneity$layout

      public static final AddressLayout GetVariadicOutputHomogeneity$layout()
      Layout for field:
      int (*GetVariadicOutputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputHomogeneity$offset

      public static final long GetVariadicOutputHomogeneity$offset()
      Offset for field:
      int (*GetVariadicOutputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputHomogeneity

      public static MemorySegment GetVariadicOutputHomogeneity(MemorySegment struct)
      Getter for field:
      int (*GetVariadicOutputHomogeneity)(const struct OrtCustomOp *)
      
    • GetVariadicOutputHomogeneity

      public static void GetVariadicOutputHomogeneity(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      int (*GetVariadicOutputHomogeneity)(const struct OrtCustomOp *)
      
    • CreateKernelV2$layout

      public static final AddressLayout CreateKernelV2$layout()
      Layout for field:
      OrtStatusPtr (*CreateKernelV2)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *, void **)
      
    • CreateKernelV2$offset

      public static final long CreateKernelV2$offset()
      Offset for field:
      OrtStatusPtr (*CreateKernelV2)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *, void **)
      
    • CreateKernelV2

      public static MemorySegment CreateKernelV2(MemorySegment struct)
      Getter for field:
      OrtStatusPtr (*CreateKernelV2)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *, void **)
      
    • CreateKernelV2

      public static void CreateKernelV2(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      OrtStatusPtr (*CreateKernelV2)(const struct OrtCustomOp *, const OrtApi *, const OrtKernelInfo *, void **)
      
    • KernelComputeV2$layout

      public static final AddressLayout KernelComputeV2$layout()
      Layout for field:
      OrtStatusPtr (*KernelComputeV2)(void *, OrtKernelContext *)
      
    • KernelComputeV2$offset

      public static final long KernelComputeV2$offset()
      Offset for field:
      OrtStatusPtr (*KernelComputeV2)(void *, OrtKernelContext *)
      
    • KernelComputeV2

      public static MemorySegment KernelComputeV2(MemorySegment struct)
      Getter for field:
      OrtStatusPtr (*KernelComputeV2)(void *, OrtKernelContext *)
      
    • KernelComputeV2

      public static void KernelComputeV2(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      OrtStatusPtr (*KernelComputeV2)(void *, OrtKernelContext *)
      
    • InferOutputShapeFn$layout

      public static final AddressLayout InferOutputShapeFn$layout()
      Layout for field:
      OrtStatusPtr (*InferOutputShapeFn)(const struct OrtCustomOp *, OrtShapeInferContext *)
      
    • InferOutputShapeFn$offset

      public static final long InferOutputShapeFn$offset()
      Offset for field:
      OrtStatusPtr (*InferOutputShapeFn)(const struct OrtCustomOp *, OrtShapeInferContext *)
      
    • InferOutputShapeFn

      public static MemorySegment InferOutputShapeFn(MemorySegment struct)
      Getter for field:
      OrtStatusPtr (*InferOutputShapeFn)(const struct OrtCustomOp *, OrtShapeInferContext *)
      
    • InferOutputShapeFn

      public static void InferOutputShapeFn(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      OrtStatusPtr (*InferOutputShapeFn)(const struct OrtCustomOp *, OrtShapeInferContext *)
      
    • GetStartVersion$layout

      public static final AddressLayout GetStartVersion$layout()
      Layout for field:
      int (*GetStartVersion)(const struct OrtCustomOp *)
      
    • GetStartVersion$offset

      public static final long GetStartVersion$offset()
      Offset for field:
      int (*GetStartVersion)(const struct OrtCustomOp *)
      
    • GetStartVersion

      public static MemorySegment GetStartVersion(MemorySegment struct)
      Getter for field:
      int (*GetStartVersion)(const struct OrtCustomOp *)
      
    • GetStartVersion

      public static void GetStartVersion(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      int (*GetStartVersion)(const struct OrtCustomOp *)
      
    • GetEndVersion$layout

      public static final AddressLayout GetEndVersion$layout()
      Layout for field:
      int (*GetEndVersion)(const struct OrtCustomOp *)
      
    • GetEndVersion$offset

      public static final long GetEndVersion$offset()
      Offset for field:
      int (*GetEndVersion)(const struct OrtCustomOp *)
      
    • GetEndVersion

      public static MemorySegment GetEndVersion(MemorySegment struct)
      Getter for field:
      int (*GetEndVersion)(const struct OrtCustomOp *)
      
    • GetEndVersion

      public static void GetEndVersion(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      int (*GetEndVersion)(const struct OrtCustomOp *)
      
    • GetMayInplace$layout

      public static final AddressLayout GetMayInplace$layout()
      Layout for field:
      size_t (*GetMayInplace)(int **, int **)
      
    • GetMayInplace$offset

      public static final long GetMayInplace$offset()
      Offset for field:
      size_t (*GetMayInplace)(int **, int **)
      
    • GetMayInplace

      public static MemorySegment GetMayInplace(MemorySegment struct)
      Getter for field:
      size_t (*GetMayInplace)(int **, int **)
      
    • GetMayInplace

      public static void GetMayInplace(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      size_t (*GetMayInplace)(int **, int **)
      
    • ReleaseMayInplace$layout

      public static final AddressLayout ReleaseMayInplace$layout()
      Layout for field:
      void (*ReleaseMayInplace)(int *, int *)
      
    • ReleaseMayInplace$offset

      public static final long ReleaseMayInplace$offset()
      Offset for field:
      void (*ReleaseMayInplace)(int *, int *)
      
    • ReleaseMayInplace

      public static MemorySegment ReleaseMayInplace(MemorySegment struct)
      Getter for field:
      void (*ReleaseMayInplace)(int *, int *)
      
    • ReleaseMayInplace

      public static void ReleaseMayInplace(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      void (*ReleaseMayInplace)(int *, int *)
      
    • GetAliasMap$layout

      public static final AddressLayout GetAliasMap$layout()
      Layout for field:
      size_t (*GetAliasMap)(int **, int **)
      
    • GetAliasMap$offset

      public static final long GetAliasMap$offset()
      Offset for field:
      size_t (*GetAliasMap)(int **, int **)
      
    • GetAliasMap

      public static MemorySegment GetAliasMap(MemorySegment struct)
      Getter for field:
      size_t (*GetAliasMap)(int **, int **)
      
    • GetAliasMap

      public static void GetAliasMap(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      size_t (*GetAliasMap)(int **, int **)
      
    • ReleaseAliasMap$layout

      public static final AddressLayout ReleaseAliasMap$layout()
      Layout for field:
      void (*ReleaseAliasMap)(int *, int *)
      
    • ReleaseAliasMap$offset

      public static final long ReleaseAliasMap$offset()
      Offset for field:
      void (*ReleaseAliasMap)(int *, int *)
      
    • ReleaseAliasMap

      public static MemorySegment ReleaseAliasMap(MemorySegment struct)
      Getter for field:
      void (*ReleaseAliasMap)(int *, int *)
      
    • ReleaseAliasMap

      public static void ReleaseAliasMap(MemorySegment struct, MemorySegment fieldValue)
      Setter for field:
      void (*ReleaseAliasMap)(int *, int *)
      
    • asSlice

      public static MemorySegment asSlice(MemorySegment array, long index)
      Obtains a slice of arrayParam which selects the array element at index. The returned segment has address arrayParam.address() + index * layout().byteSize()
    • sizeof

      public static long sizeof()
      The size (in bytes) of this struct
    • allocate

      public static MemorySegment allocate(SegmentAllocator allocator)
      Allocate a segment of size layout().byteSize() using allocator
    • allocateArray

      public static MemorySegment allocateArray(long elementCount, SegmentAllocator allocator)
      Allocate an array of size elementCount using allocator. The returned segment has size elementCount * layout().byteSize().
    • reinterpret

      public static MemorySegment reinterpret(MemorySegment addr, Arena arena, Consumer<MemorySegment> cleanup)
      Reinterprets addr using target arena and cleanupAction (if any). The returned segment has size layout().byteSize()
    • reinterpret

      public static MemorySegment reinterpret(MemorySegment addr, long elementCount, Arena arena, Consumer<MemorySegment> cleanup)
      Reinterprets addr using target arena and cleanupAction (if any). The returned segment has size elementCount * layout().byteSize()