| 547 | using NGT::GraphOptimizer::GraphOptimizer; |
| 548 | |
| 549 | int optimizeNumberOfEdgesForANNG( |
| 550 | const std::string path, // anng index path |
| 551 | int numOfQueries, |
| 552 | int numOfResults, |
| 553 | int numOfThreads, |
| 554 | float targetAccuracy, |
| 555 | int targetNoOfObjects, |
| 556 | int numOfSampleObjects, |
| 557 | int maxNoOfEdges) { |
| 558 | |
| 559 | NGT::GraphOptimizer::ANNGEdgeOptimizationParameter p; |
| 560 | |
| 561 | p.noOfQueries = numOfQueries > 0 ? numOfQueries : p.noOfQueries; |
| 562 | p.noOfResults = numOfResults > 0 ? numOfResults : p.noOfResults; |
| 563 | p.noOfThreads = numOfThreads >= 0 ? numOfThreads : p.noOfThreads; |
| 564 | p.targetAccuracy = targetAccuracy > 0.0 ? targetAccuracy : p.targetAccuracy; |
| 565 | p.targetNoOfObjects = targetNoOfObjects >= 0 ? targetNoOfObjects : p.targetNoOfObjects; |
| 566 | p.noOfSampleObjects = numOfSampleObjects > 0 ? numOfSampleObjects : p.noOfSampleObjects; |
| 567 | p.maxNoOfEdges = maxNoOfEdges > 0 ? maxNoOfEdges : p.maxNoOfEdges; |
| 568 | |
| 569 | auto edge = NGT::GraphOptimizer::optimizeNumberOfEdgesForANNG(path, p); |
| 570 | if (!logDisabled) { |
| 571 | std::cerr << "the optimized number of edges is" << edge.first << "(" << edge.second << ")" << std::endl; |
| 572 | } |
| 573 | return edge.first; |
| 574 | } |
| 575 | |
| 576 | }; |
| 577 |
nothing calls this directly
no outgoing calls
no test coverage detected