예제 #1
0
 internal AStar(INeighborsProvider <T> neighborsProvider, IDistanceProvider <T> distanceBetweenProvider,
                IDistanceProvider <T> heuristicCostEstimateProvider)
 {
     _heuristicCostEstimateProvider = heuristicCostEstimateProvider;
     _neighborsProvider             = neighborsProvider;
     _distanceBetweenProvider       = distanceBetweenProvider;
 }
예제 #2
0
 public LvivTaxiService(IUberClient uber, IUklonClient uklon, IBoltClient bolt, ITaxi838Client taxi838,
                        IDistanceProvider distance, IRequestFactory factory, IOrderValidator validator, IOrderMapper mapper,
                        IHistoricalDataService historicalData)
 {
     _uber           = uber;
     _uklon          = uklon;
     _bolt           = bolt;
     _taxi838        = taxi838;
     _distance       = distance;
     _factory        = factory;
     _validator      = validator;
     _mapper         = mapper;
     _historicalData = historicalData;
 }
예제 #3
0
        public Task <NearestUser[]> GetNearestNeighbors(Embedding vector, int count, IDistanceProvider distanceProvider)
        {
            var result = this.storedValues
                         .Select(storedValue => new NearestUser()
            {
                Name     = storedValue.UserInfo.UserName,
                Distance = distanceProvider.Measure(storedValue.Embedding, vector)
            })
                         .OrderBy(elem => elem.Distance)
                         .Take(count)
                         .ToArray();

            return(Task.FromResult(result));
        }
예제 #4
0
 public AStarBuilder <T> Heuristic(Func <T, T, double> func)
 {
     _heuristic = new DistanceProvider(func);
     return(this);
 }
예제 #5
0
 public AStarBuilder <T> Heuristic(IDistanceProvider <T> provider)
 {
     _heuristic = provider;
     return(this);
 }
예제 #6
0
 public AStarBuilder <T> Distance(Func <T, T, double> func)
 {
     _distance = new DistanceProvider(func);
     return(this);
 }
예제 #7
0
 public AStarBuilder <T> Distance(IDistanceProvider <T> provider)
 {
     _distance = provider;
     return(this);
 }
예제 #8
0
 public StopSpeedGenerator(IDistanceProvider distProvider, double baseSpeed)
 {
     this.distProvider = distProvider;
     this.baseSpeed    = baseSpeed;
     this.stopped      = false;
 }
 public StopSpeedGenerator(IDistanceProvider distProvider, double baseSpeed)
 {
     this.distProvider = distProvider;
     this.baseSpeed = baseSpeed;
     this.stopped = false;
 }