#165 should've really been multiple independent pull requests.
Summary:
- update to BinningAnalysis 0.6
- Lattices got reworked to a similar structure as LatticePhysics.jl.
- unit cell information is now present
- loading and saving is faster and simpler
- lattice_iterator_cache moved to the lattice in a mutable form (Dict). This makes it easy to adjust/add new cached objects, but requires type annotations to be fast
- lattice indices have switched to have fast Bravais indices and slow unit cell indices. This is useful for some lattice iterators
- Measurement optimizations/changes
- fix prefactors in time integration
- added a flavor iterator to take those sums out of kernels when possible. (Flavors are a slow index in the greens matrix)
- added specialization for different greens function types
- more performance annotations (inbounds, fastmath, inline, propagate_inbounds, simd)
- added EachBondPairByDistance to speed up current current susceptibilities (which now beat pairing susceptibilities)
- added a restructuring procedure that maps
G[src, trg]
toG[src, dir]
- Created MonteCarloAnylsis.jl and moved a bunch of the postprocessing/analysis stuff over there. This should make MonteCarlo.jl a bit lighter on dependencies.
- Improved performance of file io
- Some general cleanup/improvements/tweaks