/* Ċ Ġ* ĠThis ĠKotlin Ġsource Ġfile Ġwas Ġgenerated Ġby Ġthe ĠGradle Ġ' init ' Ġtask . Ċ Ġ*/ Ċ package Ġcom . github . han abi 1 2 2 4 . Ru Anno y Ċ Ċ import Ġjava . io . Closeable Ċ Ċ public Ġenum Ġclass ĠIndex Type ( val Ġvalue : ĠByte ) Ġ{ ĊĠĠĠ ĠAngular ( 0 ), ĊĠĠĠ ĠE uclidean ( 1 ), ĊĠĠĠ ĠMan h att an ( 2 ), ĊĠĠĠ ĠH am ming ( 3 ), ĊĠĠĠ ĠDot ( 4 ), Ċ } Ċ Ċ public Ġclass ĠAnno y Index SearchResult ( ĊĠĠĠĠĠĠĠ Ġval Ġcount : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġdistance Included : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġid List : ĠLong Array , ĊĠĠĠĠĠĠĠ Ġval Ġdistance List : ĠFloat Array Ċ ) Ġ{} Ċ Ċ public Ġinterface ĠI Anno y Index Ġ: ĠClose able Ġ{ ĊĠĠĠ Ġval Ġdimension : ĠInt ĊĠĠĠ Ġval Ġtype : ĠIndex Type ĊĠĠĠ Ġval Ġsize : ĠLong ĊĠĠĠ Ġfun ĠgetItem Vector ( item Index : ĠLong ): ĠFloat Array ĊĠĠĠ Ġfun Ġget Nearest ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Vector : ĠFloat Array , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Result : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch K : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Include Distance : ĠBoolean ĊĠĠĠ Ġ): ĠAnno y Index SearchResult ĊĠĠĠ Ġfun Ġget Nearest To Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Index : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Result : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch K : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Include Distance : ĠBoolean ĊĠĠĠ Ġ): ĠAnno y Index SearchResult Ċ } Ċ Ċ public Ġclass ĠAnno y Index ( ĊĠĠĠĠĠĠĠ Ġval Ġpointer : ĠLong , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġdimension : ĠInt , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtype : ĠIndex Type , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġsize : ĠLong Ċ ) Ġ: ĠI Anno y Index Ġ{ ĊĠĠĠ Ġpublic Ġoverride Ġfun ĠgetItem Vector ( item Index : ĠLong ): ĠFloat Array Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNative Methods . getItem Vector ( this . pointer , Ġitem Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġget Nearest ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Vector : ĠFloat Array , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Result : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch K : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Include Distance : ĠBoolean ĊĠĠĠ Ġ): ĠAnno y Index SearchResult Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġid List Ġ= ĠLong Array ( n Result ) ĊĠĠĠĠĠĠĠ Ġvar Ġdistance List Ġ= ĠFloat Array ( if Ġ( should Include Distance ) Ġn Result Ġelse Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġcount Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNative Methods . get Nearest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . pointer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery Vector , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn Result , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Include Distance , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid List , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance List ) ĊĠĠĠĠĠĠĠ Ġif Ġ( count Ġ< Ġn Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid List Ġ= Ġid List . take ( count ). to Long Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( should Include Distance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance List Ġ= Ġdistance List . take ( count ). toFloat Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠAnno y Index SearchResult ( count , Ġshould Include Distance , Ġid List , Ġdistance List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġget Nearest To Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Index : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Result : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch K : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Include Distance : ĠBoolean ĊĠĠĠ Ġ): ĠAnno y Index SearchResult Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġid List Ġ= ĠLong Array ( n Result ) ĊĠĠĠĠĠĠĠ Ġvar Ġdistance List Ġ= ĠFloat Array ( if Ġ( should Include Distance ) Ġn Result Ġelse Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġcount Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNative Methods . get Nearest To Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . pointer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn Result , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch K , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Include Distance , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid List , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance List ) ĊĠĠĠĠĠĠĠ Ġif Ġ( count Ġ< Ġn Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid List Ġ= Ġid List . take ( count ). to Long Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( should Include Distance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance List Ġ= Ġdistance List . take ( count ). toFloat Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠAnno y Index SearchResult ( count , Ġshould Include Distance , Ġid List , Ġdistance List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ ĠNative Methods . free Index ( pointer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnative Library Loaded Ġ= ĠNative Library Loader . load Library ("/", Ġ" anno y _ rs _ jni ") ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġis Native Library Loaded (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnative Library Loaded ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġtry Load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdimension : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠIndex Type , ĊĠĠĠĠĠĠĠ Ġ): ĠI Anno y Index ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpointer Ġ= ĠNative Methods . load Index ( path , Ġdimension , Ġtype . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pointer Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= ĠNative Methods . getIndex Size ( pointer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAnno y Index ( pointer , Ġdimension , Ġtype , Ġsize ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ