1
2
3
/* automatically generated by rust-bindgen */

pub const _STDINT_H : :: std :: os :: raw :: c_uint = 1 ; pub const _FEATURES_H : :: std :: os :: raw :: c_uint = 1 ; pub const _DEFAULT_SOURCE : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_ISOC11 : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_ISOC99 : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_ISOC95 : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_POSIX_IMPLICITLY : :: std :: os :: raw :: c_uint = 1 ; pub const _POSIX_SOURCE : :: std :: os :: raw :: c_uint = 1 ; pub const _POSIX_C_SOURCE : :: std :: os :: raw :: c_uint = 200809 ; pub const __USE_POSIX : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_POSIX2 : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_POSIX199309 : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_POSIX199506 : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_XOPEN2K : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_XOPEN2K8 : :: std :: os :: raw :: c_uint = 1 ; pub const _ATFILE_SOURCE : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_MISC : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_ATFILE : :: std :: os :: raw :: c_uint = 1 ; pub const __USE_FORTIFY_LEVEL : :: std :: os :: raw :: c_uint = 0 ; pub const _STDC_PREDEF_H : :: std :: os :: raw :: c_uint = 1 ; pub const __STDC_IEC_559__ : :: std :: os :: raw :: c_uint = 1 ; pub const __STDC_IEC_559_COMPLEX__ : :: std :: os :: raw :: c_uint = 1 ; pub const __STDC_ISO_10646__ : :: std :: os :: raw :: c_uint = 201605 ; pub const __STDC_NO_THREADS__ : :: std :: os :: raw :: c_uint = 1 ; pub const __GNU_LIBRARY__ : :: std :: os :: raw :: c_uint = 6 ; pub const __GLIBC__ : :: std :: os :: raw :: c_uint = 2 ; pub const __GLIBC_MINOR__ : :: std :: os :: raw :: c_uint = 24 ; pub const _SYS_CDEFS_H : :: std :: os :: raw :: c_uint = 1 ; pub const __WORDSIZE : :: std :: os :: raw :: c_uint = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : :: std :: os :: raw :: c_uint = 1 ; pub const __SYSCALL_WORDSIZE : :: std :: os :: raw :: c_uint = 64 ; pub const _BITS_WCHAR_H : :: std :: os :: raw :: c_uint = 1 ; pub const INT8_MIN : :: std :: os :: raw :: c_int = -128 ; pub const INT16_MIN : :: std :: os :: raw :: c_int = -32768 ; pub const INT32_MIN : :: std :: os :: raw :: c_int = -2147483648 ; pub const INT8_MAX : :: std :: os :: raw :: c_uint = 127 ; pub const INT16_MAX : :: std :: os :: raw :: c_uint = 32767 ; pub const INT32_MAX : :: std :: os :: raw :: c_uint = 2147483647 ; pub const UINT8_MAX : :: std :: os :: raw :: c_uint = 255 ; pub const UINT16_MAX : :: std :: os :: raw :: c_uint = 65535 ; pub const UINT32_MAX : :: std :: os :: raw :: c_uint = 4294967295 ; pub const INT_LEAST8_MIN : :: std :: os :: raw :: c_int = -128 ; pub const INT_LEAST16_MIN : :: std :: os :: raw :: c_int = -32768 ; pub const INT_LEAST32_MIN : :: std :: os :: raw :: c_int = -2147483648 ; pub const INT_LEAST8_MAX : :: std :: os :: raw :: c_uint = 127 ; pub const INT_LEAST16_MAX : :: std :: os :: raw :: c_uint = 32767 ; pub const INT_LEAST32_MAX : :: std :: os :: raw :: c_uint = 2147483647 ; pub const UINT_LEAST8_MAX : :: std :: os :: raw :: c_uint = 255 ; pub const UINT_LEAST16_MAX : :: std :: os :: raw :: c_uint = 65535 ; pub const UINT_LEAST32_MAX : :: std :: os :: raw :: c_uint = 4294967295 ; pub const INT_FAST8_MIN : :: std :: os :: raw :: c_int = -128 ; pub const INT_FAST16_MIN : :: std :: os :: raw :: c_longlong = -9223372036854775808 ; pub const INT_FAST32_MIN : :: std :: os :: raw :: c_longlong = -9223372036854775808 ; pub const INT_FAST8_MAX : :: std :: os :: raw :: c_uint = 127 ; pub const INT_FAST16_MAX : :: std :: os :: raw :: c_ulonglong = 9223372036854775807 ; pub const INT_FAST32_MAX : :: std :: os :: raw :: c_ulonglong = 9223372036854775807 ; pub const UINT_FAST8_MAX : :: std :: os :: raw :: c_uint = 255 ; pub const UINT_FAST16_MAX : :: std :: os :: raw :: c_int = -1 ; pub const UINT_FAST32_MAX : :: std :: os :: raw :: c_int = -1 ; pub const INTPTR_MIN : :: std :: os :: raw :: c_longlong = -9223372036854775808 ; pub const INTPTR_MAX : :: std :: os :: raw :: c_ulonglong = 9223372036854775807 ; pub const UINTPTR_MAX : :: std :: os :: raw :: c_int = -1 ; pub const PTRDIFF_MIN : :: std :: os :: raw :: c_longlong = -9223372036854775808 ; pub const PTRDIFF_MAX : :: std :: os :: raw :: c_ulonglong = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : :: std :: os :: raw :: c_int = -2147483648 ; pub const SIG_ATOMIC_MAX : :: std :: os :: raw :: c_uint = 2147483647 ; pub const SIZE_MAX : :: std :: os :: raw :: c_int = -1 ; pub const WINT_MIN : :: std :: os :: raw :: c_uint = 0 ; pub const WINT_MAX : :: std :: os :: raw :: c_uint = 4294967295 ; pub const PRIMITIV_C_FALSE : :: std :: os :: raw :: c_uint = 0 ; pub const PRIMITIV_C_TRUE : :: std :: os :: raw :: c_uint = 1 ; pub const PRIMITIV_C_OK : :: std :: os :: raw :: c_uint = 0 ; pub const PRIMITIV_C_ERROR : :: std :: os :: raw :: c_int = -1 ; pub type wchar_t = :: std :: os :: raw :: c_int ; pub type max_align_t = f64 ; pub type int_least8_t = :: std :: os :: raw :: c_schar ; pub type int_least16_t = :: std :: os :: raw :: c_short ; pub type int_least32_t = :: std :: os :: raw :: c_int ; pub type int_least64_t = :: std :: os :: raw :: c_long ; pub type uint_least8_t = :: std :: os :: raw :: c_uchar ; pub type uint_least16_t = :: std :: os :: raw :: c_ushort ; pub type uint_least32_t = :: std :: os :: raw :: c_uint ; pub type uint_least64_t = :: std :: os :: raw :: c_ulong ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = :: std :: os :: raw :: c_long ; pub type uintmax_t = :: std :: os :: raw :: c_ulong ; pub type PRIMITIV_C_BOOL = u32 ; pub type PRIMITIV_C_STATUS = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivDevice { _unused : [ u8 ; 0 ] } pub type primitivDevice_t = primitivDevice ; extern "C" { # [ link_name = "\u{1}_primitivGetDefaultDevice" ] pub fn primitivGetDefaultDevice ( retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetDefaultDevice" ] pub fn primitivSetDefaultDevice ( device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteDevice" ] pub fn primitivDeleteDevice ( device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDumpDeviceDescription" ] pub fn primitivDumpDeviceDescription ( device : * const primitivDevice_t ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivShape { _unused : [ u8 ; 0 ] } pub type primitivShape_t = primitivShape ; extern "C" { # [ link_name = "\u{1}_primitivCreateShape" ] pub fn primitivCreateShape ( newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateShapeWithDims" ] pub fn primitivCreateShapeWithDims ( dims : * const u32 , n : usize , batch : u32 , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCloneShape" ] pub fn primitivCloneShape ( src : * const primitivShape_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteShape" ] pub fn primitivDeleteShape ( shape : * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeDimSize" ] pub fn primitivGetShapeDimSize ( shape : * const primitivShape_t , i : u32 , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeDims" ] pub fn primitivGetShapeDims ( shape : * const primitivShape_t , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeDepth" ] pub fn primitivGetShapeDepth ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeBatchSize" ] pub fn primitivGetShapeBatchSize ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeVolume" ] pub fn primitivGetShapeVolume ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeLowerVolume" ] pub fn primitivGetShapeLowerVolume ( shape : * const primitivShape_t , dim : u32 , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetShapeSize" ] pub fn primitivGetShapeSize ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivRepresentShapeAsString" ] pub fn primitivRepresentShapeAsString ( shape : * const primitivShape_t , retval : * mut :: std :: os :: raw :: c_char , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsShapeEqualTo" ] pub fn primitivIsShapeEqualTo ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsNotShapeEqualTo" ] pub fn primitivIsNotShapeEqualTo ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivHasShapeBatch" ] pub fn primitivHasShapeBatch ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivHasShapeCompatibleBatch" ] pub fn primitivHasShapeCompatibleBatch ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsShapeScalar" ] pub fn primitivIsShapeScalar ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsShapeColumnVector" ] pub fn primitivIsShapeColumnVector ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsShapeMatrix" ] pub fn primitivIsShapeMatrix ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivHasShapeSameDims" ] pub fn primitivHasShapeSameDims ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivHasShapeSameLooDims" ] pub fn primitivHasShapeSameLooDims ( shape : * const primitivShape_t , rhs : * const primitivShape_t , dim : u32 , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResizeShapeDim" ] pub fn primitivResizeShapeDim ( shape : * const primitivShape_t , dim : u32 , m : u32 , new_shape : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResizeShapeBatch" ] pub fn primitivResizeShapeBatch ( shape : * const primitivShape_t , batch : u32 , new_shape : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivUpdateShapeDim" ] pub fn primitivUpdateShapeDim ( shape : * mut primitivShape_t , dim : u32 , m : u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivUpdateShapeBatchSize" ] pub fn primitivUpdateShapeBatchSize ( shape : * mut primitivShape_t , batch : u32 ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivTensor { _unused : [ u8 ; 0 ] } pub type primitivTensor_t = primitivTensor ; extern "C" { # [ link_name = "\u{1}_primitivCreateTensor" ] pub fn primitivCreateTensor ( newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCloneTensor" ] pub fn primitivCloneTensor ( src : * const primitivTensor_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteTensor" ] pub fn primitivDeleteTensor ( tensor : * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsValidTensor" ] pub fn primitivIsValidTensor ( tensor : * const primitivTensor_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetTensorShape" ] pub fn primitivGetTensorShape ( tensor : * const primitivTensor_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetDeviceFromTensor" ] pub fn primitivGetDeviceFromTensor ( tensor : * const primitivTensor_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivEvaluateTensorAsFloat" ] pub fn primitivEvaluateTensorAsFloat ( tensor : * const primitivTensor_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivEvaluateTensorAsArray" ] pub fn primitivEvaluateTensorAsArray ( tensor : * const primitivTensor_t , retval : * mut f32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetTensorArgmax" ] pub fn primitivGetTensorArgmax ( tensor : * const primitivTensor_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetTensorArgmin" ] pub fn primitivGetTensorArgmin ( tensor : * const primitivTensor_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResetTensor" ] pub fn primitivResetTensor ( tensor : * mut primitivTensor_t , k : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResetTensorByArray" ] pub fn primitivResetTensorByArray ( tensor : * mut primitivTensor_t , values : * const f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivReshapeTensor" ] pub fn primitivReshapeTensor ( tensor : * const primitivTensor_t , new_shape : * const primitivShape_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivFlattenTensor" ] pub fn primitivFlattenTensor ( tensor : * const primitivTensor_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivMultiplyTensorByConstantInplace" ] pub fn primitivMultiplyTensorByConstantInplace ( tensor : * mut primitivTensor_t , k : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddTensorInplace" ] pub fn primitivAddTensorInplace ( tensor : * mut primitivTensor_t , x : * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSubtractTensorInplace" ] pub fn primitivSubtractTensorInplace ( tensor : * mut primitivTensor_t , x : * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivNode { _unused : [ u8 ; 0 ] } pub type primitivNode_t = primitivNode ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivGraph { _unused : [ u8 ; 0 ] } pub type primitivGraph_t = primitivGraph ; extern "C" { # [ link_name = "\u{1}_primitivCreateNode" ] pub fn primitivCreateNode ( newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCloneNode" ] pub fn primitivCloneNode ( src : * const primitivNode_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteNode" ] pub fn primitivDeleteNode ( node : * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsValidNode" ] pub fn primitivIsValidNode ( node : * const primitivNode_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetGraphFromNode" ] pub fn primitivGetGraphFromNode ( node : * const primitivNode_t , retval : * mut * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetNodeOperatorId" ] pub fn primitivGetNodeOperatorId ( node : * const primitivNode_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetNodeValueId" ] pub fn primitivGetNodeValueId ( node : * const primitivNode_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetNodeShape" ] pub fn primitivGetNodeShape ( node : * const primitivNode_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetDeviceFromNode" ] pub fn primitivGetDeviceFromNode ( node : * const primitivNode_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivEvaluateNodeAsFloat" ] pub fn primitivEvaluateNodeAsFloat ( node : * const primitivNode_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivEvaluateNodeAsArray" ] pub fn primitivEvaluateNodeAsArray ( node : * const primitivNode_t , retval : * mut f32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetNodeArgmax" ] pub fn primitivGetNodeArgmax ( node : * const primitivNode_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetNodeArgmin" ] pub fn primitivGetNodeArgmin ( node : * const primitivNode_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivExecuteNodeBackward" ] pub fn primitivExecuteNodeBackward ( node : * const primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateGraph" ] pub fn primitivCreateGraph ( newobj : * mut * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteGraph" ] pub fn primitivDeleteGraph ( graph : * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetDefaultGraph" ] pub fn primitivGetDefaultGraph ( retval : * mut * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetDefaultGraph" ] pub fn primitivSetDefaultGraph ( graph : * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivClearGraph" ] pub fn primitivClearGraph ( graph : * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivExecuteGraphForward" ] pub fn primitivExecuteGraphForward ( graph : * mut primitivGraph_t , node : * const primitivNode_t , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivExecuteGraphBackward" ] pub fn primitivExecuteGraphBackward ( graph : * mut primitivGraph_t , node : * const primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetGraphShape" ] pub fn primitivGetGraphShape ( graph : * const primitivGraph_t , node : * const primitivNode_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetDeviceFromGraph" ] pub fn primitivGetDeviceFromGraph ( graph : * const primitivGraph_t , node : * const primitivNode_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDumpGraph" ] pub fn primitivDumpGraph ( graph : * const primitivGraph_t , format : * const :: std :: os :: raw :: c_char , retval : * mut :: std :: os :: raw :: c_char , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetGraphNumOperators" ] pub fn primitivGetGraphNumOperators ( graph : * const primitivGraph_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivInitializer { _unused : [ u8 ; 0 ] } pub type primitivInitializer_t = primitivInitializer ; extern "C" { # [ link_name = "\u{1}_primitivDeleteInitializer" ] pub fn primitivDeleteInitializer ( initializer : * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyInitializer" ] pub fn primitivApplyInitializer ( initializer : * const primitivInitializer_t , x : * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateConstantInitializer" ] pub fn primitivCreateConstantInitializer ( k : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateUniformInitializer" ] pub fn primitivCreateUniformInitializer ( lower : f32 , upper : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateNormalInitializer" ] pub fn primitivCreateNormalInitializer ( mean : f32 , sd : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateIdentityInitializer" ] pub fn primitivCreateIdentityInitializer ( newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateXavierUniformInitializer" ] pub fn primitivCreateXavierUniformInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateXavierNormalInitializer" ] pub fn primitivCreateXavierNormalInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateXavierUniformConv2DInitializer" ] pub fn primitivCreateXavierUniformConv2DInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateXavierNormalConv2DInitializer" ] pub fn primitivCreateXavierNormalConv2DInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivParameter { _unused : [ u8 ; 0 ] } pub type primitivParameter_t = primitivParameter ; extern "C" { # [ link_name = "\u{1}_primitivCreateParameter" ] pub fn primitivCreateParameter ( newobj : * mut * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateParameterWithValues" ] pub fn primitivCreateParameterWithValues ( shape : * const primitivShape_t , value : * const f32 , n : usize , device : * mut primitivDevice_t , newobj : * mut * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateParameterWithInitializer" ] pub fn primitivCreateParameterWithInitializer ( shape : * const primitivShape_t , initializer : * const primitivInitializer_t , device : * mut primitivDevice_t , newobj : * mut * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteParameter" ] pub fn primitivDeleteParameter ( parameter : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivInitializeParameterWithValues" ] pub fn primitivInitializeParameterWithValues ( parameter : * mut primitivParameter_t , shape : * const primitivShape_t , value : * const f32 , n : usize , device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivInitializeParameterWithInitializer" ] pub fn primitivInitializeParameterWithInitializer ( parameter : * mut primitivParameter_t , shape : * const primitivShape_t , initializer : * const primitivInitializer_t , device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivLoadParameter" ] pub fn primitivLoadParameter ( parameter : * mut primitivParameter_t , path : * const :: std :: os :: raw :: c_char , with_stats : PRIMITIV_C_BOOL , device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSaveParameter" ] pub fn primitivSaveParameter ( parameter : * const primitivParameter_t , path : * const :: std :: os :: raw :: c_char , with_stats : PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivIsValidParameter" ] pub fn primitivIsValidParameter ( parameter : * const primitivParameter_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResetParameterGradients" ] pub fn primitivResetParameterGradients ( parameter : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddStatsToParameter" ] pub fn primitivAddStatsToParameter ( parameter : * mut primitivParameter_t , name : * const :: std :: os :: raw :: c_char , shape : * const primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivHasParameterStats" ] pub fn primitivHasParameterStats ( parameter : * const primitivParameter_t , name : * const :: std :: os :: raw :: c_char , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetParameterShape" ] pub fn primitivGetParameterShape ( parameter : * const primitivParameter_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetDeviceFromParameter" ] pub fn primitivGetDeviceFromParameter ( parameter : * const primitivParameter_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetParameterValue" ] pub fn primitivGetParameterValue ( parameter : * const primitivParameter_t , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetParameterGradient" ] pub fn primitivGetParameterGradient ( parameter : * const primitivParameter_t , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetParameterStats" ] pub fn primitivGetParameterStats ( parameter : * const primitivParameter_t , name : * const :: std :: os :: raw :: c_char , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivModel { _unused : [ u8 ; 0 ] } pub type primitivModel_t = primitivModel ; extern "C" { # [ link_name = "\u{1}_primitivCreateModel" ] pub fn primitivCreateModel ( newobj : * mut * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivDeleteModel" ] pub fn primitivDeleteModel ( model : * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivLoadModel" ] pub fn primitivLoadModel ( model : * mut primitivModel_t , path : * const :: std :: os :: raw :: c_char , with_stats : PRIMITIV_C_BOOL , device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSaveModel" ] pub fn primitivSaveModel ( model : * const primitivModel_t , path : * const :: std :: os :: raw :: c_char , with_stats : PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddParameterToModel" ] pub fn primitivAddParameterToModel ( model : * mut primitivModel_t , name : * const :: std :: os :: raw :: c_char , param : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddSubmodelToModel" ] pub fn primitivAddSubmodelToModel ( model : * mut primitivModel_t , name : * const :: std :: os :: raw :: c_char , submodel : * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetParameterFromModel" ] pub fn primitivGetParameterFromModel ( model : * const primitivModel_t , names : * mut * const :: std :: os :: raw :: c_char , n : usize , retval : * mut * const primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetSubmodelFromModel" ] pub fn primitivGetSubmodelFromModel ( model : * const primitivModel_t , names : * mut * const :: std :: os :: raw :: c_char , n : usize , retval : * mut * const primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateNaiveDevice" ] pub fn primitivCreateNaiveDevice ( newobj : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateNaiveDeviceWithSeed" ] pub fn primitivCreateNaiveDeviceWithSeed ( seed : u32 , newobj : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePositive" ] pub fn primitivApplyNodePositive ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPositive" ] pub fn primitivApplyTensorPositive ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeNegative" ] pub fn primitivApplyNodeNegative ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorNegative" ] pub fn primitivApplyTensorNegative ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeAddXC" ] pub fn primitivApplyNodeAddXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeAddCX" ] pub fn primitivApplyNodeAddCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeAdd" ] pub fn primitivApplyNodeAdd ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorAddXC" ] pub fn primitivApplyTensorAddXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorAddCX" ] pub fn primitivApplyTensorAddCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorAdd" ] pub fn primitivApplyTensorAdd ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSubtractXC" ] pub fn primitivApplyNodeSubtractXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSubtractCX" ] pub fn primitivApplyNodeSubtractCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSubtract" ] pub fn primitivApplyNodeSubtract ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSubtractXC" ] pub fn primitivApplyTensorSubtractXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSubtractCX" ] pub fn primitivApplyTensorSubtractCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSubtract" ] pub fn primitivApplyTensorSubtract ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMultiplyXC" ] pub fn primitivApplyNodeMultiplyXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMultiplyCX" ] pub fn primitivApplyNodeMultiplyCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMultiply" ] pub fn primitivApplyNodeMultiply ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMultiplyXC" ] pub fn primitivApplyTensorMultiplyXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMultiplyCX" ] pub fn primitivApplyTensorMultiplyCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMultiply" ] pub fn primitivApplyTensorMultiply ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeDivideXC" ] pub fn primitivApplyNodeDivideXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeDivideCX" ] pub fn primitivApplyNodeDivideCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeDivide" ] pub fn primitivApplyNodeDivide ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorDivideXC" ] pub fn primitivApplyTensorDivideXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorDivideCX" ] pub fn primitivApplyTensorDivideCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorDivide" ] pub fn primitivApplyTensorDivide ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePowXC" ] pub fn primitivApplyNodePowXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePowCX" ] pub fn primitivApplyNodePowCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePow" ] pub fn primitivApplyNodePow ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPowXC" ] pub fn primitivApplyTensorPowXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPowCX" ] pub fn primitivApplyTensorPowCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPow" ] pub fn primitivApplyTensorPow ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePowN" ] pub fn primitivApplyNodePowN ( x : * const primitivNode_t , k : i32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPowN" ] pub fn primitivApplyTensorPowN ( x : * const primitivTensor_t , k : i32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeInput" ] pub fn primitivApplyNodeInput ( shape : * const primitivShape_t , data : * const f32 , n : usize , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorInput" ] pub fn primitivApplyTensorInput ( shape : * const primitivShape_t , data : * const f32 , n : usize , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeParameter" ] pub fn primitivApplyNodeParameter ( param : * mut primitivParameter_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorParameter" ] pub fn primitivApplyTensorParameter ( param : * mut primitivParameter_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeCopy" ] pub fn primitivApplyNodeCopy ( x : * const primitivNode_t , dev : * mut primitivDevice_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorCopy" ] pub fn primitivApplyTensorCopy ( x : * const primitivTensor_t , dev : * mut primitivDevice_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePick" ] pub fn primitivApplyNodePick ( x : * const primitivNode_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPick" ] pub fn primitivApplyTensorPick ( x : * const primitivTensor_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSlice" ] pub fn primitivApplyNodeSlice ( x : * const primitivNode_t , dim : u32 , lower : u32 , upper : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSlice" ] pub fn primitivApplyTensorSlice ( x : * const primitivTensor_t , dim : u32 , lower : u32 , upper : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSplit" ] pub fn primitivApplyNodeSplit ( x : * const primitivNode_t , dim : u32 , n : u32 , ys : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSplit" ] pub fn primitivApplyTensorSplit ( x : * const primitivTensor_t , dim : u32 , n : u32 , ys : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeConcat" ] pub fn primitivApplyNodeConcat ( xs : * const * const primitivNode_t , n : usize , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorConcat" ] pub fn primitivApplyTensorConcat ( xs : * const * const primitivTensor_t , n : usize , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeReshape" ] pub fn primitivApplyNodeReshape ( x : * const primitivNode_t , new_shape : * const primitivShape_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorReshape" ] pub fn primitivApplyTensorReshape ( x : * const primitivTensor_t , new_shape : * const primitivShape_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeFlatten" ] pub fn primitivApplyNodeFlatten ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorFlatten" ] pub fn primitivApplyTensorFlatten ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeTranspose" ] pub fn primitivApplyNodeTranspose ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorTranspose" ] pub fn primitivApplyTensorTranspose ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMatmul" ] pub fn primitivApplyNodeMatmul ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMatmul" ] pub fn primitivApplyTensorMatmul ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSqrt" ] pub fn primitivApplyNodeSqrt ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSqrt" ] pub fn primitivApplyTensorSqrt ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeExp" ] pub fn primitivApplyNodeExp ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorExp" ] pub fn primitivApplyTensorExp ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeLog" ] pub fn primitivApplyNodeLog ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorLog" ] pub fn primitivApplyTensorLog ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeTanh" ] pub fn primitivApplyNodeTanh ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorTanh" ] pub fn primitivApplyTensorTanh ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSigmoid" ] pub fn primitivApplyNodeSigmoid ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSigmoid" ] pub fn primitivApplyTensorSigmoid ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSoftplus" ] pub fn primitivApplyNodeSoftplus ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSoftplus" ] pub fn primitivApplyTensorSoftplus ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSin" ] pub fn primitivApplyNodeSin ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSin" ] pub fn primitivApplyTensorSin ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeCos" ] pub fn primitivApplyNodeCos ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorCos" ] pub fn primitivApplyTensorCos ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeTan" ] pub fn primitivApplyNodeTan ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorTan" ] pub fn primitivApplyTensorTan ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeRelu" ] pub fn primitivApplyNodeRelu ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorRelu" ] pub fn primitivApplyTensorRelu ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeLrelu" ] pub fn primitivApplyNodeLrelu ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorLrelu" ] pub fn primitivApplyTensorLrelu ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodePrelu" ] pub fn primitivApplyNodePrelu ( x : * const primitivNode_t , a : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorPrelu" ] pub fn primitivApplyTensorPrelu ( x : * const primitivTensor_t , a : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeElu" ] pub fn primitivApplyNodeElu ( x : * const primitivNode_t , a : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorElu" ] pub fn primitivApplyTensorElu ( x : * const primitivTensor_t , a : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSum" ] pub fn primitivApplyNodeSum ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSum" ] pub fn primitivApplyTensorSum ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeBroadcast" ] pub fn primitivApplyNodeBroadcast ( x : * const primitivNode_t , dim : u32 , size : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorBroadcast" ] pub fn primitivApplyTensorBroadcast ( x : * const primitivTensor_t , dim : u32 , size : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeLogsumexp" ] pub fn primitivApplyNodeLogsumexp ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorLogsumexp" ] pub fn primitivApplyTensorLogsumexp ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeLogSoftmax" ] pub fn primitivApplyNodeLogSoftmax ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorLogSoftmax" ] pub fn primitivApplyTensorLogSoftmax ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSoftmax" ] pub fn primitivApplyNodeSoftmax ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSoftmax" ] pub fn primitivApplyTensorSoftmax ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSoftmaxCrossEntropy" ] pub fn primitivApplyNodeSoftmaxCrossEntropy ( x : * const primitivNode_t , t : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSoftmaxCrossEntropy" ] pub fn primitivApplyTensorSoftmaxCrossEntropy ( x : * const primitivTensor_t , t : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSoftmaxCrossEntropyWithArray" ] pub fn primitivApplyNodeSoftmaxCrossEntropyWithArray ( x : * const primitivNode_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSoftmaxCrossEntropyWithArray" ] pub fn primitivApplyTensorSoftmaxCrossEntropyWithArray ( x : * const primitivTensor_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeStopGradient" ] pub fn primitivApplyNodeStopGradient ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorStopGradient" ] pub fn primitivApplyTensorStopGradient ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeConv2d" ] pub fn primitivApplyNodeConv2d ( x : * const primitivNode_t , w : * const primitivNode_t , padding0 : u32 , padding1 : u32 , stride0 : u32 , stride1 : u32 , dilation0 : u32 , dilation1 : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorConv2d" ] pub fn primitivApplyTensorConv2d ( x : * const primitivTensor_t , w : * const primitivTensor_t , padding0 : u32 , padding1 : u32 , stride0 : u32 , stride1 : u32 , dilation0 : u32 , dilation1 : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMaxPool2d" ] pub fn primitivApplyNodeMaxPool2d ( x : * const primitivNode_t , window0 : u32 , window1 : u32 , padding0 : u32 , padding1 : u32 , stride0 : u32 , stride1 : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMaxPool2d" ] pub fn primitivApplyTensorMaxPool2d ( x : * const primitivTensor_t , window0 : u32 , window1 : u32 , padding0 : u32 , padding1 : u32 , stride0 : u32 , stride1 : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeBatchSum" ] pub fn primitivApplyNodeBatchSum ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorBatchSum" ] pub fn primitivApplyTensorBatchSum ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeConstant" ] pub fn primitivApplyNodeConstant ( shape : * const primitivShape_t , k : f32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorConstant" ] pub fn primitivApplyTensorConstant ( shape : * const primitivShape_t , k : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeIdentity" ] pub fn primitivApplyNodeIdentity ( size : u32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorIdentity" ] pub fn primitivApplyTensorIdentity ( size : u32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeRandomBernoulli" ] pub fn primitivApplyNodeRandomBernoulli ( shape : * const primitivShape_t , p : f32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorRandomBernoulli" ] pub fn primitivApplyTensorRandomBernoulli ( shape : * const primitivShape_t , p : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeRandomUniform" ] pub fn primitivApplyNodeRandomUniform ( shape : * const primitivShape_t , lower : f32 , upper : f32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorRandomUniform" ] pub fn primitivApplyTensorRandomUniform ( shape : * const primitivShape_t , lower : f32 , upper : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeRandomNormal" ] pub fn primitivApplyNodeRandomNormal ( shape : * const primitivShape_t , mean : f32 , sd : f32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorRandomNormal" ] pub fn primitivApplyTensorRandomNormal ( shape : * const primitivShape_t , mean : f32 , sd : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeRandomLogNormal" ] pub fn primitivApplyNodeRandomLogNormal ( shape : * const primitivShape_t , mean : f32 , sd : f32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorRandomLogNormal" ] pub fn primitivApplyTensorRandomLogNormal ( shape : * const primitivShape_t , mean : f32 , sd : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeRandomGumbel" ] pub fn primitivApplyNodeRandomGumbel ( shape : * const primitivShape_t , mu : f32 , beta : f32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorRandomGumbel" ] pub fn primitivApplyTensorRandomGumbel ( shape : * const primitivShape_t , mu : f32 , beta : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSelu" ] pub fn primitivApplyNodeSelu ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSelu" ] pub fn primitivApplyTensorSelu ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeSumNodes" ] pub fn primitivApplyNodeSumNodes ( xs : * const * const primitivNode_t , n : usize , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorSumTensors" ] pub fn primitivApplyTensorSumTensors ( xs : * const * const primitivTensor_t , n : usize , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMean" ] pub fn primitivApplyNodeMean ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMean" ] pub fn primitivApplyTensorMean ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeMeanNodes" ] pub fn primitivApplyNodeMeanNodes ( xs : * const * const primitivNode_t , n : usize , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorMeanTensors" ] pub fn primitivApplyTensorMeanTensors ( xs : * const * const primitivTensor_t , n : usize , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeBatchMean" ] pub fn primitivApplyNodeBatchMean ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorBatchMean" ] pub fn primitivApplyTensorBatchMean ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeBatchNormalize" ] pub fn primitivApplyNodeBatchNormalize ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorBatchNormalize" ] pub fn primitivApplyTensorBatchNormalize ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeZeros" ] pub fn primitivApplyNodeZeros ( shape : * const primitivShape_t , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorZeros" ] pub fn primitivApplyTensorZeros ( shape : * const primitivShape_t , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeOnes" ] pub fn primitivApplyNodeOnes ( shape : * const primitivShape_t , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorOnes" ] pub fn primitivApplyTensorOnes ( shape : * const primitivShape_t , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyNodeDropout" ] pub fn primitivApplyNodeDropout ( x : * const primitivNode_t , rate : f32 , enabled : PRIMITIV_C_BOOL , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivApplyTensorDropout" ] pub fn primitivApplyTensorDropout ( x : * const primitivTensor_t , rate : f32 , enabled : PRIMITIV_C_BOOL , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResetStatus" ] pub fn primitivResetStatus ( ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetMessage" ] pub fn primitivGetMessage ( retval : * mut :: std :: os :: raw :: c_char , size : * mut usize ) -> PRIMITIV_C_STATUS ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct primitivOptimizer { _unused : [ u8 ; 0 ] } pub type primitivOptimizer_t = primitivOptimizer ; extern "C" { # [ link_name = "\u{1}_primitivDeleteOptimizer" ] pub fn primitivDeleteOptimizer ( optimizer : * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivLoadOptimizer" ] pub fn primitivLoadOptimizer ( optimizer : * mut primitivOptimizer_t , path : * const :: std :: os :: raw :: c_char ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSaveOptimizer" ] pub fn primitivSaveOptimizer ( optimizer : * const primitivOptimizer_t , path : * const :: std :: os :: raw :: c_char ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetOptimizerEpoch" ] pub fn primitivGetOptimizerEpoch ( optimizer : * const primitivOptimizer_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetOptimizerEpoch" ] pub fn primitivSetOptimizerEpoch ( optimizer : * mut primitivOptimizer_t , epoch : u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetOptimizerLearningRateScaling" ] pub fn primitivGetOptimizerLearningRateScaling ( optimizer : * const primitivOptimizer_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetOptimizerLearningRateScaling" ] pub fn primitivSetOptimizerLearningRateScaling ( optimizer : * mut primitivOptimizer_t , scale : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetOptimizerWeightDecay" ] pub fn primitivGetOptimizerWeightDecay ( optimizer : * const primitivOptimizer_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetOptimizerWeightDecay" ] pub fn primitivSetOptimizerWeightDecay ( optimizer : * mut primitivOptimizer_t , strength : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetOptimizerGradientClipping" ] pub fn primitivGetOptimizerGradientClipping ( optimizer : * const primitivOptimizer_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetOptimizerGradientClipping" ] pub fn primitivSetOptimizerGradientClipping ( optimizer : * mut primitivOptimizer_t , threshold : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddParameterToOptimizer" ] pub fn primitivAddParameterToOptimizer ( optimizer : * mut primitivOptimizer_t , param : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddParametersToOptimizer" ] pub fn primitivAddParametersToOptimizer ( optimizer : * mut primitivOptimizer_t , params : * mut * mut primitivParameter_t , n : usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddModelToOptimizer" ] pub fn primitivAddModelToOptimizer ( optimizer : * mut primitivOptimizer_t , model : * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivAddModelsToOptimizer" ] pub fn primitivAddModelsToOptimizer ( optimizer : * mut primitivOptimizer_t , models : * mut * mut primitivModel_t , n : usize ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivResetOptimizerGradients" ] pub fn primitivResetOptimizerGradients ( optimizer : * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivExecuteOptimizerUpdate" ] pub fn primitivExecuteOptimizerUpdate ( optimizer : * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetOptimizerIntConfig" ] pub fn primitivGetOptimizerIntConfig ( optimizer : * const primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetOptimizerIntConfig" ] pub fn primitivSetOptimizerIntConfig ( optimizer : * mut primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , value : u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivGetOptimizerFloatConfig" ] pub fn primitivGetOptimizerFloatConfig ( optimizer : * const primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivSetOptimizerFloatConfig" ] pub fn primitivSetOptimizerFloatConfig ( optimizer : * mut primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , value : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateSgdOptimizer" ] pub fn primitivCreateSgdOptimizer ( eta : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateMomentumSgdOptimizer" ] pub fn primitivCreateMomentumSgdOptimizer ( eta : f32 , momentum : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateAdaGradOptimizer" ] pub fn primitivCreateAdaGradOptimizer ( eta : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateRmsPropOptimizer" ] pub fn primitivCreateRmsPropOptimizer ( eta : f32 , alpha : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateAdaDeltaOptimizer" ] pub fn primitivCreateAdaDeltaOptimizer ( rho : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { # [ link_name = "\u{1}_primitivCreateAdamOptimizer" ] pub fn primitivCreateAdamOptimizer ( alpha : f32 , beta1 : f32 , beta2 : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; }