Commit Graph

31 Commits

Author SHA1 Message Date
Jonathan G Rennison
674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 2019-04-11 18:14:13 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Jonathan G Rennison
e735c1a51a Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/autoreplace_cmd.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_rail.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/script_station.hpp
#	src/track_func.h
#	src/vehicle_base.h
2018-11-05 12:53:36 +00:00
Charles Pigott
f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Jonathan G Rennison
cd68e9fac7 Linkgraph: Do not pre-fill annos set at start of MCF Dijkstra 2018-01-15 22:40:54 +00:00
Jonathan G Rennison
4a420ef864 Linkgraph: Use cached value in capacity annotation comparison 2018-01-15 22:40:54 +00:00
Jonathan G Rennison
117b56caeb Linkgraph: Replace a std::list with a std::vector. 2017-02-08 22:08:39 +00:00
Jonathan G Rennison
c86a027e88 Linkgraph: Use an arena allocator for path objects.
Fixes leaks when job is aborted early.
2017-02-08 22:03:59 +00:00
Jonathan G Rennison
3f2c561867 Linkgraph: Add support for aborting MCF passes early. 2017-02-08 22:00:35 +00:00
Jonathan G Rennison
9d5f34fea6 Replace various uses of std::set/map with btree containers. 2017-02-08 00:18:09 +00:00
Jonathan G Rennison
7b56097f50 Merge branch 'master' into jgrpp
# Conflicts:
#	config.lib
#	src/linkgraph/demands.cpp
#	src/linkgraph/mcf.cpp
#	src/linkgraph/refresh.cpp
#	src/linkgraph/refresh.h
#	src/smallmap_gui.cpp
2016-07-24 10:16:55 +01:00
fonsinchen
022b284064 (svn r27613) -Codechange: Use a flat vector instead of a map in FlowEdgeIterator. (JGR) 2016-07-10 12:03:23 +00:00
fonsinchen
a81b7a24a6 (svn r27613) -Codechange: Use a flat vector instead of a map in FlowEdgeIterator. (JGR) 2016-07-10 12:03:23 +00:00
fonsinchen
bcdae9a093 (svn r27611) -Codechange: Cache the calculated value of CapacityAnnotation 2016-07-10 11:53:43 +00:00
fonsinchen
8d5566651b (svn r27611) -Codechange: Cache the calculated value of CapacityAnnotation 2016-07-10 11:53:43 +00:00
Jonathan G Rennison
58b6bf16c3 Linkgraph: Enable MCF custom allocator only for GCC 4.9+
Earlier compilers don't use std::allocator_traits to query allocators.
2015-11-29 19:10:16 +00:00
Jonathan G Rennison
e22e1df939 Store annotation and node ID in set key, to reduce ptr derefs on sort.
Store the set iterator in the node, for faster erasing during forks.

Use a custom pool allocator to store set nodes contiguously.
2015-11-27 01:02:55 +00:00
Jonathan G Rennison
0fb79a8f15 Use a flat vector instead of a map in FlowEdgeIterator.
This reduced the cost of Dijkstra<CapacityAnnotation> by approx. 25%,
in a test profiling.
2015-11-26 18:23:10 +00:00
Jonathan G Rennison
564744d427 Cache the calculated value of CapacityAnnotation.
This is because CapacityAnnotation::Comparator::operator()
was appearing at the top of profiler output due to regenerating
the annotation value on every comparison when performing a set operation.
2015-11-25 23:05:55 +00:00
frosch
a14b836bf2 (svn r27178) -Fix [FS#5969]: Data race due to lazy initialisation of objects. 2015-03-07 18:27:01 +00:00
frosch
780e595933 (svn r27178) -Fix [FS#5969]: Data race due to lazy initialisation of objects. 2015-03-07 18:27:01 +00:00
rubidium
0c2f4bdc2b (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 2014-10-15 18:31:37 +00:00
rubidium
d534c80e94 (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 2014-10-15 18:31:37 +00:00
fonsinchen
ef2caa02b2 (svn r26646) -Fix [FS#6041]: Save locations instead of distances in link graphs to reduce size. 2014-06-14 13:35:39 +00:00
fonsinchen
957f5ca117 (svn r26646) -Fix [FS#6041]: Save locations instead of distances in link graphs to reduce size. 2014-06-14 13:35:39 +00:00
rubidium
2be4215f43 (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
rubidium
0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
fonsinchen
6580fd4b8f (svn r25885) -Codechange: Keep paths sorted so that the ones with flow == 0 are in the back and don't have to be iterated over so often. 2013-10-19 17:15:19 +00:00
fonsinchen
b3b460cae2 (svn r25885) -Codechange: Keep paths sorted so that the ones with flow == 0 are in the back and don't have to be iterated over so often. 2013-10-19 17:15:19 +00:00
fonsinchen
1cc410f7bb (svn r25356) -Add: Multi-Commodity-Flow solver for link graph 2013-06-09 13:00:41 +00:00
fonsinchen
9824d53d6a (svn r25356) -Add: Multi-Commodity-Flow solver for link graph 2013-06-09 13:00:41 +00:00