msg-byu / enumlib

Derivative structure enumeration library
MIT License
59 stars 34 forks source link

Implemented polya.x. Fixed bugs introduced by previous merge. See HISTORY.md #25

Closed wsmorgan closed 8 years ago

wsmorgan commented 8 years ago

Updates from revision history.

## Revision 1.0.1
- Updated the polya submodule.

## Revision 1.0.0
- Fixed the new functions so they compile with ifort as well.

- Made the aperms argument of get_rotation_perms_lists optional to fix
  a compiler issue.

- Fixed sort_conts so it places the arrows species at the end of the
  list and moved it into the heapsort interface.

- Implemented a polya.x function in the code that can be compiled
  independently from enum.x. This program prints the polya predictions
  for the cell sizes.

## Revision 0.1.3
- Removed the now redundant files src/itertools.f90 and
  src/classes.f90 and the reference to them in the Makefile.

- Added comments to multiple subroutines in tree_class.f90.

- Updated the arrow enumeration code so that it can handle 2D and 3D enumerations properly.

## Revision 0.1.2
- Added checks on all allocations that were added for the arrowed enumeration and the recursively stabilized enumeration.
- Changed the indexing variable names to be more descriptive.
- Made some of the comments and documentation in the recursively stabilized enum code more helpful.
- Changed write_single_labeling, in labeling_related.f90, to take an optional arrow_labeling argument so that when arrows are present it will write out the arrow labeling as well. Removed write_arrow_labeling from arrow_related.f90.

- Added symlib and polya as submodules of enumlib. Updated the Makefile te reflect the change.

- Fixed the default cutoff for the switch from enum3 to enum4 when site restrictions are present.

- Removed the check for a single element enumeration in enum4. (The code now works even for a single element enumeration without this check being present.)
wsmorgan commented 8 years ago

This code improvement is not yet ready for distribution and will need to be shelved until such a time as it can be fully unit tested before implementation.