The following approximate breakdown into the different parts of Gecode gives some statistics about the amount of code and documentation contained in the code (as comments) where blank lines are excluded.
The abbreviation "loc" means "lines of code" and "lod" means "lines of
documentation".
- Kernel: 162 classes, 11420 loc, 7444 lod
- Core functionality: 38 classes, 3285 loc, 2088 lod
- Memory management: 11 classes, 746 loc, 885 lod
- Variables, views, and variable implementations: 18 classes, 1389 loc, 804 lod
- Propagators: 16 classes, 1002 loc, 445 lod
- Branchers: 37 classes, 2219 loc, 1416 lod
- Miscellaneous: 42 classes, 2779 loc, 1806 lod
- Search engines: 66 classes, 4411 loc, 3556 lod
- Sequential search engines: 7 classes, 780 loc, 437 lod
- Parallel search engines: 8 classes, 1112 loc, 748 lod
- Meta-search engines: 16 classes, 1319 loc, 863 lod
- Miscellaneous: 35 classes, 1200 loc, 1508 lod
- Integer and Boolean variables and constraints: 505 classes, 46556 loc, 24296 lod
- Variables, views, and variable implementations: 29 classes, 5604 loc, 3257 lod
- Propagators: 359 classes, 28513 loc, 14281 lod
- Branchers: 43 classes, 3116 loc, 1361 lod
- Posting propagators for constraints: 36 classes, 8139 loc, 4547 lod
- Miscellaneous: 38 classes, 1184 loc, 850 lod
- Set variables and constraints: 107 classes, 13922 loc, 8736 lod
- Variables, views, and variable implementations: 30 classes, 3507 loc, 2045 lod
- Propagators: 28 classes, 6105 loc, 3453 lod
- Branchers: 17 classes, 1399 loc, 998 lod
- Posting propagators for constraints: 17 classes, 2435 loc, 1733 lod
- Miscellaneous: 15 classes, 476 loc, 507 lod
- Float variables and constraints: 83 classes, 6910 loc, 5173 lod
- Variables, views, and variable implementations: 6 classes, 1503 loc, 1177 lod
- Propagators: 32 classes, 2615 loc, 1494 lod
- Branchers: 11 classes, 714 loc, 647 lod
- Posting propagators for constraints: 15 classes, 1783 loc, 1392 lod
- Miscellaneous: 19 classes, 295 loc, 463 lod
- Minimal modeling support: 40 classes, 6464 loc, 2091 lod
- All: 40 classes, 6399 loc, 2017 lod
- Search: 0 classes, 65 loc, 74 lod
- Gist: 47 classes, 6427 loc, 2361 lod
- Script commandline driver: 24 classes, 1792 loc, 617 lod
- Range and value iterators: 49 classes, 2626 loc, 2491 lod
- Support algorithms and datastructures: 37 classes, 2419 loc, 2152 lod
- Example scripts: 104 classes, 94471 loc, 15755 lod
- Systematic tests: 580 classes, 84870 loc, 10131 lod
- Core functionality: 55 classes, 1799 loc, 749 lod
- Branchers: 25 classes, 1400 loc, 689 lod
- Integer and Boolean variables and constraints: 211 classes, 7514 loc, 2555 lod
- Set variables and constraints: 55 classes, 3771 loc, 995 lod
- Float variables and constraints: 87 classes, 2981 loc, 1014 lod
- Minimal modeling support: 43 classes, 13170 loc, 514 lod
- Search: 18 classes, 836 loc, 219 lod
- FlatZinc interpreter: 86 classes, 53399 loc, 3396 lod
- FlatZinc interpreter: 45 classes, 5615 loc, 807 lod
The grand total: 1849 classes, 287903 loc, 85610 lod