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: 180 classes, 13251 loc, 8118 lod
- Core functionality: 39 classes, 3801 loc, 2180 lod
- Memory management: 17 classes, 927 loc, 977 lod
- Variables, views, and variable implementations: 18 classes, 1544 loc, 838 lod
- Propagators: 14 classes, 887 loc, 426 lod
- Branchers: 47 classes, 2989 loc, 1660 lod
- Tracing support: 13 classes, 893 loc, 688 lod
- Miscellaneous: 32 classes, 2210 loc, 1349 lod
- Search engines: 87 classes, 6364 loc, 3990 lod
- Tracing support: 12 classes, 1126 loc, 345 lod
- Sequential search engines: 15 classes, 1538 loc, 936 lod
- Parallel search engines: 14 classes, 1715 loc, 945 lod
- Miscellaneous: 46 classes, 1985 loc, 1764 lod
- Integer and Boolean variables and constraints: 546 classes, 53575 loc, 24948 lod
- Variables, views, and variable implementations: 29 classes, 5956 loc, 3269 lod
- Propagators: 378 classes, 32687 loc, 14120 lod
- Branchers: 45 classes, 3498 loc, 1475 lod
- Posting propagators for constraints: 54 classes, 10158 loc, 5307 lod
- Tracing support: 4 classes, 327 loc, 316 lod
- Miscellaneous: 36 classes, 949 loc, 461 lod
- Set variables and constraints: 112 classes, 14446 loc, 8547 lod
- Variables, views, and variable implementations: 33 classes, 3573 loc, 2005 lod
- Propagators: 28 classes, 6131 loc, 3235 lod
- Branchers: 18 classes, 1555 loc, 1035 lod
- Posting propagators for constraints: 18 classes, 2690 loc, 1813 lod
- Tracing support: 2 classes, 189 loc, 209 lod
- Miscellaneous: 13 classes, 308 loc, 250 lod
- Float variables and constraints: 88 classes, 7458 loc, 5555 lod
- Variables, views, and variable implementations: 6 classes, 1554 loc, 1200 lod
- Propagators: 34 classes, 2815 loc, 1561 lod
- Branchers: 12 classes, 826 loc, 708 lod
- Posting propagators for constraints: 16 classes, 1924 loc, 1665 lod
- Tracing support: 2 classes, 130 loc, 172 lod
- Miscellaneous: 18 classes, 209 loc, 249 lod
- Minimal modeling support: 47 classes, 7300 loc, 2404 lod
- All: 47 classes, 7203 loc, 2338 lod
- Search: 0 classes, 97 loc, 66 lod
- Gist: 47 classes, 6457 loc, 2189 lod
- Script commandline driver: 27 classes, 2055 loc, 638 lod
- Range and value iterators: 49 classes, 2647 loc, 2345 lod
- Support algorithms and datastructures: 47 classes, 2654 loc, 2047 lod
- Example scripts: 115 classes, 239743 loc, 16156 lod
- Systematic tests: 696 classes, 89596 loc, 10627 lod
- Core functionality: 60 classes, 2066 loc, 826 lod
- Branchers: 27 classes, 1505 loc, 662 lod
- Integer and Boolean variables and constraints: 274 classes, 9435 loc, 2607 lod
- Set variables and constraints: 55 classes, 3862 loc, 944 lod
- Float variables and constraints: 98 classes, 3411 loc, 1029 lod
- Minimal modeling support: 47 classes, 13303 loc, 504 lod
- Search: 18 classes, 857 loc, 215 lod
- FlatZinc interpreter: 117 classes, 55157 loc, 3840 lod
- FlatZinc interpreter: 85 classes, 9598 loc, 1375 lod
- Propagators: 7 classes, 670 loc, 90 lod
- Branchers: 17 classes, 816 loc, 299 lod
- All: 49 classes, 6596 loc, 816 lod
- Miscellaneous: 12 classes, 1516 loc, 170 lod
The grand total: 2126 classes, 455144 loc, 88939 lod