2017-02-23 06:26:44 +08:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.5" / >
< title > Faiss: faiss Namespace Reference< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
$(document).ready(function() { searchBox.OnSelectItem(0); });
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > Faiss
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search",false,'Search');
< / script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li class = "current" > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" / > < / a >
< / span >
< / div >
< / li >
< / ul >
< / div >
< div id = "navrow2" class = "tabs2" >
< ul class = "tablist" >
< li > < a href = "namespaces.html" > < span > Namespace  List< / span > < / a > < / li >
< li > < a href = "namespacemembers.html" > < span > Namespace  Members< / span > < / a > < / li >
< / ul >
< / div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(0)" > < span class = "SelectionMark" >   < / span > All< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(1)" > < span class = "SelectionMark" >   < / span > Classes< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(2)" > < span class = "SelectionMark" >   < / span > Namespaces< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(3)" > < span class = "SelectionMark" >   < / span > Functions< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(4)" > < span class = "SelectionMark" >   < / span > Variables< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(5)" > < span class = "SelectionMark" >   < / span > Typedefs< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(6)" > < span class = "SelectionMark" >   < / span > Enumerations< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(7)" > < span class = "SelectionMark" >   < / span > Enumerator< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(8)" > < span class = "SelectionMark" >   < / span > Friends< / a > < / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "summary" >
< a href = "#nested-classes" > Classes< / a > |
< a href = "#typedef-members" > Typedefs< / a > |
< a href = "#enum-members" > Enumerations< / a > |
< a href = "#func-members" > Functions< / a > |
< a href = "#var-members" > Variables< / a > < / div >
< div class = "headertitle" >
< div class = "title" > faiss Namespace Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Classes< / h2 > < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1AutoTuneCriterion.html" > AutoTuneCriterion< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1OneRecallAtRCriterion.html" > OneRecallAtRCriterion< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IntersectionCriterion.html" > IntersectionCriterion< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1OperatingPoint.html" > OperatingPoint< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1OperatingPoints.html" > OperatingPoints< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1ParameterRange.html" > ParameterRange< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > possible values of a parameter, sorted from least to most expensive/accurate < a href = "structfaiss_1_1ParameterRange.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1ParameterSpace.html" > ParameterSpace< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1RangeSearchResult.html" > RangeSearchResult< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IDSelector.html" > IDSelector< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IDSelectorRange.html" > IDSelectorRange< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IDSelectorBatch.html" > IDSelectorBatch< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1BufferList.html" > BufferList< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1RangeSearchPartialResult.html" > RangeSearchPartialResult< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > the entries in the buffers are split per query < a href = "structfaiss_1_1RangeSearchPartialResult.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1ClusteringParameters.html" > ClusteringParameters< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Clustering.html" > Clustering< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer4.html" > HammingComputer4< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer8.html" > HammingComputer8< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer16.html" > HammingComputer16< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer20.html" > HammingComputer20< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer32.html" > HammingComputer32< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer64.html" > HammingComputer64< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputerM8.html" > HammingComputerM8< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputerM4.html" > HammingComputerM4< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HammingComputer.html" > HammingComputer< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1GenHammingComputer8.html" > GenHammingComputer8< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1GenHammingComputer16.html" > GenHammingComputer16< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1GenHammingComputer32.html" > GenHammingComputer32< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1GenHammingComputerM8.html" > GenHammingComputerM8< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1CMax.html" > CMax< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1CMin.html" > CMin< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1HeapArray.html" > HeapArray< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Cloner.html" > Cloner< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexFlat.html" > IndexFlat< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexFlatIP.html" > IndexFlatIP< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexFlatL2.html" > IndexFlatL2< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexFlatL2BaseShift.html" > IndexFlatL2BaseShift< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexRefineFlat.html" > IndexRefineFlat< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexFlat1D.html" > IndexFlat1D< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > optimized version for 1D "vectors" < a href = "structfaiss_1_1IndexFlat1D.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIVF.html" > IndexIVF< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIVFFlat.html" > IndexIVFFlat< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1CodeCmp.html" > CodeCmp< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIVFPQ.html" > IndexIVFPQ< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIVFPQStats.html" > IndexIVFPQStats< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIVFPQR.html" > IndexIVFPQR< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIVFPQCompact.html" > IndexIVFPQCompact< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexLSH.html" > IndexLSH< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1ArgSort.html" > ArgSort< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1SortedArray.html" > SortedArray< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1SemiSortedArray.html" > SemiSortedArray< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1MinSumK.html" > MinSumK< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexPQ.html" > IndexPQ< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexPQStats.html" > IndexPQStats< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1MultiIndexQuantizer.html" > MultiIndexQuantizer< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexIDMap.html" > IndexIDMap< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexShards.html" > IndexShards< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexSplitVectors.html" > IndexSplitVectors< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Score3Computer.html" > Score3Computer< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndirectSort.html" > IndirectSort< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1RankingScore2.html" > RankingScore2< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1SimulatedAnnealingParameters.html" > SimulatedAnnealingParameters< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > parameters used for the simulated annealing method < a href = "structfaiss_1_1SimulatedAnnealingParameters.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1PermutationObjective.html" > PermutationObjective< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > abstract class for the loss function < a href = "structfaiss_1_1PermutationObjective.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1ReproduceDistancesObjective.html" > ReproduceDistancesObjective< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1SimulatedAnnealingOptimizer.html" > SimulatedAnnealingOptimizer< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Simulated annealing optimization algorithm for permutations. < a href = "structfaiss_1_1SimulatedAnnealingOptimizer.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1PolysemousTraining.html" > PolysemousTraining< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > optimizes the order of indices in a < a class = "el" href = "structfaiss_1_1ProductQuantizer.html" > ProductQuantizer< / a > < a href = "structfaiss_1_1PolysemousTraining.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1ProductQuantizer.html" > ProductQuantizer< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1NopDistanceCorrection.html" > NopDistanceCorrection< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1BaseShiftDistanceCorrection.html" > BaseShiftDistanceCorrection< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1RandomGenerator.html" > RandomGenerator< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > random generator that can be used in multithreaded contexts < a href = "structfaiss_1_1RandomGenerator.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1VectorTransform.html" > VectorTransform< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1LinearTransform.html" > LinearTransform< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1RandomRotationMatrix.html" > RandomRotationMatrix< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Randomly rotate a set of vectors. < a href = "structfaiss_1_1RandomRotationMatrix.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1PCAMatrix.html" > PCAMatrix< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1OPQMatrix.html" > OPQMatrix< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1RemapDimensionsTransform.html" > RemapDimensionsTransform< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1IndexPreTransform.html" > IndexPreTransform< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "typedef-members" > < / a >
Typedefs< / h2 > < / td > < / tr >
< tr class = "memitem:ab1048e8626c8177397ec0c90109f60f8" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab1048e8626c8177397ec0c90109f60f8" > < / a >
typedef < a class = "el" href = "structfaiss_1_1HeapArray.html" > HeapArray< / a > < < a class = "el" href = "structfaiss_1_1CMin.html" > CMin< / a > < float, < br class = "typebreak" / >
long > >   < / td > < td class = "memItemRight" valign = "bottom" > < b > float_minheap_array_t< / b > < / td > < / tr >
< tr class = "separator:ab1048e8626c8177397ec0c90109f60f8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a94a5e78e82662bd4c077aeac092b2502" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a94a5e78e82662bd4c077aeac092b2502" > < / a >
typedef < a class = "el" href = "structfaiss_1_1HeapArray.html" > HeapArray< / a > < < a class = "el" href = "structfaiss_1_1CMin.html" > CMin< / a > < int, < br class = "typebreak" / >
long > >   < / td > < td class = "memItemRight" valign = "bottom" > < b > int_minheap_array_t< / b > < / td > < / tr >
< tr class = "separator:a94a5e78e82662bd4c077aeac092b2502" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9e7691e2264000b90e81dd00c8b2a331" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a9e7691e2264000b90e81dd00c8b2a331" > < / a >
typedef < a class = "el" href = "structfaiss_1_1HeapArray.html" > HeapArray< / a > < < a class = "el" href = "structfaiss_1_1CMax.html" > CMax< / a > < float, < br class = "typebreak" / >
long > >   < / td > < td class = "memItemRight" valign = "bottom" > < b > float_maxheap_array_t< / b > < / td > < / tr >
< tr class = "separator:a9e7691e2264000b90e81dd00c8b2a331" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aca6dab2ebae3c66f1bc2bfe5c194a7ae" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "aca6dab2ebae3c66f1bc2bfe5c194a7ae" > < / a >
typedef < a class = "el" href = "structfaiss_1_1HeapArray.html" > HeapArray< / a > < < a class = "el" href = "structfaiss_1_1CMax.html" > CMax< / a > < int, < br class = "typebreak" / >
long > >   < / td > < td class = "memItemRight" valign = "bottom" > < b > int_maxheap_array_t< / b > < / td > < / tr >
< tr class = "separator:aca6dab2ebae3c66f1bc2bfe5c194a7ae" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "enum-members" > < / a >
Enumerations< / h2 > < / td > < / tr >
< tr class = "memitem:afd12191c638da74760ff397cf319752c" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#afd12191c638da74760ff397cf319752c" > MetricType< / a > { < b > METRIC_INNER_PRODUCT< / b > = 0,
< b > METRIC_L2< / b > = 1
}< / td > < / tr >
< tr class = "memdesc:afd12191c638da74760ff397cf319752c" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Some algorithms support both an inner product vetsion and a L2 search version. < br / > < / td > < / tr >
< tr class = "separator:afd12191c638da74760ff397cf319752c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
< tr class = "memitem:a0c95ec47726f2ce3fb668dcb1f9a3317" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a0c95ec47726f2ce3fb668dcb1f9a3317" > index_factory< / a > (int d, const char *description_in, < a class = "el" href = "namespacefaiss.html#afd12191c638da74760ff397cf319752c" > MetricType< / a > metric)< / td > < / tr >
< tr class = "separator:a0c95ec47726f2ce3fb668dcb1f9a3317" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a38bd0dde8a1b229201a5fcb64d05daa6" > < td class = "memItemLeft" align = "right" valign = "top" > float  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a38bd0dde8a1b229201a5fcb64d05daa6" > kmeans_clustering< / a > (size_t d, size_t n, size_t k, const float *x, float *centroids)< / td > < / tr >
< tr class = "separator:a38bd0dde8a1b229201a5fcb64d05daa6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6ae1b2a404a4f618609a5b87eecc344b" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a6ae1b2a404a4f618609a5b87eecc344b" > < / a >
template< size_t nbits, typename T > < / td > < / tr >
< tr class = "memitem:a6ae1b2a404a4f618609a5b87eecc344b" > < td class = "memTemplItemLeft" align = "right" valign = "top" > T  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hamming< / b > (const uint8_t *bs1, const uint8_t *bs2)< / td > < / tr >
< tr class = "separator:a6ae1b2a404a4f618609a5b87eecc344b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a866a1991153d86e11e93d22b1567d578" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a866a1991153d86e11e93d22b1567d578" > < / a >
template< size_t nbits> < / td > < / tr >
< tr class = "memitem:a866a1991153d86e11e93d22b1567d578" > < td class = "memTemplItemLeft" align = "right" valign = "top" > hamdis_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hamming< / b > (const uint64_t *bs1, const uint64_t *bs2)< / td > < / tr >
< tr class = "separator:a866a1991153d86e11e93d22b1567d578" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a020c4142c2661fa5387255c73e1b3510" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a020c4142c2661fa5387255c73e1b3510" > < / a >
template< > < / td > < / tr >
< tr class = "memitem:a020c4142c2661fa5387255c73e1b3510" > < td class = "memTemplItemLeft" align = "right" valign = "top" > hamdis_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hamming< 64 > < / b > (const uint64_t *pa, const uint64_t *pb)< / td > < / tr >
< tr class = "separator:a020c4142c2661fa5387255c73e1b3510" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a251cd1d86f57ca5499d939d3f5ae093e" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a251cd1d86f57ca5499d939d3f5ae093e" > < / a >
template< > < / td > < / tr >
< tr class = "memitem:a251cd1d86f57ca5499d939d3f5ae093e" > < td class = "memTemplItemLeft" align = "right" valign = "top" > hamdis_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hamming< 128 > < / b > (const uint64_t *pa, const uint64_t *pb)< / td > < / tr >
< tr class = "separator:a251cd1d86f57ca5499d939d3f5ae093e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8d4176559a9c361225a047c03f62d648" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a8d4176559a9c361225a047c03f62d648" > < / a >
template< > < / td > < / tr >
< tr class = "memitem:a8d4176559a9c361225a047c03f62d648" > < td class = "memTemplItemLeft" align = "right" valign = "top" > hamdis_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hamming< 256 > < / b > (const uint64_t *pa, const uint64_t *pb)< / td > < / tr >
< tr class = "separator:a8d4176559a9c361225a047c03f62d648" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af860acfd5b9adbb6a50d4b458d0df8b7" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af860acfd5b9adbb6a50d4b458d0df8b7" > < / a >
hamdis_t  < / td > < td class = "memItemRight" valign = "bottom" > < b > hamming< / b > (const uint64_t *bs1, const uint64_t *bs2, size_t nwords)< / td > < / tr >
< tr class = "separator:af860acfd5b9adbb6a50d4b458d0df8b7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a5ab3ff3b742c0931338befb5968b3ca3" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a5ab3ff3b742c0931338befb5968b3ca3" > < / a >
template< size_t nbits> < / td > < / tr >
< tr class = "memitem:a5ab3ff3b742c0931338befb5968b3ca3" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hammings< / b > (const uint64_t *bs1, const uint64_t *bs2, size_t n1, size_t n2, hamdis_t *dis)< / td > < / tr >
< tr class = "separator:a5ab3ff3b742c0931338befb5968b3ca3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac8b915d9be5f42ccf53fa6bd202f0d63" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ac8b915d9be5f42ccf53fa6bd202f0d63" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > hammings< / b > (const uint64_t *bs1, const uint64_t *bs2, size_t n1, size_t n2, size_t nwords, hamdis_t *__restrict dis)< / td > < / tr >
< tr class = "separator:ac8b915d9be5f42ccf53fa6bd202f0d63" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad6219abead5068a666182957770f52e3" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "ad6219abead5068a666182957770f52e3" > < / a >
template< size_t nbits> < / td > < / tr >
< tr class = "memitem:ad6219abead5068a666182957770f52e3" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > hamming_count_thres< / b > (const uint64_t *bs1, const uint64_t *bs2, size_t n1, size_t n2, hamdis_t ht, size_t *nptr)< / td > < / tr >
< tr class = "separator:ad6219abead5068a666182957770f52e3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afbf295e8e60fc0afe10315c9b5312ded" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "afbf295e8e60fc0afe10315c9b5312ded" > < / a >
template< size_t nbits> < / td > < / tr >
< tr class = "memitem:afbf295e8e60fc0afe10315c9b5312ded" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > crosshamming_count_thres< / b > (const uint64_t *dbs, size_t n, int ht, size_t *nptr)< / td > < / tr >
< tr class = "separator:afbf295e8e60fc0afe10315c9b5312ded" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a01762c2ee39fe30bf177d3e11eba5c38" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a01762c2ee39fe30bf177d3e11eba5c38" > < / a >
template< size_t nbits> < / td > < / tr >
< tr class = "memitem:a01762c2ee39fe30bf177d3e11eba5c38" > < td class = "memTemplItemLeft" align = "right" valign = "top" > size_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > match_hamming_thres< / b > (const uint64_t *bs1, const uint64_t *bs2, size_t n1, size_t n2, int ht, long *idx, hamdis_t *hams)< / td > < / tr >
< tr class = "separator:a01762c2ee39fe30bf177d3e11eba5c38" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afde8c1f96d4c776b101dd67cc0064c3d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "afde8c1f96d4c776b101dd67cc0064c3d" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec2bitvec< / b > (const float *x, uint8_t *b, size_t d)< / td > < / tr >
< tr class = "separator:afde8c1f96d4c776b101dd67cc0064c3d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a224890519ae5efe7a3c8cdf94bda60e9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a224890519ae5efe7a3c8cdf94bda60e9" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvecs2bitvecs< / b > (const float *x, uint8_t *b, size_t d, size_t n)< / td > < / tr >
< tr class = "separator:a224890519ae5efe7a3c8cdf94bda60e9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0e10b0864a93653945dbd950b9fcdacf" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a0e10b0864a93653945dbd950b9fcdacf" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > bitvec_print< / b > (const uint8_t *b, size_t d)< / td > < / tr >
< tr class = "separator:a0e10b0864a93653945dbd950b9fcdacf" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9962e3db5bf5e276950685a587b37a94" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a9962e3db5bf5e276950685a587b37a94" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > hammings< / b > (const uint8_t *a, const uint8_t *b, size_t na, size_t nb, size_t ncodes, hamdis_t *__restrict dis)< / td > < / tr >
< tr class = "separator:a9962e3db5bf5e276950685a587b37a94" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a57fbe98f92f64f97dc13a34f76290eea" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a57fbe98f92f64f97dc13a34f76290eea" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > hammings_knn_core< / b > (< a class = "el" href = "structfaiss_1_1HeapArray.html" > int_maxheap_array_t< / a > *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes)< / td > < / tr >
< tr class = "separator:a57fbe98f92f64f97dc13a34f76290eea" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac0b4dc73a8470d61f510396dc460ca18" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18" > hammings_knn< / a > (< a class = "el" href = "structfaiss_1_1HeapArray.html" > int_maxheap_array_t< / a > *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)< / td > < / tr >
< tr class = "separator:ac0b4dc73a8470d61f510396dc460ca18" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac713458e556afa5bd612b88944292d65" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ac713458e556afa5bd612b88944292d65" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > hamming_count_thres< / b > (const uint8_t *bs1, const uint8_t *bs2, size_t n1, size_t n2, hamdis_t ht, size_t ncodes, size_t *nptr)< / td > < / tr >
< tr class = "separator:ac713458e556afa5bd612b88944292d65" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a399cfe2b1a7b2e3d722e10654c164ae0" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a399cfe2b1a7b2e3d722e10654c164ae0" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > crosshamming_count_thres< / b > (const uint8_t *dbs, size_t n, hamdis_t ht, size_t ncodes, size_t *nptr)< / td > < / tr >
< tr class = "separator:a399cfe2b1a7b2e3d722e10654c164ae0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9569826dd5f45d9bbf4933877862a9fd" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a9569826dd5f45d9bbf4933877862a9fd" > < / a >
size_t  < / td > < td class = "memItemRight" valign = "bottom" > < b > match_hamming_thres< / b > (const uint8_t *bs1, const uint8_t *bs2, size_t n1, size_t n2, hamdis_t ht, size_t ncodes, long *idx, hamdis_t *dis)< / td > < / tr >
< tr class = "separator:a9569826dd5f45d9bbf4933877862a9fd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae81da42f6f40356f7525917b3acb54c8" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#ae81da42f6f40356f7525917b3acb54c8" > generalized_hammings_knn< / a > (< a class = "el" href = "structfaiss_1_1HeapArray.html" > int_maxheap_array_t< / a > *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t code_size, int ordered)< / td > < / tr >
< tr class = "separator:ae81da42f6f40356f7525917b3acb54c8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7d2125afc95e3417b270cb9428f8e0ef" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a7d2125afc95e3417b270cb9428f8e0ef" > < / a >
int  < / td > < td class = "memItemRight" valign = "bottom" > < b > popcount64< / b > (uint64_t x)< / td > < / tr >
< tr class = "separator:a7d2125afc95e3417b270cb9428f8e0ef" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0832c5ab58f4d1a340b0bde273c5b501" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a0832c5ab58f4d1a340b0bde273c5b501" > hammings< / a > (const uint8_t *a, const uint8_t *b, size_t na, size_t nb, size_t nbytespercode, hamdis_t *dis)< / td > < / tr >
< tr class = "separator:a0832c5ab58f4d1a340b0bde273c5b501" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3c20def47976af19292a160b2ec551d2" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a3c20def47976af19292a160b2ec551d2" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > SPECIALIZED_HC< / b > (4)< / td > < / tr >
< tr class = "separator:a3c20def47976af19292a160b2ec551d2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:acb4e4208ec84a403e02dba1b18b29840" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "acb4e4208ec84a403e02dba1b18b29840" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > SPECIALIZED_HC< / b > (8)< / td > < / tr >
< tr class = "separator:acb4e4208ec84a403e02dba1b18b29840" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a138c0f4e83d2e8b7fdd90ef895f8c6f2" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a138c0f4e83d2e8b7fdd90ef895f8c6f2" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > SPECIALIZED_HC< / b > (16)< / td > < / tr >
< tr class = "separator:a138c0f4e83d2e8b7fdd90ef895f8c6f2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a965aa1292a3957feaaec0f4ed1b54f85" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a965aa1292a3957feaaec0f4ed1b54f85" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > SPECIALIZED_HC< / b > (20)< / td > < / tr >
< tr class = "separator:a965aa1292a3957feaaec0f4ed1b54f85" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a69f0b96e4d8c59be97ee73aedafac0a2" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a69f0b96e4d8c59be97ee73aedafac0a2" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > SPECIALIZED_HC< / b > (32)< / td > < / tr >
< tr class = "separator:a69f0b96e4d8c59be97ee73aedafac0a2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aadcee2efcbb11d2c1d284589ba12b8ae" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "aadcee2efcbb11d2c1d284589ba12b8ae" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > SPECIALIZED_HC< / b > (64)< / td > < / tr >
< tr class = "separator:aadcee2efcbb11d2c1d284589ba12b8ae" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a69337e23232a204be3e1464713fee62d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a69337e23232a204be3e1464713fee62d" > < / a >
int  < / td > < td class = "memItemRight" valign = "bottom" > < b > generalized_hamming_64< / b > (uint64_t a)< / td > < / tr >
< tr class = "separator:a69337e23232a204be3e1464713fee62d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1d40aec5723474516de576263cc03048" > < td class = "memTemplParams" colspan = "2" > template< class C > < / td > < / tr >
< tr class = "memitem:a1d40aec5723474516de576263cc03048" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a1d40aec5723474516de576263cc03048" > heap_pop< / a > (size_t k, typename C::T *bh_val, typename C::TI *bh_ids)< / td > < / tr >
< tr class = "separator:a1d40aec5723474516de576263cc03048" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:acbe85976d4f73309622f6b62c4d7af2b" > < td class = "memTemplParams" colspan = "2" > template< class C > < / td > < / tr >
< tr class = "memitem:acbe85976d4f73309622f6b62c4d7af2b" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#acbe85976d4f73309622f6b62c4d7af2b" > heap_push< / a > (size_t k, typename C::T *bh_val, typename C::TI *bh_ids, typename C::T val, typename C::TI ids)< / td > < / tr >
< tr class = "separator:acbe85976d4f73309622f6b62c4d7af2b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7518ec4c13865a4860429899a8c96d25" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a7518ec4c13865a4860429899a8c96d25" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:a7518ec4c13865a4860429899a8c96d25" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > minheap_pop< / b > (size_t k, T *bh_val, long *bh_ids)< / td > < / tr >
< tr class = "separator:a7518ec4c13865a4860429899a8c96d25" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a549c638312ecdb0eebed275d6fc0b08f" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a549c638312ecdb0eebed275d6fc0b08f" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:a549c638312ecdb0eebed275d6fc0b08f" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > minheap_push< / b > (size_t k, T *bh_val, long *bh_ids, T val, long ids)< / td > < / tr >
< tr class = "separator:a549c638312ecdb0eebed275d6fc0b08f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad1b226e3626cfdecba6db1e9ac68f18a" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "ad1b226e3626cfdecba6db1e9ac68f18a" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:ad1b226e3626cfdecba6db1e9ac68f18a" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > maxheap_pop< / b > (size_t k, T *bh_val, long *bh_ids)< / td > < / tr >
< tr class = "separator:ad1b226e3626cfdecba6db1e9ac68f18a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac905d8159b8453e3e525204c66b28aae" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "ac905d8159b8453e3e525204c66b28aae" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:ac905d8159b8453e3e525204c66b28aae" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > maxheap_push< / b > (size_t k, T *bh_val, long *bh_ids, T val, long ids)< / td > < / tr >
< tr class = "separator:ac905d8159b8453e3e525204c66b28aae" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8617ea308e081aed83d4a084a9d31f70" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a8617ea308e081aed83d4a084a9d31f70" > < / a >
template< class C > < / td > < / tr >
< tr class = "memitem:a8617ea308e081aed83d4a084a9d31f70" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > heap_heapify< / b > (size_t k, typename C::T *bh_val, typename C::TI *bh_ids, const typename C::T *x=nullptr, const typename C::TI *ids=nullptr, size_t k0=0)< / td > < / tr >
< tr class = "separator:a8617ea308e081aed83d4a084a9d31f70" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a099a7f4bb3ec3f961ff7084b863ee867" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a099a7f4bb3ec3f961ff7084b863ee867" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:a099a7f4bb3ec3f961ff7084b863ee867" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > minheap_heapify< / b > (size_t k, T *bh_val, long *bh_ids, const T *x=nullptr, const long *ids=nullptr, size_t k0=0)< / td > < / tr >
< tr class = "separator:a099a7f4bb3ec3f961ff7084b863ee867" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a4f59bc94a944798de93c1315c298d6c8" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a4f59bc94a944798de93c1315c298d6c8" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:a4f59bc94a944798de93c1315c298d6c8" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > maxheap_heapify< / b > (size_t k, T *bh_val, long *bh_ids, const T *x=nullptr, const long *ids=nullptr, size_t k0=0)< / td > < / tr >
< tr class = "separator:a4f59bc94a944798de93c1315c298d6c8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afa5c2b8f24eb244fb064af0c7d853422" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "afa5c2b8f24eb244fb064af0c7d853422" > < / a >
template< class C > < / td > < / tr >
< tr class = "memitem:afa5c2b8f24eb244fb064af0c7d853422" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > heap_addn< / b > (size_t k, typename C::T *bh_val, typename C::TI *bh_ids, const typename C::T *x, const typename C::TI *ids, size_t n)< / td > < / tr >
< tr class = "separator:afa5c2b8f24eb244fb064af0c7d853422" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa7ba34d7d099ca3f410f9b07b633b194" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "aa7ba34d7d099ca3f410f9b07b633b194" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:aa7ba34d7d099ca3f410f9b07b633b194" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > minheap_addn< / b > (size_t k, T *bh_val, long *bh_ids, const T *x, const long *ids, size_t n)< / td > < / tr >
< tr class = "separator:aa7ba34d7d099ca3f410f9b07b633b194" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a4e0519b23a4473f557b72cded5b73647" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a4e0519b23a4473f557b72cded5b73647" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:a4e0519b23a4473f557b72cded5b73647" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > maxheap_addn< / b > (size_t k, T *bh_val, long *bh_ids, const T *x, const long *ids, size_t n)< / td > < / tr >
< tr class = "separator:a4e0519b23a4473f557b72cded5b73647" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a4e69334ccd78982042a6210c743d0418" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a4e69334ccd78982042a6210c743d0418" > < / a >
template< typename C > < / td > < / tr >
< tr class = "memitem:a4e69334ccd78982042a6210c743d0418" > < td class = "memTemplItemLeft" align = "right" valign = "top" > size_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > heap_reorder< / b > (size_t k, typename C::T *bh_val, typename C::TI *bh_ids)< / td > < / tr >
< tr class = "separator:a4e69334ccd78982042a6210c743d0418" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9231a772f9c6a87f03162a16e49fdc61" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a9231a772f9c6a87f03162a16e49fdc61" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:a9231a772f9c6a87f03162a16e49fdc61" > < td class = "memTemplItemLeft" align = "right" valign = "top" > size_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > minheap_reorder< / b > (size_t k, T *bh_val, long *bh_ids)< / td > < / tr >
< tr class = "separator:a9231a772f9c6a87f03162a16e49fdc61" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:adb31108ab96628b124e5cd72d0183b2e" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "adb31108ab96628b124e5cd72d0183b2e" > < / a >
template< typename T > < / td > < / tr >
< tr class = "memitem:adb31108ab96628b124e5cd72d0183b2e" > < td class = "memTemplItemLeft" align = "right" valign = "top" > size_t  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > maxheap_reorder< / b > (size_t k, T *bh_val, long *bh_ids)< / td > < / tr >
< tr class = "separator:adb31108ab96628b124e5cd72d0183b2e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-02-25 00:32:08 +08:00
< tr class = "memitem:a8023405f5360828c9a892510a5f4c4ec" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a8023405f5360828c9a892510a5f4c4ec" > < / a >
template< class C > < / td > < / tr >
< tr class = "memitem:a8023405f5360828c9a892510a5f4c4ec" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > indirect_heap_pop< / b > (size_t k, const typename C::T *bh_val, typename C::TI *bh_ids)< / td > < / tr >
< tr class = "separator:a8023405f5360828c9a892510a5f4c4ec" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8ecaf37c77256e02a946e1572b992ed5" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a8ecaf37c77256e02a946e1572b992ed5" > < / a >
template< class C > < / td > < / tr >
< tr class = "memitem:a8ecaf37c77256e02a946e1572b992ed5" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > indirect_heap_push< / b > (size_t k, const typename C::T *bh_val, typename C::TI *bh_ids, typename C::TI id)< / td > < / tr >
< tr class = "separator:a8ecaf37c77256e02a946e1572b992ed5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-02-23 06:26:44 +08:00
< tr class = "memitem:ab39977a9b0d876f912d6d7b09f9f3d18" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab39977a9b0d876f912d6d7b09f9f3d18" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > write_VectorTransform< / b > (const < a class = "el" href = "structfaiss_1_1VectorTransform.html" > VectorTransform< / a > *vt, FILE *f)< / td > < / tr >
< tr class = "separator:ab39977a9b0d876f912d6d7b09f9f3d18" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aeecb2752b0d13ace2d17ebc0189e9ea3" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "aeecb2752b0d13ace2d17ebc0189e9ea3" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > write_ProductQuantizer< / b > (const < a class = "el" href = "structfaiss_1_1ProductQuantizer.html" > ProductQuantizer< / a > *pq, const char *fname)< / td > < / tr >
< tr class = "separator:aeecb2752b0d13ace2d17ebc0189e9ea3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:add675e330da6a82b27101862206de6c2" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "add675e330da6a82b27101862206de6c2" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > write_index< / b > (const < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *idx, FILE *f)< / td > < / tr >
< tr class = "separator:add675e330da6a82b27101862206de6c2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa41490abaa2dad0dd2131150ed99ef8d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "aa41490abaa2dad0dd2131150ed99ef8d" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > write_index< / b > (const < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *idx, const char *fname)< / td > < / tr >
< tr class = "separator:aa41490abaa2dad0dd2131150ed99ef8d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad72efd9404a8058159f1ae48225a2d94" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ad72efd9404a8058159f1ae48225a2d94" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > write_VectorTransform< / b > (const < a class = "el" href = "structfaiss_1_1VectorTransform.html" > VectorTransform< / a > *vt, const char *fname)< / td > < / tr >
< tr class = "separator:ad72efd9404a8058159f1ae48225a2d94" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a303b95b7a7eb474965f65f59f87626a3" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a303b95b7a7eb474965f65f59f87626a3" > < / a >
< a class = "el" href = "structfaiss_1_1VectorTransform.html" > VectorTransform< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < b > read_VectorTransform< / b > (FILE *f)< / td > < / tr >
< tr class = "separator:a303b95b7a7eb474965f65f59f87626a3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a818fa626e2368301ccf872b7ba65383a" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a818fa626e2368301ccf872b7ba65383a" > < / a >
< a class = "el" href = "structfaiss_1_1ProductQuantizer.html" > ProductQuantizer< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < b > read_ProductQuantizer< / b > (const char *fname)< / td > < / tr >
< tr class = "separator:a818fa626e2368301ccf872b7ba65383a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa46fe38a858ecfde7e0fc0744939d5ad" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad" > read_index< / a > (FILE *f, bool try_mmap)< / td > < / tr >
< tr class = "separator:aa46fe38a858ecfde7e0fc0744939d5ad" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a70cfb0fb5ec10bfef6f3ae0ec7c13ee7" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a70cfb0fb5ec10bfef6f3ae0ec7c13ee7" > < / a >
< a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < b > read_index< / b > (const char *fname, bool try_mmap)< / td > < / tr >
< tr class = "separator:a70cfb0fb5ec10bfef6f3ae0ec7c13ee7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a73e97b42d11f03a68bfda4ad5c569dd1" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a73e97b42d11f03a68bfda4ad5c569dd1" > < / a >
< a class = "el" href = "structfaiss_1_1VectorTransform.html" > VectorTransform< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < b > read_VectorTransform< / b > (const char *fname)< / td > < / tr >
< tr class = "separator:a73e97b42d11f03a68bfda4ad5c569dd1" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3143984f302f56032b80948ddebc62af" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a3143984f302f56032b80948ddebc62af" > < / a >
< a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < b > clone_index< / b > (const < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *index)< / td > < / tr >
< tr class = "separator:a3143984f302f56032b80948ddebc62af" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7c5553442c8b9342a0ad449e2b67f275" > < td class = "memTemplParams" colspan = "2" > template< class C > < / td > < / tr >
< tr class = "memitem:a7c5553442c8b9342a0ad449e2b67f275" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a7c5553442c8b9342a0ad449e2b67f275" > partial_sort< / a > (int k, int n, const typename C::T *vals, typename C::TI *perm)< / td > < / tr >
< tr class = "separator:a7c5553442c8b9342a0ad449e2b67f275" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad1224ccbe0087fd6634d59b3008251b6" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "ad1224ccbe0087fd6634d59b3008251b6" > < / a >
template< typename CT , class C > < / td > < / tr >
< tr class = "memitem:ad1224ccbe0087fd6634d59b3008251b6" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > pq_estimators_from_tables_Mmul4< / b > (int M, const CT *codes, size_t ncodes, const float *__restrict dis_table, size_t ksub, size_t k, float *heap_dis, long *heap_ids)< / td > < / tr >
< tr class = "separator:ad1224ccbe0087fd6634d59b3008251b6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a01c00476e94f1b25bfb9cb9eee6dc320" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a01c00476e94f1b25bfb9cb9eee6dc320" > < / a >
template< typename CT , class C > < / td > < / tr >
< tr class = "memitem:a01c00476e94f1b25bfb9cb9eee6dc320" > < td class = "memTemplItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < b > pq_estimators_from_tables_M4< / b > (const CT *codes, size_t ncodes, const float *__restrict dis_table, size_t ksub, size_t k, float *heap_dis, long *heap_ids)< / td > < / tr >
< tr class = "separator:a01c00476e94f1b25bfb9cb9eee6dc320" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af2a71f7d5402ae02ce169a4cc83020eb" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af2a71f7d5402ae02ce169a4cc83020eb" > < / a >
double  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb" > getmillisecs< / a > ()< / td > < / tr >
< tr class = "memdesc:af2a71f7d5402ae02ce169a4cc83020eb" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > ms elapsed since some arbitrary epoch < br / > < / td > < / tr >
< tr class = "separator:af2a71f7d5402ae02ce169a4cc83020eb" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a4e52268bd04f91f6806c11a4fa9844af" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a4e52268bd04f91f6806c11a4fa9844af" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > float_rand< / b > (float *x, size_t n, long seed)< / td > < / tr >
< tr class = "separator:a4e52268bd04f91f6806c11a4fa9844af" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a141b90397a6460c087dd685c618ccc2e" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a141b90397a6460c087dd685c618ccc2e" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > float_randn< / b > (float *x, size_t n, long seed)< / td > < / tr >
< tr class = "separator:a141b90397a6460c087dd685c618ccc2e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a755f31dec6ad03a39132c22e64e9efd7" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a755f31dec6ad03a39132c22e64e9efd7" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > long_rand< / b > (long *x, size_t n, long seed)< / td > < / tr >
< tr class = "separator:a755f31dec6ad03a39132c22e64e9efd7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2e0d986276186a6f4ae31573521cdc72" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a2e0d986276186a6f4ae31573521cdc72" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > rand_perm< / b > (int *perm, size_t n, long seed)< / td > < / tr >
< tr class = "separator:a2e0d986276186a6f4ae31573521cdc72" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af9835f65db4dc94f35dfaa522aa09c1b" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af9835f65db4dc94f35dfaa522aa09c1b" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > byte_rand< / b > (uint8_t *x, size_t n, long seed)< / td > < / tr >
< tr class = "separator:af9835f65db4dc94f35dfaa522aa09c1b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a416579174077c326f5e1694c04142098" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a416579174077c326f5e1694c04142098" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > reflection< / b > (const float *__restrict u, float *__restrict x, size_t n, size_t d, size_t nu)< / td > < / tr >
< tr class = "separator:a416579174077c326f5e1694c04142098" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a34ed95d839d548e34fdd03f83676b633" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a34ed95d839d548e34fdd03f83676b633" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > reflection_ref< / b > (const float *u, float *x, size_t n, size_t d, size_t nu)< / td > < / tr >
< tr class = "separator:a34ed95d839d548e34fdd03f83676b633" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7466bd32de31640860393a701eaac5ad" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a7466bd32de31640860393a701eaac5ad" > < / a >
float  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a7466bd32de31640860393a701eaac5ad" > fvec_L2sqr< / a > (const float *x, const float *y, size_t d)< / td > < / tr >
< tr class = "memdesc:a7466bd32de31640860393a701eaac5ad" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Squared L2 distance between two vectors. < br / > < / td > < / tr >
< tr class = "separator:a7466bd32de31640860393a701eaac5ad" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a83eae4ad08f3d1f3e7af467853d74d7b" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a83eae4ad08f3d1f3e7af467853d74d7b" > < / a >
float  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_L2sqr_ref< / b > (const float *x, const float *y, size_t d)< / td > < / tr >
< tr class = "separator:a83eae4ad08f3d1f3e7af467853d74d7b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af6490f0d832462623e19a96481daeef5" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af6490f0d832462623e19a96481daeef5" > < / a >
float  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_inner_product< / b > (const float *x, const float *y, size_t d)< / td > < / tr >
< tr class = "separator:af6490f0d832462623e19a96481daeef5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a28a3cb6cd969528a0745764696f701c8" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a28a3cb6cd969528a0745764696f701c8" > < / a >
float  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_inner_product_ref< / b > (const float *x, const float *y, size_t d)< / td > < / tr >
< tr class = "separator:a28a3cb6cd969528a0745764696f701c8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7a49180ebf10e643217bbce5862c7f84" > < td class = "memItemLeft" align = "right" valign = "top" > float  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a7a49180ebf10e643217bbce5862c7f84" > fvec_norm_L2sqr< / a > (const float *x, size_t d)< / td > < / tr >
< tr class = "separator:a7a49180ebf10e643217bbce5862c7f84" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab048727c2b9d7a55e19cf94339a182d6" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab048727c2b9d7a55e19cf94339a182d6" > < / a >
float  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_norm_L2sqr_ref< / b > (const float *__restrict x, size_t d)< / td > < / tr >
< tr class = "separator:ab048727c2b9d7a55e19cf94339a182d6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a02b3f0bedbd7590d60c01c3ee42d00ee" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a02b3f0bedbd7590d60c01c3ee42d00ee" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_inner_products_ny< / b > (float *__restrict ip, const float *x, const float *y, size_t d, size_t ny)< / td > < / tr >
< tr class = "separator:a02b3f0bedbd7590d60c01c3ee42d00ee" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a052456d4db25ce5de406794939fd0537" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a052456d4db25ce5de406794939fd0537" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_L2sqr_ny< / b > (float *__restrict dis, const float *x, const float *y, size_t d, size_t ny)< / td > < / tr >
< tr class = "separator:a052456d4db25ce5de406794939fd0537" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8ee963ae53a231071a04335b6419a34a" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8ee963ae53a231071a04335b6419a34a" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_norms_L2< / b > (float *__restrict nr, const float *__restrict x, size_t d, size_t nx)< / td > < / tr >
< tr class = "separator:a8ee963ae53a231071a04335b6419a34a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afe16f5b787a3a757b0ffd587f2b0f546" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "afe16f5b787a3a757b0ffd587f2b0f546" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_norms_L2sqr< / b > (float *__restrict nr, const float *__restrict x, size_t d, size_t nx)< / td > < / tr >
< tr class = "separator:afe16f5b787a3a757b0ffd587f2b0f546" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a4c4685ed77895118ae8277abe54fae8f" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a4c4685ed77895118ae8277abe54fae8f" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_renorm_L2< / b > (size_t d, size_t nx, float *__restrict x)< / td > < / tr >
< tr class = "separator:a4c4685ed77895118ae8277abe54fae8f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a880c7318971f866267a86945aaa61b17" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a880c7318971f866267a86945aaa61b17" > knn_inner_product< / a > (const float *x, const float *y, size_t d, size_t nx, size_t ny, < a class = "el" href = "structfaiss_1_1HeapArray.html" > float_minheap_array_t< / a > *res)< / td > < / tr >
< tr class = "separator:a880c7318971f866267a86945aaa61b17" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2f803e3d3b07cfab63699c89de161237" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a2f803e3d3b07cfab63699c89de161237" > knn_L2sqr< / a > (const float *x, const float *y, size_t d, size_t nx, size_t ny, < a class = "el" href = "structfaiss_1_1HeapArray.html" > float_maxheap_array_t< / a > *res)< / td > < / tr >
< tr class = "separator:a2f803e3d3b07cfab63699c89de161237" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a5eb1701e46123827966f2a56da893d1d" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a5eb1701e46123827966f2a56da893d1d" > knn_L2sqr_base_shift< / a > (const float *x, const float *y, size_t d, size_t nx, size_t ny, < a class = "el" href = "structfaiss_1_1HeapArray.html" > float_maxheap_array_t< / a > *res, const float *base_shift)< / td > < / tr >
< tr class = "separator:a5eb1701e46123827966f2a56da893d1d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ada53442290616e25b2bbe49a1444a225" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ada53442290616e25b2bbe49a1444a225" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_inner_products_by_idx< / b > (float *__restrict ip, const float *x, const float *y, const long *__restrict ids, size_t d, size_t nx, size_t ny)< / td > < / tr >
< tr class = "separator:ada53442290616e25b2bbe49a1444a225" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:acad70536e37674f21dc4f47fc130e03b" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "acad70536e37674f21dc4f47fc130e03b" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_L2sqr_by_idx< / b > (float *__restrict dis, const float *x, const float *y, const long *__restrict ids, size_t d, size_t nx, size_t ny)< / td > < / tr >
< tr class = "separator:acad70536e37674f21dc4f47fc130e03b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a04eafd0d8f57e413587661c6bf6eb5be" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a04eafd0d8f57e413587661c6bf6eb5be" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > knn_inner_products_by_idx< / b > (const float *x, const float *y, const long *__restrict ids, size_t d, size_t nx, size_t ny, < a class = "el" href = "structfaiss_1_1HeapArray.html" > float_minheap_array_t< / a > *res)< / td > < / tr >
< tr class = "separator:a04eafd0d8f57e413587661c6bf6eb5be" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a705dcfc6ae950690bc14ccf3dae591b8" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a705dcfc6ae950690bc14ccf3dae591b8" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > knn_L2sqr_by_idx< / b > (const float *x, const float *y, const long *__restrict ids, size_t d, size_t nx, size_t ny, < a class = "el" href = "structfaiss_1_1HeapArray.html" > float_maxheap_array_t< / a > *res)< / td > < / tr >
< tr class = "separator:a705dcfc6ae950690bc14ccf3dae591b8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1faa7bd079c9b1addf3058ddf882a000" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a1faa7bd079c9b1addf3058ddf882a000" > range_search_L2sqr< / a > (const float *x, const float *y, size_t d, size_t nx, size_t ny, float radius, < a class = "el" href = "structfaiss_1_1RangeSearchResult.html" > RangeSearchResult< / a > *res)< / td > < / tr >
< tr class = "separator:a1faa7bd079c9b1addf3058ddf882a000" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab29d725b808df6f142b80f21aa45e507" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab29d725b808df6f142b80f21aa45e507" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#ab29d725b808df6f142b80f21aa45e507" > range_search_inner_product< / a > (const float *x, const float *y, size_t d, size_t nx, size_t ny, float radius, < a class = "el" href = "structfaiss_1_1RangeSearchResult.html" > RangeSearchResult< / a > *result)< / td > < / tr >
< tr class = "memdesc:ab29d725b808df6f142b80f21aa45e507" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > same as range_search_L2sqr for the inner product similarity < br / > < / td > < / tr >
< tr class = "separator:ab29d725b808df6f142b80f21aa45e507" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a38c7007a07161c88fd2e40caedec3f21" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a38c7007a07161c88fd2e40caedec3f21" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > inner_product_to_L2sqr< / b > (float *__restrict dis, const float *nr1, const float *nr2, size_t n1, size_t n2)< / td > < / tr >
< tr class = "separator:a38c7007a07161c88fd2e40caedec3f21" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afb68fe89ad5e948974da1b70d7b4157c" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#afb68fe89ad5e948974da1b70d7b4157c" > matrix_qr< / a > (int m, int n, float *a)< / td > < / tr >
< tr class = "separator:afb68fe89ad5e948974da1b70d7b4157c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3d9c7db82d43c1f0ab1d28b92bc9fe57" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a3d9c7db82d43c1f0ab1d28b92bc9fe57" > pairwise_L2sqr< / a > (long d, long nq, const float *xq, long nb, const float *xb, float *dis, long ldq, long ldb, long ldd)< / td > < / tr >
< tr class = "separator:a3d9c7db82d43c1f0ab1d28b92bc9fe57" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad1cfbe51f2d77dc5094e0140f5955165" > < td class = "memItemLeft" align = "right" valign = "top" > int  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#ad1cfbe51f2d77dc5094e0140f5955165" > km_update_centroids< / a > (const float *x, float *centroids, long *assign, size_t d, size_t k, size_t n)< / td > < / tr >
< tr class = "separator:ad1cfbe51f2d77dc5094e0140f5955165" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae0ee1b6fbd3d6da0f1a3550a780ca24c" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#ae0ee1b6fbd3d6da0f1a3550a780ca24c" > ranklist_handle_ties< / a > (int k, long *idx, const float *dis)< / td > < / tr >
< tr class = "separator:ae0ee1b6fbd3d6da0f1a3550a780ca24c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8dbc652ba48d41f126b8815004899448" > < td class = "memItemLeft" align = "right" valign = "top" > size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a8dbc652ba48d41f126b8815004899448" > ranklist_intersection_size< / a > (size_t k1, const long *v1, size_t k2, const long *v2_in)< / td > < / tr >
< tr class = "separator:a8dbc652ba48d41f126b8815004899448" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a94c1d99ac39d22e362aa27ce7c7ff714" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a94c1d99ac39d22e362aa27ce7c7ff714" > < / a >
double  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a94c1d99ac39d22e362aa27ce7c7ff714" > imbalance_factor< / a > (int k, const int *hist)< / td > < / tr >
< tr class = "memdesc:a94c1d99ac39d22e362aa27ce7c7ff714" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > same, takes a histogram as input < br / > < / td > < / tr >
< tr class = "separator:a94c1d99ac39d22e362aa27ce7c7ff714" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af762526714e6138009c72aee98657538" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af762526714e6138009c72aee98657538" > < / a >
double  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#af762526714e6138009c72aee98657538" > imbalance_factor< / a > (int n, int k, const long *assign)< / td > < / tr >
< tr class = "memdesc:af762526714e6138009c72aee98657538" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > a balanced assignment has a IF of 1 < br / > < / td > < / tr >
< tr class = "separator:af762526714e6138009c72aee98657538" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7bea462108bee98d8d5859b51ec4db8e" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a7bea462108bee98d8d5859b51ec4db8e" > < / a >
int  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a7bea462108bee98d8d5859b51ec4db8e" > ivec_hist< / a > (size_t n, const int *v, int vmax, int *hist)< / td > < / tr >
< tr class = "memdesc:a7bea462108bee98d8d5859b51ec4db8e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > compute histogram on v < br / > < / td > < / tr >
< tr class = "separator:a7bea462108bee98d8d5859b51ec4db8e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a154a47857ed321b9db91122770a16e09" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a154a47857ed321b9db91122770a16e09" > bincode_hist< / a > (size_t n, size_t nbits, const uint8_t *codes, int *hist)< / td > < / tr >
< tr class = "separator:a154a47857ed321b9db91122770a16e09" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a4369329c9dbdfe23e3f35d09ba7b5c6e" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a4369329c9dbdfe23e3f35d09ba7b5c6e" > < / a >
size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a4369329c9dbdfe23e3f35d09ba7b5c6e" > ivec_checksum< / a > (size_t n, const int *a)< / td > < / tr >
< tr class = "memdesc:a4369329c9dbdfe23e3f35d09ba7b5c6e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > compute a checksum on a table. < br / > < / td > < / tr >
< tr class = "separator:a4369329c9dbdfe23e3f35d09ba7b5c6e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a027b726c606d329c30840e51b539ddb4" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a027b726c606d329c30840e51b539ddb4" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_argsort< / b > (size_t n, const float *vals, size_t *perm)< / td > < / tr >
< tr class = "separator:a027b726c606d329c30840e51b539ddb4" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0e967dd8492dc074a7d6950d437e53a2" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a0e967dd8492dc074a7d6950d437e53a2" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_argsort_parallel< / b > (size_t n, const float *vals, size_t *perm)< / td > < / tr >
< tr class = "separator:a0e967dd8492dc074a7d6950d437e53a2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a40328c31abd0bbba5bd95d7de951e847" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a40328c31abd0bbba5bd95d7de951e847" > fvec_madd< / a > (size_t n, const float *a, float bf, const float *b, float *c)< / td > < / tr >
< tr class = "separator:a40328c31abd0bbba5bd95d7de951e847" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9da63b8bb84460f5e8ccf8e17622cc7a" > < td class = "memItemLeft" align = "right" valign = "top" > int  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a9da63b8bb84460f5e8ccf8e17622cc7a" > fvec_madd_and_argmin< / a > (size_t n, const float *a, float bf, const float *b, float *c)< / td > < / tr >
< tr class = "separator:a9da63b8bb84460f5e8ccf8e17622cc7a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa3af5769b0b649f112332a874c64d361" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "aa3af5769b0b649f112332a874c64d361" > < / a >
size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#aa3af5769b0b649f112332a874c64d361" > get_mem_usage_kb< / a > ()< / td > < / tr >
< tr class = "memdesc:aa3af5769b0b649f112332a874c64d361" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > get current RSS usage in kB < br / > < / td > < / tr >
< tr class = "separator:aa3af5769b0b649f112332a874c64d361" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1f0c0270de04cc395edd3d2823d0128d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a1f0c0270de04cc395edd3d2823d0128d" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_inner_products_ny< / b > (float *ip, const float *x, const float *y, size_t d, size_t ny)< / td > < / tr >
< tr class = "separator:a1f0c0270de04cc395edd3d2823d0128d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a40265aa2cbbe57e5b223c2c7dafac31f" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#a40265aa2cbbe57e5b223c2c7dafac31f" > fvec_norms_L2< / a > (float *ip, const float *x, size_t d, size_t nx)< / td > < / tr >
< tr class = "separator:a40265aa2cbbe57e5b223c2c7dafac31f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:abce90e9d55d6838c7a37422285192d54" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "abce90e9d55d6838c7a37422285192d54" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespacefaiss.html#abce90e9d55d6838c7a37422285192d54" > fvec_norms_L2sqr< / a > (float *ip, const float *x, size_t d, size_t nx)< / td > < / tr >
< tr class = "memdesc:abce90e9d55d6838c7a37422285192d54" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > same as fvec_norms_L2, but computes square norms < br / > < / td > < / tr >
< tr class = "separator:abce90e9d55d6838c7a37422285192d54" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1d81952ec447e6886d2fd3b930fdc096" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a1d81952ec447e6886d2fd3b930fdc096" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > fvec_renorm_L2< / b > (size_t d, size_t nx, float *x)< / td > < / tr >
< tr class = "separator:a1d81952ec447e6886d2fd3b930fdc096" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab7c6da3d6915a010d5d3074d93878ce9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab7c6da3d6915a010d5d3074d93878ce9" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > reflection< / b > (const float *u, float *x, size_t n, size_t d, size_t nu)< / td > < / tr >
< tr class = "separator:ab7c6da3d6915a010d5d3074d93878ce9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "var-members" > < / a >
Variables< / h2 > < / td > < / tr >
< tr class = "memitem:a8cd23fc7d944b9cfe8b498a4b35bc558" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8cd23fc7d944b9cfe8b498a4b35bc558" > < / a >
int  < / td > < td class = "memItemRight" valign = "bottom" > < b > read_old_fmt_hack< / b > = 0< / td > < / tr >
< tr class = "separator:a8cd23fc7d944b9cfe8b498a4b35bc558" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2d6b069b2590a195d078d696cba14284" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a2d6b069b2590a195d078d696cba14284" > < / a >
< a class = "el" href = "structfaiss_1_1IndexIVFPQStats.html" > IndexIVFPQStats< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < b > indexIVFPQ_stats< / b > < / td > < / tr >
< tr class = "separator:a2d6b069b2590a195d078d696cba14284" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aefa127b38407a74770a4b7cfb50ca87d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "aefa127b38407a74770a4b7cfb50ca87d" > < / a >
< a class = "el" href = "structfaiss_1_1IndexPQStats.html" > IndexPQStats< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < b > indexPQ_stats< / b > < / td > < / tr >
< tr class = "separator:aefa127b38407a74770a4b7cfb50ca87d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
< div class = "textblock" > < p > Copyright (c) 2015-present, Facebook, Inc. All rights reserved.< / p >
< p > This source code is licensed under the CC-by-NC license found in the LICENSE file in the root directory of this source tree.< / p >
< p > Copyright (c) 2015-present, Facebook, Inc. All rights reserved.< / p >
< p > This source code is licensed under the CC-by-NC license found in the LICENSE file in the root directory of this source tree.Multi-dimensional array class for CUDA device and host usage. Originally from Facebook's fbcunn, since added to the Torch GPU library cutorch as well.< / p >
< p > Copyright (c) 2015-present, Facebook, Inc. All rights reserved.< / p >
< p > This source code is licensed under the CC-by-NC license found in the LICENSE file in the root directory of this source tree.< / p >
< p > Throughout the library, vectors are provided as float * pointers. Most algorithms can be optimized when several vectors are processed (added/searched) together in a batch. In this case, they are passed in as a matrix. When n vectors of size d are provided as float * x, component j of vector i is< / p >
< p > x[ i * d + j ]< / p >
< p > where 0 < = i < n and 0 < = j < d. In other words, matrices are always compact. When specifying the size of the matrix, we call it an n*d matrix, which implies a row-major storage.< / p >
< p > Copyright (c) 2015-present, Facebook, Inc. All rights reserved.< / p >
< p > This source code is licensed under the CC-by-NC license found in the LICENSE file in the root directory of this source tree. Copyright 2004-present Facebook. All Rights Reserved -*- c++ -*-< / p >
< p > A few utilitary functions for similarity search:< / p >
< ul >
< li > random generators< / li >
< li > optimized exhaustive distance and knn search functions< / li >
< li > some functions reimplemented from torch for speed< / li >
< / ul >
< p > Copyright (c) 2015-present, Facebook, Inc. All rights reserved.< / p >
< p > This source code is licensed under the CC-by-NC license found in the LICENSE file in the root directory of this source tree. Defines a few objects that apply transformations to a set of vectors Often these are pre-processing steps. < / p >
< / div > < h2 class = "groupheader" > Function Documentation< / h2 >
< a class = "anchor" id = "a154a47857ed321b9db91122770a16e09" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::bincode_hist < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nbits< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > codes< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int *  < / td >
< td class = "paramname" > < em > hist< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Compute histogram of bits on a code array< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > codes< / td > < td > size(n, nbits / 8) < / td > < / tr >
< tr > < td class = "paramname" > hist< / td > < td > size(nbits): nb of 1s in the array of codes < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01467" > 1467< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a40328c31abd0bbba5bd95d7de951e847" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::fvec_madd < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > a< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float  < / td >
< td class = "paramname" > < em > bf< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > b< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > c< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > compute c := a + bf * b for a, b and c tables< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > n< / td > < td > size of the tables < / td > < / tr >
< tr > < td class = "paramname" > a< / td > < td > size n < / td > < / tr >
< tr > < td class = "paramname" > b< / td > < td > size n < / td > < / tr >
< tr > < td class = "paramname" > c< / td > < td > restult table, size n < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01707" > 1707< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a9da63b8bb84460f5e8ccf8e17622cc7a" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > int faiss::fvec_madd_and_argmin < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > a< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float  < / td >
< td class = "paramname" > < em > bf< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > b< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > c< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > same as fvec_madd, also return index of the min of the result table < / p >
< dl class = "section return" > < dt > Returns< / dt > < dd > index of the min of table c < / dd > < / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01781" > 1781< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a7a49180ebf10e643217bbce5862c7f84" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > float faiss::fvec_norm_L2sqr < / td >
< td > (< / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > squared norm of a vector < / p >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l00511" > 511< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a40265aa2cbbe57e5b223c2c7dafac31f" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::fvec_norms_L2 < / td >
< td > (< / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > ip< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nx< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > compute the L2 norms for a set of vectors< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > ip< / td > < td > output norms, size nx < / td > < / tr >
< tr > < td class = "paramname" > x< / td > < td > set of vectors, size nx * d < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a class = "anchor" id = "ae81da42f6f40356f7525917b3acb54c8" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::generalized_hammings_knn < / td >
< td > (< / td >
< td class = "paramtype" > int_maxheap_array_t *  < / td >
< td class = "paramname" > < em > ha< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > a< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > b< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nb< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > code_size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > ordered< / em > = < code > true< / code >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > generalized Hamming distances (= count number of code bytes that are the same) < / p >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "hamming_8cpp_source.html#l00635" > 635< / a > of file < a class = "el" href = "hamming_8cpp_source.html" > hamming.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a0832c5ab58f4d1a340b0bde273c5b501" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::hammings < / td >
< td > (< / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > a< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > b< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > na< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nb< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nbytespercode< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > hamdis_t *  < / td >
< td class = "paramname" > < em > dis< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Compute a set of Hamming distances between na and nb binary vectors< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > a< / td > < td > size na * nbytespercode < / td > < / tr >
< tr > < td class = "paramname" > b< / td > < td > size nb * nbytespercode < / td > < / tr >
< tr > < td class = "paramname" > nbytespercode< / td > < td > should be multiple of 8 < / td > < / tr >
< tr > < td class = "paramname" > dis< / td > < td > output distances, size na * nb < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a class = "anchor" id = "ac0b4dc73a8470d61f510396dc460ca18" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::hammings_knn < / td >
< td > (< / td >
< td class = "paramtype" > int_maxheap_array_t *  < / td >
< td class = "paramname" > < em > ha< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > a< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > b< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nb< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > ncodes< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > ordered< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Return the k smallest Hamming distances for a set of binary query vectors < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > a< / td > < td > queries, size ha-> nh * ncodes < / td > < / tr >
< tr > < td class = "paramname" > b< / td > < td > database, size nb * ncodes < / td > < / tr >
< tr > < td class = "paramname" > nb< / td > < td > number of database vectors < / td > < / tr >
< tr > < td class = "paramname" > ncodes< / td > < td > size of the binary codes (bytes) < / td > < / tr >
< tr > < td class = "paramname" > ordered< / td > < td > if != 0: order the results by decreasing distance (may be bottleneck for k/n > 0.01) < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "hamming_8cpp_source.html#l00475" > 475< / a > of file < a class = "el" href = "hamming_8cpp_source.html" > hamming.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a1d40aec5723474516de576263cc03048" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< class C > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::heap_pop < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > k< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::T *  < / td >
< td class = "paramname" > < em > bh_val< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::TI *  < / td >
< td class = "paramname" > < em > bh_ids< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Pops the top element from the heap defined by bh_val[0..k-1] and bh_ids[0..k-1]. on output the element at k-1 is undefined. < / p >
< p > Definition at line < a class = "el" href = "Heap_8h_source.html#l00091" > 91< / a > of file < a class = "el" href = "Heap_8h_source.html" > Heap.h< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "acbe85976d4f73309622f6b62c4d7af2b" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< class C > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::heap_push < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > k< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::T *  < / td >
< td class = "paramname" > < em > bh_val< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::TI *  < / td >
< td class = "paramname" > < em > bh_ids< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::T  < / td >
< td class = "paramname" > < em > val< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::TI  < / td >
< td class = "paramname" > < em > ids< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Pushes the element (val, ids) into the heap bh_val[0..k-2] and bh_ids[0..k-2]. on output the element at k-1 is defined. < / p >
< p > Definition at line < a class = "el" href = "Heap_8h_source.html#l00127" > 127< / a > of file < a class = "el" href = "Heap_8h_source.html" > Heap.h< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "a0c95ec47726f2ce3fb668dcb1f9a3317" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > * faiss::index_factory < / td >
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const char *  < / td >
< td class = "paramname" > < em > description< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > MetricType  < / td >
< td class = "paramname" > < em > metric< / em > = < code > METRIC_L2< / code >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Build and index with the sequence of processing steps described in the string. < / p >
< p > Definition at line < a class = "el" href = "AutoTune_8cpp_source.html#l00623" > 623< / a > of file < a class = "el" href = "AutoTune_8cpp_source.html" > AutoTune.cpp< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "ad1cfbe51f2d77dc5094e0140f5955165" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > int faiss::km_update_centroids < / td >
< td > (< / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > centroids< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long *  < / td >
< td class = "paramname" > < em > assign< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > k< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > n< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > For k-means: update stage. Returns nb of split clusters. < / p >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01286" > 1286< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a38bd0dde8a1b229201a5fcb64d05daa6" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > float faiss::kmeans_clustering < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > k< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > centroids< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > simplified interface< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > d< / td > < td > dimension of the data < / td > < / tr >
< tr > < td class = "paramname" > n< / td > < td > nb of training vectors < / td > < / tr >
< tr > < td class = "paramname" > k< / td > < td > nb of output centroids < / td > < / tr >
< tr > < td class = "paramname" > x< / td > < td > training set (size n * d) < / td > < / tr >
< tr > < td class = "paramname" > centroids< / td > < td > output centroids (size k * d) < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > final quantization error < / dd > < / dl >
< p > Definition at line < a class = "el" href = "Clustering_8cpp_source.html#l00204" > 204< / a > of file < a class = "el" href = "Clustering_8cpp_source.html" > Clustering.cpp< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "a880c7318971f866267a86945aaa61b17" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::knn_inner_product < / td >
< td > (< / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > y< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nx< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > ny< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float_minheap_array_t *  < / td >
< td class = "paramname" > < em > res< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Return the k nearest neighors of each of the nx vectors x among the ny vector y, w.r.t to max inner product< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > x< / td > < td > query vectors, size nx * d < / td > < / tr >
< tr > < td class = "paramname" > y< / td > < td > database vectors, size ny * d < / td > < / tr >
< tr > < td class = "paramname" > res< / td > < td > result array, which also provides k. Sorted on output < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l00830" > 830< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a2f803e3d3b07cfab63699c89de161237" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::knn_L2sqr < / td >
< td > (< / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > y< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nx< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > ny< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float_maxheap_array_t *  < / td >
< td class = "paramname" > < em > res< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Same as knn_inner_product, for the L2 distance < / p >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l00850" > 850< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a5eb1701e46123827966f2a56da893d1d" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::knn_L2sqr_base_shift < / td >
< td > (< / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > y< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nx< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > ny< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float_maxheap_array_t *  < / td >
< td class = "paramname" > < em > res< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > base_shift< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > same as knn_L2sqr, but base_shift[bno] is subtracted to all computed distances.< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > base_shift< / td > < td > size ny < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l00870" > 870< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "afb68fe89ad5e948974da1b70d7b4157c" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::matrix_qr < / td >
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > m< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > a< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > compute the Q of the QR decomposition for m > n < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > a< / td > < td > size n * m: input matrix and output Q < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01206" > 1206< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a3d9c7db82d43c1f0ab1d28b92bc9fe57" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::pairwise_L2sqr < / td >
< td > (< / td >
< td class = "paramtype" > long  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long  < / td >
< td class = "paramname" > < em > nq< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > xq< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long  < / td >
< td class = "paramname" > < em > nb< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > xb< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > dis< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long  < / td >
< td class = "paramname" > < em > ldq< / em > = < code > -1< / code > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long  < / td >
< td class = "paramname" > < em > ldb< / em > = < code > -1< / code > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long  < / td >
< td class = "paramname" > < em > ldd< / em > = < code > -1< / code >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Compute pairwise distances between sets of vectors< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > d< / td > < td > dimension of the vectors < / td > < / tr >
< tr > < td class = "paramname" > nq< / td > < td > nb of query vectors < / td > < / tr >
< tr > < td class = "paramname" > nb< / td > < td > nb of database vectors < / td > < / tr >
< tr > < td class = "paramname" > xq< / td > < td > query vectors (size nq * d) < / td > < / tr >
< tr > < td class = "paramname" > xb< / td > < td > database vectros (size nb * d) < / td > < / tr >
< tr > < td class = "paramname" > dis< / td > < td > output distances (size nq * nb) < / td > < / tr >
< tr > < td class = "paramname" > ldq,ldb,ldd< / td > < td > strides for the matrices < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01228" > 1228< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a7c5553442c8b9342a0ad449e2b67f275" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< class C > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::partial_sort < / td >
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > k< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const typename C::T *  < / td >
< td class = "paramname" > < em > vals< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > typename C::TI *  < / td >
< td class = "paramname" > < em > perm< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Array has n values. Sort the k first ones and copy the other ones into elements k..n-1 < / p >
< p > Definition at line < a class = "el" href = "IndexPQ_8cpp_source.html#l00528" > 528< / a > of file < a class = "el" href = "IndexPQ_8cpp_source.html" > IndexPQ.cpp< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "a1faa7bd079c9b1addf3058ddf882a000" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::range_search_L2sqr < / td >
< td > (< / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > y< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > d< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > nx< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > ny< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float  < / td >
< td class = "paramname" > < em > radius< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > RangeSearchResult *  < / td >
< td class = "paramname" > < em > result< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Return the k nearest neighors of each of the nx vectors x among the ny vector y, w.r.t to max inner product< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > x< / td > < td > query vectors, size nx * d < / td > < / tr >
< tr > < td class = "paramname" > y< / td > < td > database vectors, size ny * d < / td > < / tr >
< tr > < td class = "paramname" > radius< / td > < td > search radius around the x vectors < / td > < / tr >
< tr > < td class = "paramname" > result< / td > < td > result structure < / td > < / tr >
< / table >
< / dd >
< / dl >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01151" > 1151< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "ae0ee1b6fbd3d6da0f1a3550a780ca24c" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::ranklist_handle_ties < / td >
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > k< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > long *  < / td >
< td class = "paramname" > < em > idx< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > dis< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > distances are supposed to be sorted. Sorts indices with same distance < / p >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01378" > 1378< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "a8dbc652ba48d41f126b8815004899448" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > size_t faiss::ranklist_intersection_size < / td >
< td > (< / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > k1< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const long *  < / td >
< td class = "paramname" > < em > v1< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > k2< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const long *  < / td >
< td class = "paramname" > < em > v2< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > count the number of comon elements between v1 and v2 algorithm = sorting + bissection to avoid double-counting duplicates < / p >
2017-02-25 00:32:08 +08:00
< p > Definition at line < a class = "el" href = "utils_8cpp_source.html#l01394" > 1394< / a > of file < a class = "el" href = "utils_8cpp_source.html" > utils.cpp< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< a class = "anchor" id = "aa46fe38a858ecfde7e0fc0744939d5ad" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > * faiss::read_index < / td >
< td > (< / td >
< td class = "paramtype" > FILE *  < / td >
< td class = "paramname" > < em > f< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > bool  < / td >
< td class = "paramname" > < em > try_mmap< / em > = < code > false< / code >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > mmap'ing currently works only for < a class = "el" href = "structfaiss_1_1IndexIVFPQCompact.html" > IndexIVFPQCompact< / a > , the < a class = "el" href = "structfaiss_1_1IndexIVFPQCompact.html" > IndexIVFPQCompact< / a > destructor will unmap the file. < / p >
< p > Definition at line < a class = "el" href = "index__io_8cpp_source.html#l00476" > 476< / a > of file < a class = "el" href = "index__io_8cpp_source.html" > index_io.cpp< / a > .< / p >
< / div >
< / div >
< / div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
Generated by   < a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / >
< / a > 1.8.5
< / small > < / address >
< / body >
< / html >