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 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : f64 , } # [ test ] fn bindgen_test_layout_max_align_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < max_align_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce2 ) ) ) ; } 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" { pub fn primitivGetDefaultDevice ( retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetDefaultDevice ( device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivDeleteDevice ( device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivCreateShape ( newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateShapeWithDims ( dims : * const u32 , n : usize , batch : u32 , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCloneShape ( src : * const primitivShape_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivDeleteShape ( shape : * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeDimSize ( shape : * const primitivShape_t , i : u32 , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeDims ( shape : * const primitivShape_t , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeDepth ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeBatchSize ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeVolume ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeLowerVolume ( shape : * const primitivShape_t , dim : u32 , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetShapeSize ( shape : * const primitivShape_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivRepresentShapeAsString ( shape : * const primitivShape_t , retval : * mut :: std :: os :: raw :: c_char , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsShapeEqualTo ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsNotShapeEqualTo ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivHasShapeBatch ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivHasShapeCompatibleBatch ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsShapeScalar ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsShapeColumnVector ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsShapeMatrix ( shape : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivHasShapeSameDims ( shape : * const primitivShape_t , rhs : * const primitivShape_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivHasShapeSameLooDims ( shape : * const primitivShape_t , rhs : * const primitivShape_t , dim : u32 , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResizeShapeDim ( shape : * const primitivShape_t , dim : u32 , m : u32 , new_shape : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResizeShapeBatch ( shape : * const primitivShape_t , batch : u32 , new_shape : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivUpdateShapeDim ( shape : * mut primitivShape_t , dim : u32 , m : u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivCreateTensor ( newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCloneTensor ( src : * const primitivTensor_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivDeleteTensor ( tensor : * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsValidTensor ( tensor : * const primitivTensor_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetTensorShape ( tensor : * const primitivTensor_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetDeviceFromTensor ( tensor : * const primitivTensor_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivEvaluateTensorAsFloat ( tensor : * const primitivTensor_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivEvaluateTensorAsArray ( tensor : * const primitivTensor_t , retval : * mut f32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetTensorArgmax ( tensor : * const primitivTensor_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetTensorArgmin ( tensor : * const primitivTensor_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResetTensor ( tensor : * mut primitivTensor_t , k : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResetTensorByArray ( tensor : * mut primitivTensor_t , values : * const f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivReshapeTensor ( tensor : * const primitivTensor_t , new_shape : * const primitivShape_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivFlattenTensor ( tensor : * const primitivTensor_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivMultiplyTensorByConstantInplace ( tensor : * mut primitivTensor_t , k : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddTensorInplace ( tensor : * mut primitivTensor_t , x : * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivCreateNode ( newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCloneNode ( src : * const primitivNode_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivDeleteNode ( node : * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsValidNode ( node : * const primitivNode_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetGraphFromNode ( node : * const primitivNode_t , retval : * mut * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetNodeOperatorId ( node : * const primitivNode_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetNodeValueId ( node : * const primitivNode_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetNodeShape ( node : * const primitivNode_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetDeviceFromNode ( node : * const primitivNode_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivEvaluateNodeAsFloat ( node : * const primitivNode_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivEvaluateNodeAsArray ( node : * const primitivNode_t , retval : * mut f32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetNodeArgmax ( node : * const primitivNode_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetNodeArgmin ( node : * const primitivNode_t , dim : u32 , retval : * mut u32 , size : * mut usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivExecuteNodeBackward ( node : * const primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateGraph ( newobj : * mut * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivDeleteGraph ( graph : * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetDefaultGraph ( retval : * mut * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetDefaultGraph ( graph : * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivClearGraph ( graph : * mut primitivGraph_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivExecuteGraphForward ( graph : * mut primitivGraph_t , node : * const primitivNode_t , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivExecuteGraphBackward ( graph : * mut primitivGraph_t , node : * const primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetGraphShape ( graph : * const primitivGraph_t , node : * const primitivNode_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetDeviceFromGraph ( graph : * const primitivGraph_t , node : * const primitivNode_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { 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" { pub fn primitivDeleteInitializer ( initializer : * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyInitializer ( initializer : * const primitivInitializer_t , x : * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateConstantInitializer ( k : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateUniformInitializer ( lower : f32 , upper : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateNormalInitializer ( mean : f32 , sd : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateIdentityInitializer ( newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateXavierUniformInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateXavierNormalInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateXavierUniformConv2DInitializer ( scale : f32 , newobj : * mut * mut primitivInitializer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivCreateParameter ( newobj : * mut * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { 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" { pub fn primitivDeleteParameter ( parameter : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivInitializeParameterWithInitializer ( parameter : * mut primitivParameter_t , shape : * const primitivShape_t , initializer : * const primitivInitializer_t , device : * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivSaveParameter ( parameter : * const primitivParameter_t , path : * const :: std :: os :: raw :: c_char , with_stats : PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivIsValidParameter ( parameter : * const primitivParameter_t , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResetParameterGradients ( parameter : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddStatsToParameter ( parameter : * mut primitivParameter_t , name : * const :: std :: os :: raw :: c_char , shape : * const primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivHasParameterStats ( parameter : * const primitivParameter_t , name : * const :: std :: os :: raw :: c_char , retval : * mut PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetParameterShape ( parameter : * const primitivParameter_t , newobj : * mut * mut primitivShape_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetDeviceFromParameter ( parameter : * const primitivParameter_t , retval : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetParameterValue ( parameter : * const primitivParameter_t , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetParameterGradient ( parameter : * const primitivParameter_t , retval : * mut * const primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivCreateModel ( newobj : * mut * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivDeleteModel ( model : * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivSaveModel ( model : * const primitivModel_t , path : * const :: std :: os :: raw :: c_char , with_stats : PRIMITIV_C_BOOL ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddParameterToModel ( model : * mut primitivModel_t , name : * const :: std :: os :: raw :: c_char , param : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddSubmodelToModel ( model : * mut primitivModel_t , name : * const :: std :: os :: raw :: c_char , submodel : * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { 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" { pub fn primitivCreateNaiveDevice ( newobj : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateNaiveDeviceWithSeed ( seed : u32 , newobj : * mut * mut primitivDevice_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePositive ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPositive ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeNegative ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorNegative ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeAddXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeAddCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeAdd ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorAddXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorAddCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorAdd ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSubtractXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSubtractCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSubtract ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSubtractXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSubtractCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSubtract ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeMultiplyXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeMultiplyCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeMultiply ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorMultiplyXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorMultiplyCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorMultiply ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeDivideXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeDivideCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeDivide ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorDivideXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorDivideCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorDivide ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePowXC ( x : * const primitivNode_t , k : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePowCX ( k : f32 , x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePow ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPowXC ( x : * const primitivTensor_t , k : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPowCX ( k : f32 , x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPow ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePowN ( x : * const primitivNode_t , k : i32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPowN ( x : * const primitivTensor_t , k : i32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { 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" { pub fn primitivApplyNodeParameter ( param : * mut primitivParameter_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorParameter ( param : * mut primitivParameter_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeCopy ( x : * const primitivNode_t , dev : * mut primitivDevice_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorCopy ( x : * const primitivTensor_t , dev : * mut primitivDevice_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePick ( x : * const primitivNode_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPick ( x : * const primitivTensor_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSlice ( x : * const primitivNode_t , dim : u32 , lower : u32 , upper : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSlice ( x : * const primitivTensor_t , dim : u32 , lower : u32 , upper : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSplit ( x : * const primitivNode_t , dim : u32 , n : u32 , ys : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSplit ( x : * const primitivTensor_t , dim : u32 , n : u32 , ys : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeConcat ( xs : * const * const primitivNode_t , n : usize , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorConcat ( xs : * const * const primitivTensor_t , n : usize , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeReshape ( x : * const primitivNode_t , new_shape : * const primitivShape_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorReshape ( x : * const primitivTensor_t , new_shape : * const primitivShape_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeFlatten ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorFlatten ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeTranspose ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorTranspose ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeMatmul ( a : * const primitivNode_t , b : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorMatmul ( a : * const primitivTensor_t , b : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSqrt ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSqrt ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeExp ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorExp ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeLog ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorLog ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeTanh ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorTanh ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSigmoid ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSigmoid ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSoftplus ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSoftplus ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSin ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSin ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeCos ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorCos ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeTan ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorTan ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeRelu ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorRelu ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeLrelu ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorLrelu ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodePrelu ( x : * const primitivNode_t , a : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorPrelu ( x : * const primitivTensor_t , a : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeElu ( x : * const primitivNode_t , a : f32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorElu ( x : * const primitivTensor_t , a : f32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSum ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSum ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeBroadcast ( x : * const primitivNode_t , dim : u32 , size : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorBroadcast ( x : * const primitivTensor_t , dim : u32 , size : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeLogsumexp ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorLogsumexp ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeLogSoftmax ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorLogSoftmax ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSoftmax ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSoftmax ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSoftmaxCrossEntropy ( x : * const primitivNode_t , t : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSoftmaxCrossEntropy ( x : * const primitivTensor_t , t : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSoftmaxCrossEntropyWithArray ( x : * const primitivNode_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSoftmaxCrossEntropyWithArray ( x : * const primitivTensor_t , ids : * const u32 , n : usize , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeStopGradient ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorStopGradient ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { 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" { 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" { 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" { pub fn primitivApplyNodeBatchSum ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorBatchSum ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivApplyTensorConstant ( shape : * const primitivShape_t , k : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeIdentity ( size : u32 , dev : * mut primitivDevice_t , g : * mut primitivGraph_t , newobj : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorIdentity ( size : u32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivApplyTensorRandomBernoulli ( shape : * const primitivShape_t , p : f32 , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { 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" { 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" { 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" { 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" { 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" { 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" { 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" { pub fn primitivApplyNodeSelu ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSelu ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeSumNodes ( xs : * const * const primitivNode_t , n : usize , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorSumTensors ( xs : * const * const primitivTensor_t , n : usize , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeMean ( x : * const primitivNode_t , dim : u32 , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorMean ( x : * const primitivTensor_t , dim : u32 , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeMeanNodes ( xs : * const * const primitivNode_t , n : usize , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorMeanTensors ( xs : * const * const primitivTensor_t , n : usize , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeBatchMean ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorBatchMean ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeBatchNormalize ( x : * const primitivNode_t , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorBatchNormalize ( x : * const primitivTensor_t , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivApplyTensorZeros ( shape : * const primitivShape_t , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivApplyTensorOnes ( shape : * const primitivShape_t , dev : * mut primitivDevice_t , newobj : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyNodeDropout ( x : * const primitivNode_t , rate : f32 , enabled : PRIMITIV_C_BOOL , y : * mut * mut primitivNode_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivApplyTensorDropout ( x : * const primitivTensor_t , rate : f32 , enabled : PRIMITIV_C_BOOL , y : * mut * mut primitivTensor_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResetStatus ( ) -> PRIMITIV_C_STATUS ; } extern "C" { 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" { pub fn primitivDeleteOptimizer ( optimizer : * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivLoadOptimizer ( optimizer : * mut primitivOptimizer_t , path : * const :: std :: os :: raw :: c_char ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSaveOptimizer ( optimizer : * const primitivOptimizer_t , path : * const :: std :: os :: raw :: c_char ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetOptimizerEpoch ( optimizer : * const primitivOptimizer_t , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetOptimizerEpoch ( optimizer : * mut primitivOptimizer_t , epoch : u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetOptimizerLearningRateScaling ( optimizer : * const primitivOptimizer_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetOptimizerLearningRateScaling ( optimizer : * mut primitivOptimizer_t , scale : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetOptimizerWeightDecay ( optimizer : * const primitivOptimizer_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetOptimizerWeightDecay ( optimizer : * mut primitivOptimizer_t , strength : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetOptimizerGradientClipping ( optimizer : * const primitivOptimizer_t , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetOptimizerGradientClipping ( optimizer : * mut primitivOptimizer_t , threshold : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddParameterToOptimizer ( optimizer : * mut primitivOptimizer_t , param : * mut primitivParameter_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddParametersToOptimizer ( optimizer : * mut primitivOptimizer_t , params : * mut * mut primitivParameter_t , n : usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddModelToOptimizer ( optimizer : * mut primitivOptimizer_t , model : * mut primitivModel_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivAddModelsToOptimizer ( optimizer : * mut primitivOptimizer_t , models : * mut * mut primitivModel_t , n : usize ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivResetOptimizerGradients ( optimizer : * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivExecuteOptimizerUpdate ( optimizer : * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetOptimizerIntConfig ( optimizer : * const primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , retval : * mut u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetOptimizerIntConfig ( optimizer : * mut primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , value : u32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivGetOptimizerFloatConfig ( optimizer : * const primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , retval : * mut f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivSetOptimizerFloatConfig ( optimizer : * mut primitivOptimizer_t , key : * const :: std :: os :: raw :: c_char , value : f32 ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateSgdOptimizer ( eta : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateMomentumSgdOptimizer ( eta : f32 , momentum : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateAdaGradOptimizer ( eta : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateRmsPropOptimizer ( eta : f32 , alpha : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateAdaDeltaOptimizer ( rho : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; } extern "C" { pub fn primitivCreateAdamOptimizer ( alpha : f32 , beta1 : f32 , beta2 : f32 , eps : f32 , newobj : * mut * mut primitivOptimizer_t ) -> PRIMITIV_C_STATUS ; }